3
200000 1000000000
667632299 353273283 351069475 744091489 867902931 302399021 726843331 96564449 946282359 138078325 995720215 310001547 299855639 468354125 529846871 715893987 542020313 829812303 325115357 906969049 560186511 293705467 740495915 909007297 991061165 94712761 622821869 909624151 613887827 84121565 284040693 716394945 366672201 518524829 403324993 471722381 495030015 736612125 921562355 321739183 372117387 17438565 387010901 60679303 996484523 436654951 389749979 578190039 104606921 668688637 752093729 344612045 924826611 971300325 985123817 835258623 378502369 623642315 270460959 522988905 881239281 384776769 46303959 244691059 106349099 173068733 752602443 835427303 926903869 152000675 434747101 323381245 382501761 994767675 654207005 982128209 97061875 278250423 808326073 589471463 814341693 416327985 79797647 270589743 54367403 387166375 276567969 571932411 167080505 513900037 504718107 313704331 331446145 716056861 490122577 20233347 149095887 27906725 6213821 776320241 683476495 878125377 618947587 455076425 567176153 603266169 424336109 16460137 56710253 72953791 991795569 832228247 896414641 522183019 891123367 684998527 246995253 656958399 975707605 266377781 48801073 312863205 816864611 377375291 265122693 125704431 732180455 882990705 571496117 483363539 417835291 922679079 948942579 732921205 783312611 314472211 567966995 298937245 659714123 418740815 639887257 242731515 481088643 856506725 874045353 922965549 603594219 798641213 521085971 710675887 289006337 488462639 238763599 261601517 315531637 477464057 695919995 747868727 29458199 21651647 45394269 289596103 129487075 75581709 922113897 747425727 726435837 313333979 373762993 795517735 923623601 735403909 974420471 506761967 908996465 56405713 220670115 893569011 813500887 441841643 308748227 855329523 10734505 515587687 642102285 349903769 412647377 699498309 258449379 64294773 478525793 176544747 966157385 109461249 650085527 485434147 479217649 832380575 761494995 704981027 936416817 425635223 485973155 837779337 112011273 987475225 281866937 95661659 329690911 422535489 478248175 10741509 760389829 94123023 333594187 588812381 62215919 849772653 715820279 983536801 410554173 389683499 509977927 251737205 350389751 398945283 988969139 814836709 153369357 518022807 937561315 372488553 94820115 933118829 71343775 641959645 373956173 167737083 526760667 728236165 366732703 214495895 528968115 976418319 67359641 61795715 98648425 70452115 807900017 303286759 863132009 149278859 851601929 572185047 977591109 777390301 54572775 547028555 150400955 306658263 339104057 333250595 873706413 767520045 588820185 685300523 353625381 631959549 780870467 712465681 563151447 378782157 108612257 735137393 792544415 12289417 719199423 63631819 986772863 196397191 708769817 404670599 515824037 620449667 615414985 499847161 263781855 981012387 435670939 239370329 748575277 546832247 610499323 275167175 281923249 368029679 796513281 707572559 384375989 780539757 779236203 489080287 300198831 310919347 397580453 363386707 976014391 629759471 684693177 299126123 618841873 576610745 256862049 377133775 733936171 318242313 348744699 328665619 927685013 671042889 465217679 567159981 205646475 260642117 176990925 458493955 720779889 278444593 935830283 422358617 646379473 420054443 400878407 188160483 669284705 237826487 8642603 706624955 45973241 179982277 237965317 212529889 596549789 635911081 38148557 225842493 528801659 765642399 982086175 161989281 670793955 817586765 102485575 378751433 31985489 198147009 880921393 675492691 747438953 634914929 171844215 884628681 42700535 473924407 668938581 784086431 889758701 501679963 374935477 593202729 114447205 757981065 281122595 856334509 44563109 855034583 174862297 786033745 536046615 609968579 950912951 727799847 176071245 65097009 10557249 784404011 496651523 919304045 683481769 262637115 382988319 686976815 770154181 592285473 141274791 570618515 557280789 955627919 661142995 963531293 202875839 487071007 728806909 142920125 659983509 539178319 988217255 821553605 779873803 714777227 552134779 729322485 615207233 585674021 112752721 33823857 515530239 309972051 356877855 888501959 111489459 424313657 543745805 743647979 82450551 650264031 322744675 442058299 768253961 105505847 911245717 571722877 840811725 270300953 966748477 893257437 57341143 404463433 207205409 210617073 95631069 527039085 135951659 864470453 160120125 506702359 374360431 724930705 294236413 36769473 858155815 681799247 653839057 507433165 835314869 543413799 480865803 380848003 124465575 95726259 729487277 33153045 717231025 682919165 892045663 748093083 217612713 708244845 97810029 383773977 464419481 925359323 269110483 361147509 903102631 95307653 916973099 130568065 375193127 777641487 44236479 475974135 705967255 299603591 159191167 705070969 245098905 650439521 843096065 78941839 100018679 367951483 103179653 942225321 642429095 61676057 682014705 101684773 734746049 641459691 809935319 727291199 738690953 158981125 92741737 983843107 120584555 760175587 661933197 24004065 89156347 646285675 630693829 783807603 943238899 943643627 930811713 121083323 537454647 55990553 936868571 81541503 972184787 724229135 693404175 655095157 78634743 138207317 676381447 892915763 148346881 611160791 923846545 637524539 271637365 505032429 817635365 73376503 169789947 226674511 649578719 18184631 52791913 117767975 417718923 280101045 353228473 691512063 95021973 24518163 524090641 213668303 754432791 912871127 342714039 939035635 293160397 488695287 843239715 891349551 903024927 515010377 269111021 607794867 361718303 658134159 744050907 127059987 934558849 536982643 230669525 789005387 968813989 58074501 286616305 288543169 642426773 402265405 16404587 842483779 167593469 474927361 250112675 910190597 148312373 954064151 815173671 51916453 124373819 900166063 210881961 334399529 101658811 950996453 228401923 791274493 575475199 670412985 300769339 461837303 818458113 583983123 935768699 76918611 647850335 328937927 978462997 632856505 17416033 733338765 324355717 451353651 608979701 504474885 824230769 952939577 95268277 98668731 794208673 53326501 973271261 811928349 60461321 838270655 917751383 613464711 784114371 368872245 417191857 638835001 475780117 428176153 617000225 722686043 633161577 426386155 551853705 265356033 724507987 616967567 557419119 446475043 985899403 497398099 351547137 874916513 275192313 987402475 361289495 622399047 630365093 690087541 991356721 508615363 237288387 397409909 630027895 400348593 130345135 552680667 626540981 139345039 340608235 920161275 807378535 411372491 932033571 806182289 503876007 518954929 850748459 950272453 949459775 542986623 61192187 83462689 518725791 828554323 282572987 776779419 186784733 347234873 577244339 556156051 179361977 411374879 720301145 394033099 134395289 597061087 121916229 987389809 763570829 725855037 715968827 244032795 794757709 708395743 833947943 269008839 175590199 937296985 316265501 427598551 838657619 806314529 187759191 17114397 267676751 985921693 151588921 690699211 69952133 703092497 316265805 913143679 439506929 852171441 553060167 262944061 223102525 841896341 644741381 489601397 532234423 906875841 982392197 263732985 167467351 763499547 940665589 798510089 58478521 220072311 994651561 182452041 499109929 520664459 694169885 193498311 298447507 357947387 384219377 511496953 445058447 530060623 226245105 442435001 19399005 284380153 211922707 814691151 187838693 178796883 732782703 352976743 955413683 371308187 620601417 328307223 156516353 4512253 452856847 1757403 61993903 389395851 514895697 227701147 901550401 704262203 17987275 379572641 630362089 861926641 836013411 875615397 711068029 681804149 964508959 566151617 502803325 570470265 916977207 843146879 86842895 240901013 234003459 57424839 769863939 217246285 711488009 775063793 541323985 299940103 938617075 662803131 905976727 936517397 205048211 327997001 842498077 379647665 286748647 10043433 357322961 553605629 234760207 168486223 323887309 318318593 490326873 390302233 426498765 356517807 329829687 446539085 531771451 383763167 220785731 867711255 547898403 608035155 590081347 278203403 328267329 788048309 924238369 507467819 99642865 930254997 893054703 322311127 521397561 314637167 47451371 965574367 366961611 924119455 468075893 236178809 435129343 814845299 652938523 423761727 148418513 679576347 5243535 185801273 983159273 112035247 824589229 548671445 813934743 938696753 111428215 432432101 695576277 447394443 839581721 838234535 945023293 484279437 719640551 85847235 331117849 83509489 116893787 221990981 135104345 451763801 652844567 652070305 119925651 860580941 936587497 322238387 904697605 589223485 298033859 665926085 654778779 227750021 315869377 796000897 528043231 821599589 975837223 441128187 394370313 785204231 151468893 414753203 631669243 347028347 19598071 702835597 284462139 230084027 912258739 572138199 782685689 8274089 591511155 64856135 520385033 193748747 999459649 87846391 228584175 849560471 614637139 382778991 43197389 729445347 720590337 272042907 609546103 835906929 536491215 839773137 721904995 299451049 158424171 613279437 654057133 117706207 703517347 417281719 263821089 805249611 871188089 885220121 813861931 292218127 663778571 358540779 242111459 71209521 204470949 852236937 148192265 147680679 41607611 136633015 929777923 382563397 957382635 743117733 580233955 903110865 831230707 394113765 312473181 96703731 591371203 355380599 765588433 506586171 160161643 876288703 459733063 721962275 770315815 637625227 340743279 113532939 869822555 449677583 116836255 425648701 134104979 346418153 764194007 715216109 216360319 457753885 180483517 44590639 926499071 339481371 592659361 673729545 794206481 143280311 841291387 23706467 172153317 775081517 913626599 359977739 479417291 641501733 940224561 3563711 507206209 602532521 602474311 616922141 342936807 74683441 988800445 419540401 356534923 823704215 67633111 138790889 602841629 698472995 59414647 528030753 96201661 391043201 328537649 173088663 815220139 739027401 255592505 896249465 483590483 92105587 547210097 61233875 52170311 121781097 36030815 26961827 80236867 70087415 58298673 979470791 145713965 531613649 438223039 979261195 133267981 850109717 598070153 10806557 236630039 102934087 195545525 144577687 571516581 306498135 237035795 651423741 160484669 688922263 398059037 960361141 926014601 215755721 898889965 557843987 404279133 214539533 364303437 22233677 138215347 129955059 508624557 299292551 618771885 814277231 408015139 875723977 53599897 27228639 871531629 839311621 619780073 854864393 848946677 247514133 239542329 259301145 297605833 355303863 114987083 264432037 966781089 510155929 317966347 818225579 304493275 598522183 117025677 978980239 741388159 275754815 699052555 956886301 47384123 175652831 18153705 674586253 45627241 846301041 402721969 162568057 558061829 950071335 993480215 199773675 676563895 308579609 550768887 857691467 324551121 21895497 350796627 193341299 341421639 660563105 984397913 891166109 183349179 242668275 220009305 257233263 886845299 738256117 34129615 506349045 92720733 379470155 175590751 837124263 41440273 180152189 417123539 850834531 929872847 324134653 664050463 721683561 28566909 586898467 542643551 440802667 400247467 766990643 680450263 980917373 350367633 653637971 345319407 465283611 889860111 638301589 372807485 537738541 337465513 240003571 591828605 180920829 379399567 439464527 833403791 31369539 260617627 436994929 760265599 906364697 229928779 623420939 406380419 195079175 154319813 618038709 179811315 386823163 799770073 10424305 384322389 779184455 48693501 823210281 154632017 649274283 212247123 178696109 877930429 574256969 29547937 539046583 165435285 701889459 710209623 964970857 786246649 647342299 738595465 762185163 11192119 374678047 358091769 255470541 710361023 933941059 358024463 862739019 551524657 891474295 205968857 196283911 285472077 360400975 995681037 819855013 679947005 789613767 963798795 951589309 389151577 653293637 713359581 123319747 786543767 9741719 337351471 612913945 127403805 934759411 527180633 677789963 418601591 3184115 481065563 438195399 112020055 350235807 994695643 593982569 868095897 844129891 612119851 913258995 826615615 324983829 660106813 495087689 110124917 957833715 834442423 607494209 79343245 611123871 16894171 781661075 498844165 4096555 975048857 457936353 197727101 551115015 968438923 846897585 958304707 592272661 218097903 608417657 211882953 116166297 707144875 69381263 558890923 457438525 37444175 240049205 882876843 53897499 470578449 147423379 645603637 132286893 818074067 207810493 47195613 158456025 788028955 215768747 936090717 994077163 40231191 142255165 221797783 661419165 787826849 972256831 109271449 699229703 342189621 73542239 515589783 38986159 981764093 475489081 280831977 334475397 639754693 863588685 782407443 261253597 799593479 487025157 114158273 723700341 176834275 251030191 713123271 412076911 709941533 889617289 605370911 248099163 634131751 183412403 900137453 834853679 692904985 854048051 520337019 446707525 773877421 501435901 712578365 907813479 142375505 189677291 483696335 164641981 331558927 393440701 586442229 781006559 194982817 860674843 604736663 257384139 28106341 533786521 356764363 677781733 83458147 283801263 752509387 694639867 984814923 75042749 863375611 574777153 343840115 506668301 365020391 906953555 652457177 140946129 265416767 305180475 200363559 916367395 831697121 75241059 512766379 741231619 309989585 321397921 730620507 914809945 351692087 209433905 107834585 796232953 824423785 679520697 600364139 213143705 707714531 903180103 227816959 26664925 243372357 14423375 940955439 606366799 421308251 470088881 52256055 912877917 410088475 724094639 656605185 679546209 526535327 784756215 744031001 46068383 633927719 715057055 692234425 693964861 656054563 788355621 677209793 91686223 515801635 507135083 377924021 880082379 149884645 262203587 749257159 250343829 650155849 759330271 428441549 568866165 473787997 69556187 701029959 831470109 244881235 331386689 380840539 305799463 48667781 694991865 924787931 41034769 993140345 987994717 846775609 522840903 422962905 792356391 548084379 43915547 540665719 261594493 531234499 84711619 422128465 132208109 254801697 403120995 879499655 621314923 300052431 146740995 433482855 700141397 817977993 571714965 479387747 962142065 264747449 18811891 852147991 534871275 571593581 521229019 480532549 833874777 264683613 613341689 462875353 618152887 308457703 536472797 496472037 733372781 938384401 957594115 696655271 482859333 875666063 973092807 882947713 20711029 841980339 66847607 161213437 442464157 641107583 303912515 355575759 526323135 251055259 3741253 674740435 251619147 248334163 680134011 794461195 21657875 15622305 386834641 487268771 121274711 797120549 8258327 123706351 289931963 732354595 738649095 680159849 698314059 815463053 853508419 454303413 31880575 10854393 597576531 856792989 80415539 115505831 161574057 325373461 60440237 425923453 459098269 202635321 625320857 745149707 44959857 932755531 397430285 665032841 342395983 900367801 414877573 959126229 164826695 335676435 440506343 685351287 761248595 979670037 340016257 905434527 426349141 889005219 423587591 834509091 216408341 913402311 777960601 492119937 373337411 711417269 454748345 18816739 661564283 521268171 69726805 906657559 575905341 829498247 87190211 742685843 159151859 705353113 506762945 502429561 313116397 752111313 17047411 602177167 809877093 324676395 904705893 143732803 995721085 382292683 15159183 89912749 968058173 404426491 145805389 723454863 212351125 506379569 285885027 165271371 260117857 220226053 627638273 473113589 581299553 300330557 154888633 909622081 92967743 506085827 902371723 132409999 852835211 89929897 307854299 264373225 534494143 526814251 708957303 639629561 335726907 635242413 908778899 596369435 289925195 650394043 196597455 64479053 28773661 151208199 283744811 766064949 218222797 892268907 809988379 306650661 735522907 478275821 75463021 653888271 928159153 203320503 888978021 626375833 351754909 85817371 397299619 512053253 170057693 510073751 672176185 431195203 180210705 888057803 142121367 571985645 382287551 405089413 133194911 106458431 497405789 47018423 212318867 459978019 599360575 190034045 842512419 64621095 83639723 899749913 113592929 511704705 708931273 915089143 587912141 531492371 845176999 918007209 610109259 149769059 308499779 240355821 535888167 662716575 570559611 351373731 223144473 45251231 953298715 390591449 102909501 270295523 360979409 431861185 680357401 212716435 59101753 516089783 15197593 773523067 662191571 159417917 987766035 239543829 366264583 224572159 872990787 346852737 923277865 98731473 771522383 937966723 758067823 666191277 625647557 990185613 938395901 141017527 642018715 973510069 927832541 436071481 357564459 348957627 869709565 931778983 378935101 490630405 499858233 95590301 897939967 633123235 781340495 957040605 777478147 235368013 358976235 840160083 78952007 773064033 880831391 704083219 372286003 887828967 387602915 309646679 7948435 787955853 320823831 21737603 315541145 915750573 74987909 411734049 175556327 749531459 821944159 500838887 742370433 778221561 514752959 549724845 470961105 621396509 975274659 482970999 906986417 944804261 626318071 273590899 880721499 402025011 972372877 80572401 927343733 334071821 305568283 563769197 964697613 506029345 542537797 808382091 761301911 627419143 123986579 926536213 161730803 397515007 613851511 677840129 248168545 942894321 39359563 38900583 99105683 568008809 706467405 392698253 824438429 458351265 732494249 898914011 142552829 218684025 743916145 491078887 881395349 969464693 941436315 764973165 469812919 557025991 24016395 821304397 667740435 555466821 704101769 214813845 2513099 949633389 171616199 229873525 494918497 653934187 98070877 852142157 862328261 899074825 936143567 154067611 803630921 366783423 412206467 310053135 836457645 911764655 986505931 212160121 517468949 716669599 527215841 382918359 900804879 661420031 181776359 627079241 771838351 353596899 549159653 651119133 753733363 925314319 820019405 227921861 393782271 154311911 775525751 544249307 832489699 169795193 645656741 102277413 464357939 173350785 77035265 912465293 672312811 720549723 199602461 52587303 782027379 834176525 669357679 919939883 680181141 925541705 275730521 745192705 459301767 235719013 707715367 128252721 933519849 871302241 866059529 599153775 566966461 640497893 712580375 495070357 801858929 290694973 68305491 65497003 834491867 214573155 26235047 909802199 525772089 971552503 454255587 447640429 975394607 776979517 588035265 581519851 854473417 738471719 641623011 187800819 869437823 862985547 59091153 772171343 814024237 164408807 225285883 693929971 398506009 894448357 577291453 43647227 68503533 730648533 573461591 740438185 448215747 794042089 467734771 772939625 38247189 692091909 84560289 427761103 615138761 452255151 291035227 625833877 434030381 205881367 415757571 735265951 498349557 436036113 920680031 298931703 953619009 651582497 557077285 48092369 762348177 965031273 461471467 469604745 827915993 561123517 75242803 330023587 411116905 773602705 836499557 989530055 544375807 46660359 23273685 356121803 206951619 372612325 551828411 944731817 564991807 851994777 180510777 377386629 651500395 151767611 765828693 622918825 606114465 788296587 270027781 679722891 563654827 488475887 41022495 747356355 986755761 500424825 245366115 35562519 785855053 396506333 615461247 332961903 113081463 682913403 362490369 193752289 397242009 969010267 413960035 202401703 26975103 769893165 27710469 610022181 888128093 546863175 141790515 278292711 734436817 635344553 508369435 70465695 206564065 649083897 104158937 736601383 363443193 568074119 796178283 705582469 977830383 78662473 545426111 419992545 324411135 513950945 308432803 907496595 805505489 133872789 18490319 908643601 596969071 44191829 961015017 393954561 324066127 393866421 555427189 321564975 551512657 666728441 426718183 773822605 46001591 911869699 519821721 727422773 274717999 827442279 801962955 359905645 602332367 902179161 734328485 410861215 101487125 929626811 633672763 447703645 316735717 536131601 9855875 23951205 365025931 581657231 884863841 541003927 575713983 393285639 522829215 432471041 771055773 899009019 385604587 836666837 654484907 699735697 975896287 720275311 373482195 563786137 618332927 866831953 559558511 856731531 878301617 177944871 65228857 475163271 40749129 393292995 571780695 383373649 102988029 224705315 929449047 904785499 294292465 266724969 42657583 652690105 775591983 273926623 330446137 927265071 247307941 984535289 995536701 460862753 420069677 701723219 436316007 553550751 318903691 326510255 940039757 831771233 119646821 403886073 27654637 202278597 693955149 641122373 662907049 177075923 246040255 989736139 512414803 781462073 551318809 42940147 470812955 956698447 897358245 76155205 150998179 654653975 192334997 466145399 29139181 342872883 445222657 673143905 563184489 572018423 371551725 369069319 650429929 990449751 459823935 780374933 718392237 590048245 714623689 501170015 841414745 513029399 832555333 102625503 374193403 7377067 850143573 221851321 357676295 566649417 283947649 735434935 668920155 658870577 282839611 79906511 905348413 778739017 751375067 416984089 680530265 555044385 804840613 908003289 802186437 528618993 6397631 638972029 444912125 184355481 591172155 723665045 544588265 388231837 910619923 878974429 760064723 508127789 678543657 338689593 402763121 349884963 597904709 667586227 120126947 12086013 249862681 613509249 139482283 675567073 251792701 606803963 35328439 315813791 897217075 929708455 282245471 521197485 134743397 667522351 259229531 410298669 505681699 357161061 123512277 782278629 775858343 731082821 893310553 579901251 865300243 175131123 453703899 950322529 417091695 936844731 7047353 85823483 659624109 473309199 937402295 466923387 763890853 971548297 7941381 27151853 49976089 124239087 444201527 70148109 437632947 529815083 580748361 678946869 133806595 705138511 207785633 183288689 552375939 803157143 993545741 422730349 582437779 332194409 858154433 598050945 93276799 429923405 124001885 401910445 875844727 536994295 168856803 341667991 485355411 956361281 101479361 576417167 957937621 474774065 820575181 351801741 304805413 294561777 741128003 391666737 540199767 180178387 376984779 806544319 311535395 274780501 667725423 659574311 81115435 253604889 397841063 198562307 697200631 254245609 36060495 748891025 59106807 856509113 682486955 17884087 5620871 617497507 209909867 888143621 503500007 591011821 920671905 283354289 242566975 715518723 398019277 468106653 169454499 817360499 513327315 105354063 7500555 999132925 710330369 941877493 733917273 940284803 550980107 274015337 69083987 863805455 843210767 670227239 569367471 395005141 272257427 871407959 752752641 432879921 635769731 411488459 524163791 867483301 195021621 770260471 875477889 727629789 317927269 357436157 11777383 273042349 811785531 816735905 44354745 94784527 644117313 455712085 841271709 380770599 447411311 630351407 212036375 924705855 228949279 131482095 824613915 930722509 588422169 869426685 982949507 236174697 587232651 550440805 450513423 566549719 982980615 315491297 263826791 98050307 381119885 278894287 332720415 280130561 305706625 501518903 839855791 142837005 909281455 599639497 995203447 277753223 100003919 789963737 13838785 162620923 783371005 389347435 612998593 499591965 996388543 97910307 87607947 927933131 926461185 301012817 2325797 646215939 796858263 743270635 506415477 284153589 957437889 82398611 740325199 207555569 814548773 362842767 774268265 961598579 185173709 351035085 951143015 978051871 818944559 99004903 550861267 788142529 405473833 99018521 871041307 542250571 46604289 227017291 825071257 329213399 216557669 394012431 423399057 113375659 719635559 419355545 97197097 612111919 825612421 196519883 903691893 572782587 250468263 774209065 875860843 561478853 448683031 152170213 317391087 938831987 455193741 120004821 668253129 23668241 342712101 852722297 17739947 726582993 305070179 958073591 546353455 913810701 251770423 510118687 853186771 33619275 727368435 986823273 318065669 436514613 533124695 474028021 220333841 815532191 417199753 358303111 595894579 590051457 85958417 767942799 554344845 38405635 844012523 78715687 194369575 610088301 783446127 865863435 811451123 433387315 501765221 237693605 116239051 861949167 580787449 41827843 627904109 531653223 320115135 624628189 327021445 179131013 515593657 265509009 685376931 467390557 363957831 15488805 865909059 197457961 262327867 810095693 751678659 301884491 87582917 116024667 311853933 722650705 788929159 6958417 143155313 350845421 930005635 886753751 48628717 670769659 159572263 740569657 921522141 121682301 234203979 882804849 519947053 296608929 422258983 276961311 658330285 184965045 546180965 612766087 884761111 801157689 592941585 298473627 871591693 500303311 130202015 386223601 911882263 686756161 943883757 905010121 95182247 247624581 128452417 402322697 320072469 988101299 614335301 559106625 49886627 410468111 968606739 302888617 247871355 501232133 620445989 834445087 512365229 171666217 39615075 350915883 301553203 521065269 160752407 301846013 164124911 989864717 568459511 238393707 253568681 265611963 709717283 36681459 274434321 59640949 926757149 998825663 433700035 825821587 914570707 226347677 860427841 135137691 181769883 310358275 850020591 717455669 740081713 287311379 671333411 660092727 919203261 244349587 56011797 955463579 411329995 280130801 369470183 999526021 57725773 823269445 270008225 175956801 892216485 154244433 168472883 691512639 130582167 808876919 390647673 911259935 154547021 600116171 826284083 255219103 497273185 538583041 340068875 964013231 925988045 138171257 519368081 532996191 66116599 89351741 361345599 254277613 457389741 576361463 335132021 107493049 263921955 618411267 547369343 473356113 237896951 615000415 310922891 484149861 145130543 484252593 98663861 409151957 607170615 54294603 244979197 173331873 8227557 948448799 580781901 68205811 823476599 202991057 195655541 376287011 294472079 623355047 122508077 566262439 894041149 977056657 27204379 233220647 147378423 51019813 150343363 250808683 682664601 387113377 598395291 737810021 749657191 716410351 759626743 857839669 217153295 479654045 652233245 856461339 786460073 233645537 478861621 149106819 330198189 951056797 856862287 590517759 737134853 80992343 631619939 772739661 216021245 925789245 458181719 110893903 976095049 563954215 611512815 422944271 23480327 409156245 564345567 424947137 554067389 688606383 308275905 246176961 361414743 890031937 493970197 994271633 854216745 140363717 428950083 584022493 533535989 78147419 672863903 592744823 666924763 415749063 204377439 803117917 759472491 933812859 96250793 412208817 829520025 951997837 87300481 924186557 519847365 146714813 905104091 818708213 880994481 496999025 212807825 971705333 405514891 595230905 67685729 764541569 483352297 100652621 161673465 497722241 151805641 741945227 454048485 548959755 878518671 646019963 384956323 750343257 481039879 901197515 616245137 951380687 590721897 31986901 497080825 642693879 757395537 331873429 56233485 732452485 353178563 549426101 261295591 49226837 512258095 547761539 983572357 987577707 469531753 555129333 183746003 192304111 159224493 197586605 758691 305703479 139642785 475663857 944283819 694126525 109644115 489179567 67577487 685295141 111518263 794069119 537536473 459741243 435263019 619234977 457349367 929214703 294950773 339334397 331270979 586611809 748896193 512728607 837414399 673504463 958977317 854809921 357541207 984113065 839021855 763712323 931552599 101409407 865548689 250195881 705003259 519920141 484499915 222264229 552891685 390072119 294138755 879912717 654838173 213787145 222768085 115411295 357435925 621546677 459429957 45514437 128829733 963245717 745102273 366372111 402352977 197765423 33319329 923355823 472863231 484750637 180337311 737303497 189652097 810441569 318921185 838551843 468330769 979254215 558033395 968142125 89596369 531324037 646218189 943073019 867081673 77618401 765823947 936514385 491857387 630583379 331478195 242765203 656602127 788204917 779972785 287041743 349095415 794186505 976534619 308648129 214607949 747755259 458000813 139811523 672908195 452592989 972817677 97874657 858333551 59484013 63512651 702028999 576839957 89575563 451950487 320008397 485183195 843878725 62129809 665344243 944913143 795506253 304126785 223230945 203255423 417353599 811790095 870856163 740179061 955535581 770306515 17103347 603754179 349541779 129874635 210765489 750525241 297305845 663261593 775479649 152032401 484317563 768362319 375559413 46908781 612516301 339132255 317256963 48908117 894273459 880663719 229454537 239927225 102483233 420835947 668789297 611394293 539730739 13366619 155745993 489858379 845245227 740902539 803243721 156944351 37412727 778497143 585055759 402507719 582277797 460775941 663878947 520807675 813315701 609986435 61065781 121833309 688481993 618135461 443148313 634688437 840936619 935028873 660839249 419949235 926313297 582934197 378553605 946488819 107725075 652064277 296034307 906570485 755211893 1194751 845232065 338638883 386607395 688737585 678087521 75034573 620694769 322533069 43592361 180188971 682984665 421525861 329953543 747154275 138525183 638955753 997479059 342422139 508573359 232418491 441303309 998025827 806540633 151172765 424516315 495414775 441981339 484433343 404485135 445395959 289447737 653446067 953101661 846339083 853240603 845792121 390621477 292348871 277590617 225097845 927662703 534506915 585701673 567237493 828133867 885637631 792395249 912039341 760604399 564126759 255252539 626901435 351640187 767654217 111215037 523179173 69196341 576086913 131449167 8020695 349513581 308651215 612771831 238243109 965893145 144969243 838404575 156112849 763287515 620586041 585674073 34723195 792789753 123950815 310877665 256060979 854468963 981680563 618231581 393028719 383043501 220341561 343526355 341343753 169828377 663562725 150768891 355959625 108064143 335041809 448938671 715303389 686725277 678942717 443429681 754400727 888469113 505065681 361168363 955772599 795017221 650565025 336167541 293292639 656026821 518823267 933878149 659365921 615630315 546572541 219258371 265826735 487649103 108346931 742703607 6962215 398466669 773121721 983370133 651946765 499753325 16225577 419875383 784801105 444963359 479427585 901994851 313990215 479683323 723053229 254347203 167241899 504610337 641042047 280668715 195295139 185854037 159031213 927573651 893131709 443567623 901299293 173473059 496702445 184855121 58113427 429441315 196408979 402274801 474634819 719831559 942338161 967920717 880319045 369523307 946032565 8758901 337507677 663656721 938072821 308742177 199485489 55647717 23774253 429480111 130600275 581284091 285163973 997020709 345982015 951190413 397791623 651464759 732565075 920205567 365183403 67279671 771927001 629322203 645319629 97252137 820538627 146082005 753970673 842340527 623268585 960726473 878054279 174625309 894973583 307565753 11657825 792603239 112801243 754207955 651311551 817999919 473336991 297801061 694573893 493145785 873853845 281548015 97269249 762371831 864835423 41679891 851230055 685808769 180408197 727581853 212300885 716389523 56520569 41013373 900225553 519171861 984961941 781183185 528784199 72672663 811749911 378743005 81561355 24265809 274281003 951990025 523509215 688944417 138329313 142445547 928383651 771695761 460795955 410877757 191013287 252456651 778082819 455972067 145039777 2466475 390591257 662203881 623248555 801326767 392808487 606144895 539962703 562375165 846297285 752089093 31172469 303355237 404764277 647047161 60079989 148819549 82770337 349997835 738130189 712299527 456203929 98721547 704805473 215300649 949045401 310241525 702898429 431948849 888423613 940818415 432236249 237400121 951565075 452933183 778135889 435369469 332256139 745193565 738673195 605058535 431693565 753688035 130978963 879286787 963229227 831321233 52975645 221861133 852079295 689749335 325339593 708007775 400083529 948985157 388521725 118333957 517981507 167168153 191919747 227555243 454840845 236195251 397648273 430204329 445826547 154179617 628773573 606047999 495859749 635330965 985680677 429805907 813212347 715115243 935125277 291460085 357385143 574823715 703854467 965482205 859983875 390124653 578325653 489388971 499087983 908347163 380737783 496374435 982771381 477002919 143199925 392128949 582310517 829336755 657673287 49797499 241189435 106520589 214463367 699343923 588092533 412031911 536260799 760682179 313138303 950737821 968570775 411898299 282366873 512276017 360801833 66877521 171281901 237553871 372757487 270620007 701508491 684942091 845759695 494640259 609409387 381641629 546128919 710087891 746810483 335712621 703360379 953760817 554580583 526853763 947698201 130721817 731015421 325127955 258454903 513154739 139768523 427741817 343893121 947964369 929324113 284457529 261093005 203693031 734996221 932486907 231945815 319123223 78313501 254536085 56745221 356231717 811377643 191146497 408000807 544846723 9329287 612770913 105590189 457369159 643252987 900604933 832697593 450378545 732997691 651726939 576287181 905785767 607998491 824074753 686496855 837305531 457358945 184024505 839420719 124488225 615370677 372528497 681564749 965031225 65374885 190156089 13827611 901980683 814942383 412718157 980214885 843277895 400169777 785077265 456032607 405634625 567857783 823165199 909001383 82728957 650011311 10160125 476246593 131382303 787161843 336878259 95973277 782615799 984333383 812492087 601069199 182678395 791712401 837044401 473593427 52617805 796959653 894964855 212869775 846381235 86454331 342839557 932375121 465885083 613551347 834400507 822723855 590025375 325530455 919655973 731214755 682939643 936859865 917063289 968136021 167964311 580023763 517146895 998119121 592353541 250726531 613348653 519632685 216039545 428551701 428190013 288725735 587899093 488661403 4192721 918912739 947826845 617705739 162525349 129261933 800512515 791703113 225949599 541281085 952176605 798857247 440219591 653821039 588091563 15385403 909404239 144893831 119415187 751447351 421948823 579626613 470244709 119923607 241602079 982492043 572943769 885479617 678519699 313137801 533852493 961924359 877447621 937055123 678254155 963366309 754524083 563572279 90393085 248704951 588837501 51306089 877979775 864860493 485295729 367278983 480112525 847813201 440214017 332793687 646510481 46550947 146585801 260162821 113753753 870284287 374404747 886034471 20215645 436537105 183047731 99678649 515257401 383700587 809614547 336018211 139284025 463962755 246909609 775278383 239777289 805351357 362519063 256446229 514885379 176993 143532199 964689775 378672675 396504737 191646733 28636487 268404499 239575445 407967525 243664133 613722399 536650815 332771569 952031617 219484225 410832777 221920669 303418617 754619417 33220675 424636797 958703121 172056811 977803305 776943627 611411159 92892329 364136663 816792297 740737471 3614697 368955099 147327719 780393127 905214699 802300069 761602803 872206291 764420245 614792589 106897707 702979827 463349623 334083797 41948113 254012955 246062281 642571943 686826579 554890439 217202537 891907859 984944191 37301981 235096799 630627091 249800279 436310955 297697883 751825801 326447479 398025447 234766771 771821117 289140657 462659499 462631013 778880737 486270259 434606463 241439899 620369933 189846363 292002639 856732707 715834435 470246829 232032371 444350323 840632555 662728913 216725923 456575149 30209371 506836381 290777097 4666007 416748487 578771469 713667119 793953183 85331537 965252673 310545677 24177885 380950533 218624389 404346111 483343633 299706321 796248399 367572169 41276323 582487953 872585783 148317851 229654943 970036997 53707523 230204681 806897857 7580887 472654747 851969551 670151267 885973911 988570647 141957139 470774415 872503999 926359469 283046115 140377845 345812399 667898307 877900979 645357547 530253491 7791845 385322785 247117681 202372601 138505157 783866419 404910637 209461917 882789437 715983189 716907631 187302815 242500179 499421789 90129711 461559529 861413681 275063431 524535563 381922891 625161257 545656187 697201995 324570751 742637497 5195843 770397407 671360037 443156097 803208279 586982749 899675335 38529103 562936465 407539203 24403929 524420373 676839993 588971707 174191537 372131309 437528573 442680595 35156623 485393949 277509359 933084993 115485089 949120527 339848079 940817191 275443189 219349079 313336513 809055051 842698627 226262703 607420115 348542939 994361905 129658105 884313209 24731055 86348995 837120067 835151825 283158855 509082605 600598975 749169503 772220363 819240265 598189001 878347539 219243527 668390999 37369571 642199873 173213557 665867647 916245177 457852325 419471157 504129301 673911583 243726439 594007307 891181649 485466383 247542545 259405417 562259539 964006827 269297049 470320997 717480229 853306179 299208031 670518207 780778681 467161669 742926373 31323613 639868905 139929167 448823065 466435023 541779315 742243619 707006417 465558605 534245637 405477293 159110475 667758517 565702187 493010689 315815657 616385807 748895075 216325465 371331453 860368649 765943563 510398233 918079033 690799869 743102061 454479307 377650619 447717351 271120571 907339045 110421255 817072497 208147983 876084223 125566093 539442409 360481383 263284061 648927007 466885701 16841393 527350637 58794237 622128935 566190521 475460223 300953803 59771349 841079613 955018255 85431447 502371389 528844507 867755457 947414231 338270455 228385565 153083487 94106469 66866755 643927669 626990815 492241545 129339145 874137147 331417945 396825071 890537429 595395507 42691091 122464173 337373665 222983427 232868981 89304895 806260749 546509885 673453589 944682637 752480733 981634651 674755503 44027105 573532291 746350655 148347939 551650291 61098453 454474673 691186045 400273117 7024465 409844323 855988723 27119401 715783969 444738287 506246367 852057023 85319443 209393107 133310401 736558583 793963423 407643771 928378697 274985615 535458019 381788215 20441159 728577707 569088423 421366595 169703609 124273369 807347803 387463099 665611455 820168205 632308243 714696877 680957351 652651173 887595923 84481289 773630179 722402663 304052285 822497447 893091085 798612095 925287205 295300427 520865003 181172865 420129281 828519835 178694247 856647023 41481773 989565993 465827219 173822889 486034869 33042543 211724205 900768511 38881349 469921231 322389015 576798631 160206389 762198673 745594203 88389435 950509957 22082789 822585389 672657347 41840861 971006439 524345959 530730157 923236489 12128409 389834767 69101515 790643075 689594591 70686287 754742875 519053419 355651217 633860731 720543749 672498821 568746595 494105869 630746581 491872963 122693879 800876199 895651135 726258875 916805593 250177817 673806111 802717099 31047801 154511953 759487 879724925 179790639 439047021 694940873 685266879 150751805 720186287 449406545 862685865 456485579 858280323 253704151 449868825 275901935 320195965 453497919 967234199 184470939 426440023 750525911 684671569 574042551 727578355 302394197 768671265 235147017 684843873 466642131 541639811 930086465 752969679 874652889 468604577 616632571 732664475 40541011 467519817 474179255 473686599 304552087 609206257 530644959 75647617 186716769 209797563 60619459 556948761 140189401 487961707 238317725 90403083 498837897 636891509 781971597 515567995 901107305 7701739 812448415 153393843 457669845 504583311 654259905 669927209 331836561 555469511 170343887 191691381 695503565 339152293 529378953 777555035 393452315 928551389 456254615 460601801 386846843 303406031 195877773 53792207 27974225 949424771 734637027 635730089 594382699 367404713 700689401 747587771 443893501 449301911 166902043 289160081 562932133 354134603 918703223 417149661 12586599 610597999 808156713 184654713 494839219 976183635 879094833 291884139 202973277 630651113 702880119 489018331 985410209 958218965 548360399 310327327 810759463 173365085 672999409 113367219 378564601 619516527 684762237 509713719 85942669 921452709 880996605 749642361 204141507 720006715 97481701 804690283 45933789 920822811 493810825 986054695 917855369 836519635 875395631 834370291 815968991 846205337 551791357 748347705 72205655 662628687 116180743 506408075 575851995 874770809 959638853 141692839 863949239 817225033 732712599 615677293 218922655 98006167 204033735 24806379 450662321 462181597 824049031 611563347 804861041 349284937 77640049 687576833 267661775 213234341 657394947 547664503 736253725 259902059 710797739 262039649 802852123 268750779 715199669 36627857 781820655 662370649 879054943 520636933 804696355 945277877 521158855 937515997 375785645 963605993 585003767 823266407 620998123 484823731 403685857 462512407 388240803 577555321 894084957 662736515 586454017 159197003 107682095 271931253 394774427 682636257 368387581 832930259 37933679 80216729 137785947 310266289 74564831 665213817 256740287 79896653 808281789 290298421 831295373 240918281 729409083 918869791 504060429 186982511 214778613 186204731 51207025 141957427 898802421 374870059 690943185 296096561 455079843 321320771 571644209 663997549 824839897 554975351 359334007 287213071 683545553 5005929 150670453 975126381 97357873 984168029 706611687 599454465 624076037 872500549 279646059 398382447 792544709 394165431 537204363 870530689 982439247 505825779 264236215 58572333 264606947 792050401 837904973 39971723 870046003 904353549 649090953 121569759 649773907 157514417 890109335 377634711 438892991 542934955 554290567 876262211 662754143 706589317 26946389 738246815 363520125 230229353 415819485 650577295 315361745 95498547 184745197 273805597 89529717 463833185 501991989 178405503 246767089 889005081 54846029 123445261 21109043 55897387 796972215 548669517 636402061 184869645 272450013 508946663 354983103 950540001 297248785 162324403 335448811 69496941 606594185 376798119 893258147 356019487 994995303 771299305 923018457 178984721 547895223 201230021 114978283 265380351 356717673 22152363 641748637 539673171 281712981 48377659 429491743 638279705 372287293 411518005 813485061 996084749 669859275 339489411 336077131 346057865 650136207 634152253 274572631 132229785 440974339 934866585 300572407 654092521 141956745 161014527 125909857 115910353 509170023 917087221 937002287 543569745 844377555 365954355 277039977 659082767 395653091 807904659 165665403 676837467 429734809 414480919 953790267 38881325 221036511 347863275 184650215 714640163 436595589 488368225 984370465 231307655 28806213 924073463 648379643 537765187 616664511 957588813 655627749 735537395 655128703 22222129 719322049 913044181 263662835 530357909 754299091 568102349 631670391 583403413 836935877 358972015 398858315 816275059 165855153 881032177 986450073 873816731 174258961 215179057 458429297 148338081 629826251 264110519 427270093 834395199 352062507 983793841 548022925 433215831 436044523 973559799 477862781 999004921 126683683 739598603 918728779 369436499 288016729 250625551 568228243 213387715 264380285 43129047 262522837 904955851 953055715 332112855 700865145 254650903 156878665 453994289 858329811 337377659 553245393 910530985 460274459 339104753 682294027 541973425 217085809 433872285 368502509 423502431 659600095 350129097 544281809 268642931 939036761 231024617 863866753 689083731 979946419 478283417 242362149 269016593 299450547 123091613 135869525 727046753 372228609 536495581 731730703 61019043 670629931 49530991 252116919 278517215 291248815 49596301 512770587 49150147 854087403 865736859 664761453 22800041 83161387 822113317 281231951 682249615 58443677 606302427 789933509 210234395 512554331 691953309 484828219 335431325 556158313 775959913 41724295 727282187 211053485 751418991 433960165 575397127 8063995 132258559 377176571 336607959 233395979 990573973 42069463 607807081 989607293 105406677 450193389 528880981 846316763 984290955 419091741 737097949 268112535 626624679 175636649 902014179 204201227 186542665 903342911 520471803 278844021 633064623 166938613 753193305 591167491 787484745 145709897 871038431 351308481 347593639 366480925 527574801 62162605 305787527 364525251 611613473 761082789 276320969 135006699 870495973 261079155 713521531 386234807 482871517 505223625 168359887 171421867 759257135 182384959 850664479 25828017 338790315 584506969 928905969 867014179 388129481 411138429 156380143 281785531 440231079 945738493 786124523 377193119 52101389 34599445 850712803 848299357 482650987 516145635 99169015 763143913 857010647 870186097 521008501 887712417 629955087 114852785 585940687 538063947 78572157 114734203 86687905 912733459 124557103 975061905 304034989 236722319 226906845 719385245 663402975 622845371 472396259 540197681 455707979 377924095 342607693 702275523 72131369 537550373 66977223 507224247 856777185 219586915 619225259 315613013 348547323 107838553 726986485 669462735 307221547 897520649 736616013 284101949 610133069 955716323 796419077 355260065 14931555 393343417 572431377 50615269 795150489 719211211 416098323 324600283 587884867 128720061 435532879 190960697 408004059 552479131 444154551 875707041 436436485 497027037 76420577 965190559 155665547 900373855 378810381 479870371 408635489 170568295 153817121 752799237 514526115 925479073 439226029 208153095 125456021 524572193 725269225 399510483 220800159 746033769 567281075 77528441 273908055 727770969 107396755 744179701 746709367 667468353 729866425 487249955 624401891 359312085 260573177 939898833 414259365 740713525 315576279 887180975 806511603 277772259 601887351 614545237 151247141 699033293 1824681 915512901 586834367 731565641 676369891 56721129 186711151 55959317 521936711 36669585 852498437 828506709 704462491 580778871 400013949 125093013 385889869 903889339 707141115 853375693 131089269 641955945 356196299 558458201 248828627 9976945 176019805 980275453 829782991 649219497 805408081 38177769 328014197 418676185 969955429 139225775 930218881 732295075 960465545 663393615 873683277 873457053 128894925 575282733 591221987 740091711 458644333 372153623 734388723 650503147 736595151 233006657 858968787 682696167 199478905 106579787 200927107 108554601 222941475 415962677 128969897 117432199 725443751 747028595 843177109 12294465 713174789 446673875 475958847 771610757 794316141 99667353 327783493 533381409 377533233 712909669 138839535 279043023 887887049 954139721 26526765 917563695 981683931 473790901 603262611 827636429 185852211 45276811 451514981 882883607 208499139 252673037 799716231 282721641 829115815 507736811 716014985 674679043 276727841 818500151 580416161 641557517 408391581 465259121 358671025 844867483 632511149 82147453 782885437 17898405 921436943 351566503 258372473 437734411 163440805 954634151 723821367 986731927 633123449 571462553 997719545 286073085 633317823 415396611 648398567 605026769 951249617 622815185 515940557 859425689 540276791 405111897 70758693 801793211 118062999 85778007 32282895 684060043 692392645 127249905 623689807 596663105 247375551 433359541 347078743 66880253 125551271 661167257 808149821 661705 206865607 712615671 138756799 400215191 663725971 637501847 750268233 726289729 861274791 367600551 122641637 119220615 295973829 24875193 174836813 655216913 641623515 293939147 93852127 876274547 639631351 642743365 532277923 71088419 815097433 895176435 567735623 211435141 20398435 630160135 523179301 987810017 472293537 985507107 727023929 312228715 104039875 909534283 50424109 882961463 523012519 652127465 525065807 115610955 546592081 184019415 697161877 305634701 990546153 884588879 972234657 851301327 694744261 542180855 462400953 229392845 455454815 699853789 611171019 770388773 669839707 663295861 234181999 791901793 633272453 259784349 824119269 250912243 423075021 198262683 184705811 778012467 408689745 376603163 32595851 581460837 789480789 286336051 555861121 501319855 648064835 319683425 335894229 884393763 475412909 712487303 374476817 177105341 391210319 649170935 378416479 82060635 411714829 997880929 176230555 571230663 607851251 598692839 59501379 458887857 176547123 668294155 289774461 729216183 908469543 560586173 669994265 462389333 994121813 397898831 321407119 971450103 567886181 530114689 297299453 841063405 231483695 383811447 319549995 254884211 518531497 452508095 409409417 545512359 927927545 424659533 200529195 732562323 644641387 990992767 777914837 52143655 473774961 259527705 365738729 967175489 278701735 488465995 41778043 950641821 326276303 343170729 322419009 947551975 433223635 150815023 460314519 498521263 54980043 844053061 172200073 233495919 154552303 797279157 569004995 587522697 924022177 205557685 887746461 991918149 138027887 581544933 727661591 672944339 309703179 777989191 296230873 573610833 698627409 850692169 346336559 453571259 54125891 389270977 213630739 424622845 814290189 666371053 43255845 140729831 292846593 889167985 154693033 221358131 750021277 620321881 482590865 844695681 45868931 432856861 85238385 799884381 837495421 473755545 868489357 46874935 651665791 475410195 539757769 952343399 497027493 587642421 869404853 588345647 214292529 515038745 762892425 688600505 549962127 671116601 425839139 919008277 708759635 37251707 110735371 948122173 67129399 625785389 874411119 40057361 308843295 727905027 819423785 920915037 710153749 51427613 869717941 7540175 202562637 958068475 129575997 134234115 211939875 101379729 839400591 811779193 147965467 563492399 908769825 487994267 252959709 708347795 653949973 596827577 395427647 267167461 746089519 384780301 171443515 859019183 374082529 314907063 85926645 77520361 872171331 358197443 530890425 837557997 537301009 202464031 364993271 898034309 537999539 310544295 787181901 259188697 130005305 163755291 94618495 351224963 167606365 33797413 933757557 468038523 955577465 622979923 35817797 875904043 767647895 836215843 459991083 453418847 280934247 85213171 865610631 885528139 4711487 723847183 534900965 90686861 212536349 97588133 947193851 689839147 622935211 397309649 218989473 985271953 847028535 987435923 141214941 500288917 421762489 989123795 262631385 647143795 95841743 753744229 305975015 435349715 591353281 369390849 604991875 412535743 773676925 324375367 331263313 497627821 102869917 594040001 337453853 851363709 50271837 326445539 686979545 884211313 982708903 286052353 174655393 216084791 188882697 632633441 693295285 288156645 904561849 927387433 985347717 739375097 582278297 155294317 355281571 937973079 800072749 148142885 108612551 779038539 534924455 279802417 746357465 222803853 601049565 559519579 427639775 916661561 815630671 359908949 674145553 53852629 573876005 442531769 52246473 28626507 653507883 736715781 555849609 389226997 659805659 126119591 486822141 800874893 860197203 910147307 331905785 37132857 233231965 832133903 388290933 456874119 289588067 453175601 276970649 709336941 238486913 868165211 127300525 591056709 12474229 558003583 148907557 505572055 146500773 975462007 402184349 367704143 491793953 616441601 724979671 95687235 169105825 373723593 553609663 634107057 659560065 825223521 610889833 10764283 244618957 78578495 812971279 229598707 339907123 310113991 596046611 106032841 463033095 8194625 703951621 548238367 332439371 229519839 382569875 739009527 490177959 44230331 612161179 186274241 371885161 689570771 405506591 38818639 246452871 110092563 660052299 81088481 717009059 729186891 898369907 791693595 751079937 124074551 416639761 142347275 663651731 378816885 704564425 896500773 755369199 210026383 931696231 729956935 730061653 13438455 524167643 856270775 909363373 869487877 178977347 888283425 111887491 588301563 156346083 38069659 779140881 346956035 649429027 48498593 65504309 463386669 573255833 841833499 581588599 394785397 864031743 919066963 128579079 39294903 207962169 321591807 864968635 708908225 791957075 142443583 404507665 659257923 714343805 760328853 660427827 848294357 579351575 241826543 696999151 218130171 536327327 124860323 301760957 898875929 939650245 61233263 146217403 936063879 958382681 341278583 385236657 877387897 405526615 397826121 142294029 104380433 705265125 745485017 695008233 687858267 514983753 393394821 144058369 406294343 980193019 148568337 977758399 678300589 936760979 13019565 120671791 12880463 169115095 550436331 237569803 770010839 266785201 455333069 836959155 852970709 812820787 294822323 838710573 972388547 163429531 5287277 955309095 306459907 796149321 794589999 945383417 868131037 643335627 596845977 885725603 936965505 208433363 887156139 79658699 59815179 847949371 526331865 900410049 304212859 170882825 788585203 990115197 858442171 759088999 284363063 64516765 604645531 426170793 609235277 87864425 982563285 785254727 802151743 991217873 79441673 191671785 495562117 990706795 525348547 439152727 210879995 542103413 333974897 992048517 745150693 132072665 370757743 581575055 139678195 411225893 334407421 82679991 546502967 136402833 31401797 609114729 980533297 991862523 795187543 595366967 749665477 712949995 276922925 689956063 99225153 539619471 375100583 658956611 25227865 300039615 477981329 779819885 793645099 222334461 184226201 172305809 950867261 999300459 21037659 627208459 4821115 490929117 458053975 301117789 534301499 259086791 518948853 680435509 801924153 453634379 708303241 782237025 238145181 79811373 808391755 452737505 310942449 686502367 225125467 442574551 606353453 77781623 422279365 465821581 350545067 594668981 85890679 595907449 324002099 845858559 143457613 208529203 983541747 221923687 254251269 8611199 427673469 108623007 42537037 859182155 523732945 601611789 258196915 231010727 599201619 745306547 958973103 380008655 582596559 568751937 58794661 520765735 379312509 413155089 3868127 54028601 879374329 359602977 773409931 626882491 503272777 534369815 710983621 46569605 275487449 438856771 996769931 453434267 717852797 175137435 504277707 529097771 532673397 267893697 185369681 994212229 178050919 469851899 897759707 564582949 753204573 1148215 243935239 664955569 355981517 868642317 840255583 638883055 569539733 204497087 143082581 772070615 697715707 510959407 77018179 212449153 816710573 839140081 898806375 841685555 91257533 821340729 368566255 534098263 553486249 74666727 766150631 661191551 327568217 81998213 584880205 602225767 804992535 502802495 263005951 366365173 763850395 572230125 82946759 253644079 564454145 813309711 107819607 306605901 714256333 472505035 672329031 588119209 237128431 170024433 211356955 988244933 24265913 575111161 209752633 374928971 878906091 735005697 438762227 362041363 524729769 110148561 348542597 182560275 173062273 264579801 386611213 617129331 388895079 304516399 991608725 640409723 771781051 192117393 644706575 537536927 541187901 301121897 565523283 832689273 297338657 830526917 88032549 505212623 828109045 379901019 63641643 808974219 517400509 671235981 815350263 509066177 978811609 829128801 821816067 379599787 4731163 954727813 930037169 174669739 618076595 461061715 142472009 73478479 347430211 621608391 918231805 886690379 961776333 170717065 299794149 539785589 217867967 397155563 875352323 165430231 656724977 650210785 508745793 137292183 675308699 369073677 374326641 369545483 537836391 479714739 988753993 573153195 693369953 947508933 702594669 792929567 254656509 979827673 937105509 389693487 134900761 878936367 837330081 379349457 920480507 142824365 553698429 645843485 615543885 638027235 494303035 821559639 700507177 860645641 272082687 866801899 730736649 993862653 424197601 555031149 585095125 215786567 449013461 394682007 64552663 66451735 668195517 429507149 659224773 102571073 977749349 260146075 538254013 320994121 310278269 383329457 917524039 414751315 818235037 427797741 513056331 575187247 873112647 347488211 763892257 400432211 663253733 156099083 838325381 124654049 637125575 897496683 298419871 524813471 646860071 632755437 728787195 465295099 414896421 823691191 65458827 623744013 675505869 149991951 640882097 168644757 181678351 758118765 551084849 681317883 156151235 539586153 903540533 801226059 518954667 38888393 651028055 423684671 662609519 466479989 61927057 912176183 540314531 907621251 834141257 205134135 64372159 459079983 509911885 410403569 711808549 195000281 401464273 271061435 919133467 53559823 380979571 537543061 485227735 546640003 735897657 95567653 80865903 630787855 292833679 622052027 298409701 322301369 859078475 194440015 70905377 907453867 991423659 870153599 871827959 998626871 427580241 165493395 950001951 961278425 928606285 780884859 630953529 551857975 984586005 34854347 969786065 399940633 110503557 512371399 792893013 301247603 814289889 241529427 755079969 103841631 962446295 550364669 441210741 780007971 69332863 675714561 79834745 781087529 863352657 805206075 540166465 187696389 77449271 750897969 422288837 510511983 808531581 342411031 535326693 78595663 953771735 827922623 212034667 211099309 487109475 598889643 925947403 736325053 343630503 211532801 447583833 882427355 831506063 732850579 100784347 985641865 837498223 145673941 202651641 394822771 87347465 988994279 590221313 768152685 565003645 715997075 39639601 793815665 840294491 807144517 649095079 294384545 63799191 664257813 547275885 566385227 845442193 649315265 265867895 194987747 407436043 761851571 836421785 106306817 801069619 269812731 47346585 328990313 72758175 584844875 781439261 215069191 637897805 195685385 294519481 331451119 459017121 7430709 532252899 552621915 747396199 805947781 495777279 341709743 308671959 391198541 124552535 920312181 599440525 721426059 255377433 101610081 654991245 154857 112873567 713810769 714595143 133772213 686711341 194508099 533132943 603821797 101501545 412436069 582028193 355579419 227631077 589101835 745956131 409372571 522529885 774764209 272312099 300247897 798053743 824727799 63534613 566541799 976208805 398362793 62857687 973814151 756656497 268860093 300918447 958128415 862502955 363863371 183734857 740382017 806725911 203096215 541647035 510791457 655497819 574246415 938363265 51729311 958512137 724274499 283297411 834472517 107255581 590894319 620838667 584372285 387502197 16400377 659866833 81357155 225053659 112643175 342084337 408384309 155257601 817531505 382943983 512134617 683758719 998268271 487317433 914343199 464411863 771442407 990283431 908739967 619698035 569456003 765502067 475178775 873627557 114304533 580332611 869983407 477706147 590002843 376757923 944447157 563562385 437416757 138421387 615869507 543159415 170251569 486281303 334454293 47041861 957795841 875946701 754876309 365496793 646241343 48565273 542546385 131302895 655411377 649098449 521618047 909009459 370508609 443199217 370811649 9999157 421975553 442518239 800230749 491554415 334122543 299010155 524278593 452500803 15125803 470705093 753679109 259609081 386060675 59628173 997661353 183312579 655975401 125693643 725024469 927697081 573618745 262661607 389357525 343476957 146634357 218377657 273028771 309443865 501277129 29212031 630726109 88323901 459618185 30678235 157877453 253813251 91714095 514756319 682639453 967473165 110800477 366143741 167396905 494469857 193444833 662357523 908495215 266205685 985529005 873397605 730680341 898401695 929496029 875439011 470474155 193694753 227809461 588661727 363677289 756427941 915271069 768552603 942723117 366222907 276492587 655984311 662927743 828559069 507250455 406929027 538576013 557353579 607154505 311568563 831393329 591365553 27450059 423437669 340424423 333127519 78248141 273362207 656887257 452073227 924674989 20054477 765431765 593342011 730127341 2243525 6270545 216873303 294721851 873338053 732255855 241093295 956609893 319751919 259372531 338394493 579861869 725954517 930679887 965839585 588806257 397694823 810305947 470483175 172256445 619248391 526761875 555157885 259222213 982929527 959480479 451198847 678372903 224776423 524295375 845021101 245437601 513264105 736175835 467043249 171036963 341804669 232146723 182923035 746165949 907322887 765870251 269119075 465474987 480316245 770475045 411434991 348454993 339294619 998458087 529337603 917164603 399472503 589057519 790193875 360785689 860437999 215732967 580748665 727168971 572289391 240488221 182003957 757004623 109158603 885998217 474179119 520358869 386219589 763186889 838473723 87584173 809201789 883153445 446562321 5341269 695451011 621750411 966615569 816060269 842521037 311519381 526698631 254314947 934215989 533893759 68928993 39477831 878313475 465005875 351503225 260690713 524599269 554330431 542668435 309427321 741373165 174637017 214418263 896069587 203693211 483278819 832427987 381185721 673859793 141183201 370493189 927078377 725541089 664969733 186153931 926881859 143600253 553341221 633986031 621596117 108886211 294869953 561074979 396388561 808976695 328240641 213423617 60826769 154640585 158703025 131039497 199203483 356432589 843213131 885714339 864681369 442367487 620721389 282875681 956854879 898090885 840278369 946193855 684735207 752975341 296805137 978578331 790336851 97757739 558528281 649696191 764283121 982848671 104199223 170682141 185664307 338004491 112388049 279693711 588557493 369196701 682385655 339194067 57727545 706736875 343541599 253312405 666785707 813447409 971180651 361989223 155396383 672389399 728909857 73553599 117213135 27838759 253327921 41690625 995662111 866766169 421137647 617868917 65755033 523469129 536818269 461422669 386652145 840415483 798232867 641935011 492014083 682239965 233856911 408105589 269038547 311988167 853998231 685812655 134424713 118972403 981231837 250813987 13652347 109442567 950855077 979740295 761661219 720199441 950107105 207355263 714493989 527278213 303387431 396227219 678493259 546251073 672876215 513120565 239448969 892733579 653417081 450087357 893379323 237781775 586243577 380174957 622551525 897311201 278641521 137894511 151082671 619826563 806025919 660779733 300670447 29185749 914911851 213909 859585377 627790375 855797413 395536531 584414949 810826799 427247171 152901783 446859143 976434951 70429123 434844241 717629565 930894649 941866575 350253405 507969567 570274989 280929461 411499837 741968627 758720443 752803437 447589975 948996769 305756705 12005013 878869245 546608895 559737859 723533557 539609193 460248329 269655789 580953339 177233341 311089631 719070423 603861185 92464385 856097743 339906333 349157379 384468005 106415945 802361221 977005865 46060037 578309613 631363897 792303685 312214881 698846587 70460371 602160139 220478947 360927965 55161933 475787997 259003675 768255275 48986127 791258559 823510403 609660571 411838435 323919715 261211517 753656211 506040063 821986081 586888785 787296671 446910977 792158707 439377711 421178481 292361711 460283271 632836147 447581925 538236213 241505063 409531741 850335229 716890281 587113165 362296727 984916965 122370185 955218455 305487793 536208111 736936825 201930061 838245733 809818777 232441221 297408607 865906259 435596931 152679205 28698595 79328007 44274043 280977971 130622999 277382129 919327859 696206073 495221733 930903145 670558087 201470751 899820507 330325935 181610233 363603135 243574065 188187633 276386869 148571987 889721541 75791677 653081295 909546689 329250847 264656525 49803137 117561943 145151085 235393217 618966317 729030089 600341383 124696997 188990433 951994933 714471663 187236583 147914705 7762209 734024391 490140451 207108693 652160889 794862819 579753689 335531249 678287507 507284919 824532337 616144977 157691179 950263653 975672895 918186825 398116967 225016497 834869627 575665107 146042071 909319693 853397317 647442963 18516843 609498767 553772201 329646419 777050757 146402039 927298197 153022727 9403623 694124203 603588837 245699019 579383999 311610555 27365209 405191267 671206565 493907167 484245657 568529591 459752081 980414583 578048825 517416157 403512557 244808071 80172207 490371087 564827013 735503295 357278817 751197617 800565901 298067833 543900307 174240335 982226339 764950707 720986489 770502297 370994891 833374225 290040365 162802797 129767797 761196519 55455149 401991631 407465845 213720363 342821351 30752231 625661959 507143291 841121959 726432779 587615953 121676063 924005547 793937591 133896929 271283205 241673361 395970187 305295789 724173509 804186083 470977877 924142607 18215583 710511125 565116165 170992975 237498747 338655099 700111035 272890393 729775847 852368987 729391541 934414211 399912729 792541659 461805667 899172363 739119601 477135629 192099669 725477013 658997753 211694061 3575881 331379565 861726557 745013849 661922079 194526027 993880309 924599067 460732133 461251659 283794753 914055909 818774221 794475249 144512871 883610961 82726705 270347053 27253815 34183645 970670231 867382097 806301993 586994933 230988969 774533917 200139611 877925611 835742009 816080565 584240789 563761397 813887813 300466087 406229575 820756023 1540589 858573287 500167303 420456121 425019775 694791379 426277651 511687789 500692589 193918513 201019989 934101035 884836947 634097453 647176795 226336951 811905779 826563933 135042011 357382071 697959737 506099133 706339127 417398461 611804727 858013109 442777973 123805251 866753579 692660239 104781635 985623723 646842743 725097987 492402683 425316157 832949669 992388651 383975065 108052267 888977513 817353105 860101829 113789581 40341151 952258205 745586129 46284647 260890953 140248103 810686385 136086175 908947091 596486253 619679749 484649735 395164881 607404563 560104727 433789017 791466877 713222951 387111123 159167031 319965243 228062749 107098065 571543849 526448085 306010835 309432401 182201247 795968831 120426381 364005177 298375927 447313557 448547835 160717593 973452909 709930009 163320369 882906921 322208301 978415417 396560299 76446791 595409991 207094149 903478351 928741371 740837813 184617913 538405739 664974709 712077657 647280825 85565621 847004809 763657465 497193103 568245063 15454395 809442891 451033455 653337769 724166703 744027621 138299575 60251079 661215411 292731465 33899493 592403961 618562755 286477537 686748585 93153271 647788155 179016445 612052691 987188971 826662561 303683799 841260895 727546207 912727977 728750225 323468145 906934859 760724133 942288177 723264595 877694987 951699543 218736045 658744187 132710755 623446567 898788315 485876097 823819907 435705633 206672765 714535211 260705791 862685951 426277693 38770275 620581843 460645665 106836905 526673723 607738981 15736203 287271487 133699311 182034307 91777007 932080735 224016611 815237473 533713571 393235537 943953315 897385373 907127207 318720581 858529761 779812413 384990113 486709079 301532535 15215277 832415969 34169479 626956395 395029699 343114847 740431293 112712679 515812795 8037049 89376973 853666109 670828861 772343607 190945391 982331115 697225811 548267209 856536899 327049617 409325173 185529091 223990997 328592125 790648957 412607785 271949459 604315425 99851699 115820831 851064025 412132633 395690181 417595507 597151719 434200103 261766853 360204641 213838565 340338871 31825459 949412805 695222503 132018011 563319795 461507109 773181413 715027409 149479507 739146419 374941631 870131193 409205767 43339847 661630273 810286305 145313581 482533725 399971097 703738811 323865673 526846237 479560419 369818339 971304779 624756313 237270045 804899035 891213959 950755461 593218869 53412687 492333497 241512641 839412343 841287187 472758537 141494487 878676769 368477217 940504065 319204403 970072145 99132573 578037911 377680109 419995667 564599761 424208425 60844227 631919189 617337393 185892479 132803103 975765489 735010649 798517953 65264913 61887403 426989323 76389511 950399051 612081449 674330163 494638287 627185713 489956863 680903141 262810875 65643977 903926947 356533851 914147805 767719875 231317371 915557369 585648295 396164981 208470987 653934665 468122615 820763101 996517063 149422337 172937937 435014309 605404807 420549881 64276901 584636699 493457167 904813877 734601029 604981557 593510213 624453091 465308145 368232085 527999485 143817555 522539085 916954495 424245485 842087681 439769191 45233637 626720697 475665041 943464117 429125727 736412905 185643213 624849681 949473577 699765999 825290411 337412547 911338795 417532197 622757955 451417207 165187319 802950857 623974363 218685251 962562497 438913031 374035163 772653475 943330921 4218609 627987673 20606847 901970553 168822397 606369937 468844577 369051419 670025103 987539171 574569281 563236395 704293871 576467933 334373881 180177703 969775439 13251503 341890003 537578549 710374983 903481785 539326903 621350693 398913881 798177657 896721149 258501231 98251759 878112671 741560419 461194801 937498971 459256059 604813581 392425267 78010323 588644235 989240201 352384995 141945211 681999727 451275979 598190939 8203611 450331125 535425329 975673431 883166821 281639567 273669505 28713025 402901105 116017625 857809895 223045159 893588289 192495251 534685431 712734143 750711167 389321901 16363187 46961259 462879675 810914361 547845499 782903857 197929839 717233775 531936543 537608383 697403901 67051191 564083157 470334573 428493229 84769689 91885367 291053883 69198513 499751881 359921997 339217871 360846369 912282915 239548291 61379195 260301055 233474473 565516209 877471795 493962037 462636167 58045711 428303767 830295699 388820239 366356807 848063473 749806035 888517055 783193957 606814251 176295319 108790073 940074717 387084769 847214437 606085447 981195915 436709969 206557363 367816669 351986105 165508961 277763031 611501079 92998929 268864673 888423699 609768247 381390247 275695177 272658321 388243881 232615931 439314999 481997921 500704257 634025713 552094963 321047421 58277369 454027991 184430251 513220293 18548085 281378403 911912505 555937029 336363903 436341679 520455193 817861869 874658123 670780739 654481781 2285077 858003765 844346635 479751451 322895359 121924033 33940317 94766209 211861779 747056279 171852789 866940105 729832869 300208013 734358267 469207479 757725933 320114589 152697337 27574461 695423501 892066795 561448167 230430705 211978507 230871233 948365089 511485715 376589277 438686869 19171947 877603979 546593623 946408191 111871987 757666917 239616575 234811845 634986321 889076059 943554109 241600463 730900351 556845005 545226977 707335219 721946083 608153279 445146787 658144555 900465993 789507811 872599017 766000925 137740523 462559117 647552503 171733391 977194849 122696641 901508611 736466489 129370545 909468963 766508065 22926835 716750923 25824515 481445975 726455747 547271171 851539801 918973325 853512145 978113301 196584899 934854801 751018613 754695721 544389257 317820193 893743397 26066761 819237785 566111963 868115847 985245931 915341 154723403 887701095 463642351 374198433 743033311 933194935 96013719 820407743 279573235 388569233 347941009 254985587 796485317 971989051 676738037 596697849 46662531 884423967 233104187 424485163 212103993 391042255 667650637 95745941 553109221 758821385 794167927 616096099 929434469 873861037 179179373 921508461 356932227 156563401 859917387 805245491 848041971 440743055 950605979 946962141 792324681 832119131 381948743 43410999 424846859 939286447 131458467 632280763 43970207 561800247 966210671 651973767 241076057 710865349 61432529 74649699 909926511 794365527 895796563 726983871 106223109 605796879 510225643 2442929 390284579 816178231 321937399 477944057 585394875 509112387 177482557 272586493 21388455 752229071 670345449 927452621 963467941 125231261 774231953 131147551 215804259 690848153 439415091 869963349 857794413 17055191 698319409 881564021 931863615 139290255 107818589 23205421 9274171 321181481 673768937 265392343 178229419 56376877 640427121 509755247 83057341 373450833 137619967 798424223 469975691 39393645 476139003 446885557 596152599 581473669 602228799 995797671 826333259 401057733 491332611 174710039 236834809 404787073 211634931 228860233 656789207 413916979 425749013 767306799 441492361 430711167 40019171 452570463 712263063 587888175 292522555 336637977 981313651 125683001 641838941 926134851 138987125 279384501 392957179 278643055 287111135 839534823 177847337 207306193 105811419 436249405 129929059 903807817 660221307 176964423 249654673 865038943 799777461 36381889 840723709 748316995 743178605 475457935 729649759 119862987 835202155 118012093 334594001 755920757 969960543 862763899 198645723 456881771 932606183 76302375 63273579 161443451 640987519 177924421 181313491 90793245 814199443 913164415 348522451 679679343 93164659 747481511 496532109 876484921 192458841 425802681 151735187 991860713 944012135 217398745 363722967 714896279 533938085 447241299 690071479 448879621 84141315 786380185 805580791 424275861 330239581 934550341 342850247 580295771 6020725 415577373 898777531 754737419 37994223 700115979 148767183 686275591 306671457 552636705 855368809 82963539 115691589 159905437 275299415 551611553 28624375 184312031 252032207 856063559 259304901 854556533 386055787 224567365 487685853 663627793 807195699 551630403 941853531 220022157 943648403 448880013 935169855 740554479 726711905 667094557 793013619 326210145 814922715 674290065 680466119 324409397 498379171 889259057 239356149 637345769 157107659 931969005 340752799 841647391 841415875 643802459 493331787 95519393 350625389 411611321 752107119 383205731 495369483 589598961 140750433 805854079 296659533 626234001 987663971 701774653 827826759 852364497 381034653 749861379 386067059 197807247 655212323 290196325 472963773 711684433 386180333 895798305 608363115 448357963 187464923 158510361 873973559 670261071 646995129 717039703 125790271 761617887 458833973 479358479 458691331 789380643 667994091 542207389 412961909 278559209 451336795 59691139 998218729 189311911 192648431 757644653 633891869 45532541 487233269 406924591 209253939 347351605 638465195 493310915 851669179 90097211 572037167 946463565 634422443 747553447 924831885 954277655 700062813 932235833 166671027 257803415 912529563 680549463 754817661 590483557 219881869 614940689 375610795 176926021 642973643 859317535 495939301 994020643 522865491 932695263 449448639 871437331 345218185 711330651 54595761 227865425 756268345 191348285 681574427 157038653 351447451 449233377 847890247 897442659 868585803 549341763 126735975 247370615 138792527 537347085 286857365 204643415 529616915 781847949 430286545 649026049 59405931 410890171 876588803 237558181 407061145 739471669 307696895 104209555 707536957 338474819 105379195 47970631 491497063 223455955 258025243 291952741 902437515 928928125 174695273 837924793 164232073 51967105 658746835 816448821 854274211 753359303 69040307 745735155 575467143 434048733 590838861 845727545 937205835 450264569 286877127 483999087 501483117 713256699 988977205 878907181 114733519 997950061 309215117 341956649 294719683 15780475 884843955 328831561 14765561 542265341 514577775 753893529 921258899 751470963 424880499 388403787 561811477 379224067 367982937 842265531 592368489 674299005 206314143 649278825 440721385 625460313 318855601 510803717 698955599 907157173 230728417 446808161 978109377 924812633 809139045 219469429 163947213 637529013 438458977 701159529 111230055 612167133 39531997 567825541 673712621 209162133 278502859 432825661 989157669 66154305 875267331 273947691 981335355 31309553 236284489 699231509 457821125 636566875 488682307 629716197 131827135 701950689 416889731 867318959 734860945 806327433 849211781 659172525 536280325 880684801 97424293 415035201 762619473 634686369 877624113 200949753 411002645 984822635 955005273 683072647 368724563 444865025 553225781 784384455 500129403 189440695 476638665 708647099 762629215 301142913 223246075 291361169 727649855 455461375 317557917 60093079 639159999 163288699 930334313 642273101 69131755 888779489 80436225 50209621 631682619 22325193 335218669 133273977 14582667 343054705 53089439 729503407 957796385 389670597 345157999 353793295 168267177 919354447 886914463 379275997 594000439 322254665 413862233 139420549 861262157 104084625 646650029 447084187 986162379 844932527 136006805 508444377 829038081 703087057 506629107 994333475 794912931 340884689 927636111 675288451 834099153 313340973 454469145 243933231 656034573 265744393 264249645 530208895 247693637 2641465 58336331 688525305 10174927 374076211 681294557 764973381 281369449 82410261 779585075 496070457 951290165 910701221 949493383 700374479 24680389 308374103 315586555 514523435 47495179 381508413 474849685 47399065 845674597 435555353 994505803 933842825 298508183 983220819 870580723 764585627 527729105 427933431 538135119 262017677 334698405 642744255 351566857 6819151 151603987 263397387 802352561 948742385 115851903 786505695 919118529 689422513 464168887 420453101 884503193 534229487 666168559 197461899 309886853 166250297 934595015 780859321 954212787 147661119 601923647 735860765 311842367 850453985 986055625 962704135 378926121 364085535 952155705 190356335 930092889 741081635 947866829 588787187 347573155 307874885 475030823 485139931 795119039 730443259 337152601 133917719 159965775 300761069 163402707 939067451 916259033 858838499 596213367 205806987 418467025 628903887 377202055 315475945 240536721 209934033 461753779 98097385 602846809 849101353 936085517 553065153 656259411 520182339 7981845 810982223 105197709 814130609 43958191 73192729 455262725 777167409 33967655 25132625 464372633 284784037 28285237 186957263 354508821 301146903 109295861 933937167 918643751 919611835 626339309 428478521 662774123 801584109 688965129 844899103 841313119 300827695 670869919 329247797 749485169 479048749 560705131 212062875 638366959 552405433 47696019 230999579 952209425 275302865 897620901 493570079 239624955 398617495 322804119 228086979 630279607 244309333 295052227 941545925 820954163 127426943 474810865 40431499 98606921 828530097 999167821 334577189 479470013 13873583 731820911 816763979 334705461 438380129 125635919 453233243 422554949 910999773 473970775 149820765 956761701 412665181 440953169 5505025 841495797 892718149 263954293 160030619 243492415 478233375 430159711 466088751 500887925 915952543 948744725 344910433 298271919 367028897 213246465 335968383 844943857 974263593 767392253 648439685 243101729 38039391 479848515 527933711 473759763 283923865 754561913 300901219 578042237 527201617 981421 510666867 381850115 945765931 287325011 685513431 640768557 202719987 537601097 304236747 268145773 154337945 665966805 86965559 553154589 550940477 794771619 878293677 641503355 50889501 768243145 501628001 203933619 921659305 710115269 60516147 855839191 454753905 218619513 304297131 477132253 188415537 394478903 560292345 517875881 922124749 769024431 477916403 49029635 148185937 578973955 519461657 23450013 827185391 724991157 110754961 902550031 42397697 103046069 695542571 371020765 365056525 491182933 123557215 742910061 941449661 807749717 716736331 98706193 356176867 804178905 187567031 154553859 848524411 73648239 573146897 160862053 490372523 32914699 926720115 468765759 788002489 604623371 820545177 23808899 851953437 615985715 394683629 473865993 218403697 396641203 450586237 754195091 852836471 485988127 291288831 91372747 767931931 152870515 933582805 897584193 723206767 610007063 174145285 443847793 860619441 170678741 831835197 374770871 380318273 28234723 929024981 823072097 718652845 136983521 668953549 786360991 231110567 217329105 347752139 960518537 57592331 742655265 920126753 953330465 632488667 909211559 184753603 769230673 790122307 678090913 112510801 288955881 736125079 877364659 100814099 272385955 49370447 802275305 290555385 626748705 503657491 809278139 688334745 244378091 441804459 420126469 626333491 606605681 609216267 469467661 275849389 751252495 639249487 124803709 616825239 473652741 969966009 364217711 649208361 430878845 643038647 501638493 165502017 591177863 508890839 825388333 227165287 852450333 671945945 708050221 319237833 526030113 179181471 703534609 886903361 423554137 576647731 763939833 994581835 672242811 975845323 650757477 897134353 746687261 280470719 221009993 45666399 84476353 635172755 301913845 17501361 659015375 875561971 334178599 189779235 150163099 246700467 537336583 595832699 891274845 626854349 901852703 233788715 943668535 444464997 208345703 941898313 303693615 348507335 671045945 469740181 869726267 989460067 499663455 118978167 311780657 331656151 379828481 876857339 493337297 76578535 891798713 171571675 941340361 453842555 588276863 934300279 88963239 261954987 638078397 507203795 425398501 675186349 939259199 359915937 140417507 559473639 162058809 678191157 962801899 702652131 123739977 365086611 858052401 443225943 92586357 703088991 901342411 898464795 221178665 370898153 194857401 517153845 913212219 736503337 913602281 503589327 906964967 563963581 644623657 221310779 933305299 890815213 387433009 669657077 151925007 731191463 838259621 750292387 840753163 896057477 935789583 504583435 151100585 534390467 767747037 319523621 364964139 501608523 447595 504754699 429886271 101364137 165078263 730969087 185305339 290880537 896105391 364246635 4730333 386424437 838199969 883248871 393418697 142815305 572083397 525451305 724929547 985058497 747190015 321981209 6764123 82244021 16708377 2420159 334961109 892364965 221314241 32480847 829430783 584754615 401374865 374345763 788458435 811130045 511142669 228620993 567630971 959744043 936685979 804613843 423265505 115856929 670907791 674737965 113316379 66206055 292406559 580933063 498199735 340179053 887142511 202233545 915918251 819775049 712411785 586108283 894652241 321971641 35235931 175198545 187295857 73764905 595023807 893889767 589798199 133026979 84288121 791585023 493780537 927445215 8569647 895027589 33807733 219830847 652546675 868107917 367695181 876124361 35182529 965618513 655765393 521679915 94572151 163573045 69583991 246847679 792619231 561342659 776882587 551598721 329024299 742081711 316063489 100720667 906260595 376113877 879087641 319537115 652298169 780271415 738766005 239710391 322707689 21136643 763649557 34217807 720139215 17894791 779945437 571237613 119298343 692412741 27626267 219980925 955404179 727101145 978772803 856502679 65038491 828323349 240037683 595060603 755665841 284005607 551299633 850598415 486433069 212041325 708608745 960437989 880034131 527672299 701372017 184827441 43266377 769021897 846306629 198671827 786555937 978933405 656738891 770318931 49507797 756222497 37555155 594812385 538800199 927313977 785409677 828990291 945630783 326065137 70590107 266912551 954461807 63481979 773567103 81789575 27487855 483604529 957510695 102361665 521200065 446460311 96222697 808274381 13928655 267696219 620330883 990568521 896263145 501096013 288590617 713628541 913605705 955945579 507183161 165197015 853764369 231800277 28559575 906756207 793541705 450831575 220738127 711941127 768534497 387569127 881325163 616494081 664994487 985085599 777663061 429844081 341634951 93910719 542532513 231528459 161846781 293257527 878007121 353432881 246390697 98529047 433302725 557756135 209517829 41285277 401958093 822061535 741690481 837866025 245496989 319754607 359623993 299487049 893148373 103360663 507522701 14322607 737159285 643094271 924584069 538368567 673745393 151675379 959139107 728229347 36252697 58240877 911520079 614401245 95319851 628893451 912213469 605227901 366129103 636437269 69518469 607042363 204076047 379568507 869563113 544030649 656591971 100625619 54203791 869785029 660962471 938207579 416372461 445654097 150162207 287001597 281185369 593151353 809282427 41243975 197920021 513292671 320676301 73872497 611610441 92673487 700196757 495619161 307523337 23185405 844699831 48856709 157848397 739485889 901573761 396695593 477899511 584133891 607598759 647257367 33739725 512828107 899340359 379698385 879905669 981843533 773961959 799438719 477252275 999577829 604365683 436478703 366835677 755288599 227804481 408734615 549030507 511238795 640238349 601857431 829657517 937261335 958228479 627891129 907870171 69426101 40685729 758693481 790928667 758267015 644406251 861106879 747874417 122193117 696358967 490246523 96468177 427476005 77052493 832699907 991621653 773255933 104066139 738460007 995554301 649189417 607872755 429544287 354670897 893279121 885057557 262124361 921855557 665829707 662170149 318417197 844814513 678907537 651671791 629445307 255051733 320219335 104182443 468402761 129760251 178451063 526802165 952872405 216221013 294809687 381526995 145677833 788894461 994419263 666534063 698797875 981130227 631996981 221487971 384833099 725802015 120766305 741837609 512745967 286246741 792252697 228526505 286259557 295378507 55753177 594635245 492079009 628446629 226788417 32231275 827966517 448622317 917203997 151009025 718185571 95241617 318680419 375141365 891174419 827457515 634435371 369688309 313245393 385653823 510042299 639915795 361892569 114449843 924136061 166639309 136386053 276706651 88344323 939284747 146755809 843026733 748973065 174701079 172742041 309906701 652550517 290769065 453372677 51742147 823721551 37379293 211175331 850792961 519164361 46380855 951413407 668159329 734252611 140394919 644784323 572551521 566084157 456904831 234681737 309979757 940364643 31757183 868217871 712942295 835849095 46204107 753130013 632661973 873191847 107007473 218976547 89795211 293397731 547196645 800569141 749715713 760926601 264234247 99935255 788381481 719495179 940451863 963254317 403560413 380651525 379302215 329148807 263670747 881540921 767745579 351412443 235038927 981928083 656059841 962184843 312512585 627276069 927659883 234025373 239004357 154809133 101757945 193741503 227599521 339575565 952609441 169089353 144471847 153382479 31813119 694373435 185097095 937451687 31971095 94783805 855305695 914817777 783620695 58373533 885575211 386349615 802323095 240210257 950255959 346163341 83509263 403197433 424460339 289362527 704641897 605021151 481630841 345161503 149787313 167379695 652114891 417356399 620588123 400181697 165160625 177656095 91691077 122877075 227834269 421794333 320494773 271487057 265378791 320784263 398861141 134519173 536251601 580099999 203218495 478694249 489347205 173718483 542085869 946724059 941926163 953268145 888117063 862517603 749846901 818340859 608057495 17665071 759713421 495799693 814302867 260389657 338932259 473862265 850835545 751223711 656814055 825507053 105473391 203236325 601041013 731364935 281946307 564243391 874025037 302608395 690662311 959446435 893055193 626246369 932303065 761254319 435570025 929836959 177909633 368069289 272980535 663781953 993817643 891643651 285802853 405422311 276448201 744678869 24326651 245648605 840188093 508988891 511885545 690575769 810739147 907823229 747416587 786470835 265513245 453745357 90290977 15747569 308735309 979511935 66230485 598567995 817940053 414550261 446124471 247096489 646658715 870854707 931521857 733310065 961646061 439403499 621614803 426158841 787248767 204832883 703140537 974752461 780444143 99349451 727846177 932766879 588185667 569241241 114043175 791355977 806919399 672183085 911135179 561082833 419934129 543257727 550560503 123549793 981721053 759243565 338530939 316411723 890637075 400603775 606982927 934685965 907465309 582314339 235546969 945849927 21063987 590202739 73111773 348029127 88911473 414982125 270607633 766597247 453792091 972614325 183295561 431659145 515436191 534053727 610116811 864705067 33599829 395520545 429853119 823944655 469387765 939287767 574292021 481147401 663825257 394621453 416040485 538088595 513543165 228278255 71291765 317562703 397854821 255528279 369912553 213368139 223687871 819282113 282399541 178062265 621942673 981652821 839425523 745755381 741820103 747034085 407903395 904862081 529348789 833947109 977123245 978619145 252945181 921842293 254071141 431537505 956427807 896226655 98672385 859524483 235016011 120422413 538024871 770250897 228111509 734382747 659903835 247286491 304111453 688791239 796706833 811329231 697803109 662045431 39615139 127233547 152820699 654169403 966534607 684377169 854721109 839783499 846424899 294968973 544094161 627241605 701581451 253791187 111315379 173181681 521660453 948137053 963268807 541186623 177893999 723455119 335362117 553906627 183216819 138028531 794475721 397942913 844309539 470704191 296950615 660386333 497967833 45963339 502746207 786711525 588987091 289546011 448681653 681994709 820241149 903730909 110676629 191519113 496704041 224901601 572928677 347284807 687674893 238602659 113556211 61600001 258192461 788341191 309554163 830508367 754961267 486368023 641224579 70598253 410466797 87778441 294102505 827123523 208593173 173202485 137443537 210861667 563695149 764026465 391954001 777806593 233637727 160637045 287609317 632083965 227195581 241691143 461987701 700375775 428922173 969079763 18135115 164915415 348469699 964908729 210903583 603117499 607863319 788637893 489362445 142675211 197168619 83577389 412620185 737078509 81396183 952920651 905681841 50482481 273737311 325629087 566742957 377278543 608061161 114556889 134548039 454032997 474492103 595419337 884204197 26417723 806093875 164104557 832778579 657236031 620131151 470072805 142963529 860039051 256878883 154650495 629504227 596052699 471866017 605067181 665157351 179839897 263317409 544024841 693258625 541267155 769427941 210080857 58352967 71906879 387916311 605625223 554388021 5178175 732348105 112504999 686985393 857049559 910468465 731078385 991398537 569547707 66823025 955960781 705188851 261183805 357781781 353104835 3402889 670942815 449783437 787887495 982327891 590792135 404108017 473023731 74060991 145511367 231216963 200239629 387213215 702481235 875088749 164537855 514192947 590952715 575522111 576308253 706656285 372589111 195695475 173803233 451209839 958209991 483457707 178325741 628382363 75431761 113509999 869044241 351956863 709930517 744633903 211891259 742845023 314325497 767574599 588303497 744755691 294745741 400688887 738330685 487492917 864675337 963396969 832281539 962737855 260592203 908028077 949193135 853888361 846618587 97902781 360244155 49711491 860328167 162941307 485090761 285386177 273763913 273459117 798633193 849836097 748603517 167022089 184965705 363025289 680264365 638059557 289788999 916415365 517445541 31412099 392783717 739943563 446889185 873044621 397192529 509705305 242615163 359004563 326117339 635419921 80644927 577476045 393958399 26474053 450082713 150584417 523926241 567887333 933930657 927918419 867451083 633428819 379792919 7340697 988576819 267119185 331229283 281942793 214746801 667868175 818024849 93641573 365471753 610976799 419375707 938412373 766344489 765344129 898822943 123913325 812906785 964986777 786307815 220646693 992880685 282479413 734666333 698583005 469584561 325693833 447175389 949330401 775385657 686752051 286963557 675392607 850053751 474689849 236687771 692772211 77581893 546432007 195297999 271595291 955535529 416146545 718883577 928544837 891070411 768381113 170943415 920217023 603362305 475934591 528634193 478772545 621961927 461716691 362925493 858191985 195769789 913927979 450460029 226031059 663268785 118113889 157543653 929947611 850370453 573068989 970340055 214115299 924487043 155360237 415588831 890646315 285655489 247549955 197452089 926207963 748486073 286515839 487316415 586331143 545110269 854919491 701193469 362872997 269082187 719116193 9760799 937218713 397918339 722680651 412240637 123710381 888923571 76150111 392284439 382797199 825014797 154992481 166135955 903863001 54579949 290283585 965358403 504090127 58449877 568603475 929169819 429342871 759305073 43374931 994404283 689613765 938311315 990601575 47236203 21559759 539412793 523747357 256183835 961416409 7315331 975489129 269106657 657662445 745971903 277770923 704040571 163364857 581532257 129706403 953554259 856357079 543912703 907482501 375972215 979117643 391200611 121242849 717890719 959875835 97199987 169637301 166116393 685126009 781823811 429975145 185619997 364156737 33314321 636747975 561526825 981347249 643487551 716371207 377320103 195605267 655084887 502081733 183855507 296231321 540960013 711373317 964390295 508567131 195847741 253416501 520115967 505698397 132059883 619227949 383791815 324840325 795968063 210955303 997043081 692327845 218199439 916039369 443484817 220765559 256929621 13050913 53121227 204163485 597166133 758933411 920496591 190626719 356120569 950511149 971157213 105422575 216580247 129080581 918665691 281905125 197622055 958638807 582849627 790120133 835481325 238364855 352429713 143846581 712091735 506777383 419860573 314301127 235101173 574768391 899810887 714988277 911478147 449701031 202033791 630970145 815374565 445334205 20812763 93112339 660070181 148671843 349969625 880258173 593257337 86802211 309954211 887164407 486813753 719870949 47373831 735147011 679524331 736713729 458043005 822767883 388770359 390188853 247280419 384319327 157613301 372328869 437127103 532446777 55133467 269436125 780563909 37975739 982920143 293780693 919503687 173182189 98575709 667464937 476347913 870811841 175924791 462244063 491735149 875955983 691442167 694641633 558517383 354273945 567814755 416366473 287349515 129411849 98933859 785767633 721121883 457232879 99262223 391541023 308726139 115761605 140145821 666505025 807339805 952505067 266122613 417954413 604814999 652539053 337226013 277112637 228443369 643997755 842252621 797819065 904452025 878482861 425906399 351180109 578004057 850787077 810627797 854677455 588733629 487781163 380549467 79812733 5032069 782335221 884592835 360511483 468770809 681786901 597722763 701785173 415324937 107480115 865861203 992513539 972299339 998460885 625004265 923447007 443420157 38979947 357551935 249002291 860254473 991944785 927699313 13685415 826711549 202405831 495321537 232692053 737785873 804142071 179051419 798653111 473236001 157499119 350446227 917931187 768607673 275883949 212914531 378353303 467301895 105008913 920971503 136811031 327126239 394299105 127130945 105226321 294190019 870946515 317820557 833946827 499809499 209344891 587442223 322355313 362054131 800151903 275873705 570184345 697260935 49608167 572792743 757274111 20374961 590506083 290511613 111582153 367326525 160944907 397958053 215374471 85228695 90786821 390904771 547328297 499189463 64484437 25936033 701568017 538379453 120615153 8435635 384851457 657496495 579823533 94193047 20902183 947939005 772669007 395627275 932343323 890557343 859025277 185722365 349536469 883838899 814532555 392965761 744088511 248648449 260643505 460483025 326685349 921934649 599679887 131194193 720930747 246888113 833628847 612342669 936187039 676918631 325583429 123028277 254956373 268335109 773032293 405672489 22466893 871826649 995993365 917018727 662685275 113473755 621262139 371104031 15602619 572778153 519212971 446234529 593025299 131041673 48015131 776552553 101362545 582910063 867375153 92438043 529174603 254742253 951975025 656099459 275356795 480519237 459184975 2115473 480793417 613119583 164152613 351839333 19390817 258334919 98186289 451749951 803985881 506217401 417632671 396122505 862655279 318647055 203888769 348934873 822946887 263894869 359609037 56743915 202740077 540389045 108004967 89367199 660595545 424469517 426427417 199903235 834113575 828576213 992227473 885557065 679326811 976631099 446471529 137811659 980283365 283427081 576671267 742455055 439646487 767659193 455974699 605401535 392646065 795994985 812711629 233408685 328125399 109562081 393409605 839763671 302317335 590052497 34905269 637077341 695459173 293829261 442848807 116413069 13007903 675837081 484413063 557353177 190002443 479694105 763714741 64933853 877285717 357235741 215057261 363633499 42323603 13750363 364910683 754465855 502066113 192183349 534552849 995071389 626059847 229026993 4469253 769691565 204418799 518077053 458814363 50596055 397419249 307498225 529272603 374815907 454192359 363746573 523446711 721618117 2014683 99252345 428063623 385636377 844488245 50815107 521937549 480173473 7214797 584724769 257912243 554085769 379288033 229788147 688503753 187874853 45333525 380925763 321115785 778946287 112797047 177898747 418766741 154585483 528833147 154574263 357251445 226939075 368410879 492487093 65172123 644365195 36173639 462148573 297747551 774105599 54937347 17755323 812962819 421755491 851832391 223202697 122189745 494257695 266340495 713547045 606012793 352698569 23163329 280681751 389160533 745468699 914960683 76808845 188231975 577841657 701341315 982212449 936082871 913120109 40969955 464644879 6916533 729550765 582540755 452122561 856924607 450503697 540402751 259584837 333316177 209054237 717388669 888305683 667623637 17647231 746114635 25204807 563700383 413256199 142626765 379841197 492519399 936009905 76988559 123105201 528638159 304216225 143868297 620424301 512686687 280360227 668209431 719114141 824100231 574824359 251796477 134370985 214221859 962287821 355820139 820201123 269258227 659949907 378424563 97679167 308601249 673181993 141387669 948858335 497677245 803529311 359683255 561943175 834810305 591899185 630496801 260889833 665384717 781221381 550189583 396811611 196984301 75116129 704692761 342815197 634987151 253224445 844029511 94072597 100388367 896239283 549688837 449288019 610279789 664445571 285927721 80257423 222056083 61423773 63238895 666245735 394626385 954052179 360088319 454550307 899138145 554326557 895383651 399214769 529315427 255818403 226871955 382453931 481836769 674157995 839495785 323912269 217233743 639175981 597465389 279607681 529072643 233766979 450256781 915919829 180847933 390294575 795106971 977580929 27693099 275597149 863412951 773123681 316770779 490760799 285971237 524020993 920584261 120358131 58856403 556361101 172922703 715203835 995067285 305171165 726831549 827477889 171327625 543470963 402251843 453077433 939764019 781274737 252742779 180428285 76109699 975364779 140695013 219267797 289850829 777528213 180778217 748432871 718443469 613206607 884220891 538395911 704659371 878058657 976631283 604953907 715294449 400007675 75085393 953237901 523459989 595340915 400709887 735948383 587972341 921996745 471696879 225434653 467388121 585018979 333972987 721302627 898698857 140068945 139194337 742785779 901020477 274273867 86529871 833901755 831619155 144800943 586490833 632803531 493149453 330357893 309909477 369939807 227130429 28759165 843821545 729376473 431905557 670062571 322019623 267561161 399676977 877510099 213180625 191704797 813505179 89939415 552274689 780124659 555429053 566006603 25644469 728312079 278082411 533828133 495921115 812839001 542446309 304870401 779465279 191269415 929561551 191990571 576515231 76263411 285801527 173664655 791273625 907402081 805485203 838269381 955769527 834128189 757757117 792659471 784951659 406173303 810237693 114189135 673771533 436007725 94554367 784500247 871090145 642542499 890423513 21813665 461290253 84813635 613855239 827468487 413893539 556487071 643887729 628625683 840032413 160420723 840589665 301207477 349025501 422436259 876915855 204953219 250041899 646684219 769465621 894912253 321491513 435840365 695215229 400431945 520267681 583020691 214048687 70051639 930778337 261072691 976727555 251886911 319952229 854065653 251284535 604791167 531912829 557270449 712458607 619734207 610742885 99649629 289558585 254127981 100467513 920114209 451113865 57757347 114641415 973014595 896397245 11103517 810245567 177824315 874922395 121299013 46115897 443384995 117524303 170923817 935339321 409733181 908667757 851137407 259057509 890221811 494441463 715604649 417658191 61116125 348369741 295607979 278952049 175792435 599426367 752428343 47257645 94498647 606918659 298758309 357123787 182175191 969941299 698911473 386569851 389329253 580480215 38044867 78560857 510587357 15199323 525454445 433182053 964121409 768494487 938261731 542337417 866544829 21253059 249703109 722884245 154976675 794103433 718820699 82784069 51138673 687534837 995918741 731177525 826810825 231884921 312539401 250935539 254191989 646925815 31532279 778420975 276977513 610793139 532673861 816723073 803141825 307653977 244809603 411287531 653314239 52265213 602040809 363286101 860326863 763797535 744276565 937262291 179303557 863986595 748803917 894333277 484973211 839082967 715992837 982074325 991536629 964478321 308481615 944772867 181306781 957765259 358253999 33343895 176520391 238727597 308329033 928667949 633858513 867764931 368461035 368244037 296508729 470715939 935725841 330453577 397677741 658915721 807411157 493801097 298684929 285154589 954975491 654764351 385761839 750446185 586254343 46629259 468628059 339890533 836011257 575466873 830502609 262548333 519397785 513045239 522109953 814441029 401217615 1300705 865730953 734830363 226879271 716007415 696225581 27292551 407949019 942462945 8145365 565753987 44975561 610045491 583202967 131555189 460227323 71860069 948927919 506218281 115511579 689125335 527493501 679782617 640622981 790934229 614109581 385220381 448998199 908704141 915874197 171116795 209724887 668448795 232862829 195546851 718099125 209662079 99120923 463183785 225834441 24214433 377070537 397202313 825713841 133174869 822205641 384832811 474114485 534827603 89864599 702983833 148782275 990603579 818110937 488497225 167964275 902226327 930214485 785691675 796797191 579333593 477128195 198167121 158651745 150247771 13333245 968652953 418241045 633604445 506167683 475170571 316931673 489338375 861043461 315835167 597109001 709926765 584575765 346356927 968524209 732280453 620875371 987055927 867854717 986225717 887572975 405179451 468060229 265774657 486465959 188438247 440546185 701771357 172271563 918243013 255885679 120901411 761426869 264817855 710108105 287656209 581809383 287188521 362714379 157225875 481477645 535737283 859583829 764250107 172320763 390025907 737534831 846329985 3873449 285815171 525501385 688601413 29607487 187798313 480364921 977172817 17994757 697370627 812413757 23006615 83546479 578069207 239006335 618969071 822605593 112877521 742189645 644008989 189199813 502413703 427688031 107541703 45951327 428953591 692359699 655178369 139996155 53720963 974556017 10011841 719241939 647058941 485204007 850793195 831248713 805972887 718953103 11175239 342746093 914953197 296808613 739923463 459649901 368728329 760167699 783458371 81688999 790624851 228533285 965005055 254167709 662774693 585835735 743401505 757054843 817833527 30156227 375197563 260345749 301591475 182444597 754436553 246604133 150653221 661906201 163487655 813249935 684428801 307174407 286380707 459339231 294181671 638127679 368231981 24542789 53090775 32260007 665583775 120212959 207398083 327295441 108937783 73272817 799426815 399095537 549924897 230065379 198972679 706682087 867787629 12711755 37624771 891350075 342699029 573501667 667428733 597889821 586846715 416058767 826837739 452849761 177019879 870872667 132060205 709480587 966887051 66338935 997635525 26729663 763901823 875119171 287556515 350235085 427117637 778868285 156183065 293409069 555427655 993340437 208513767 291143165 934898389 417894811 244414511 617032195 887416875 257505227 201099139 148786867 535628389 919515083 798951637 751398431 154635665 953918433 867351939 959601673 534576543 758164613 631173969 876607193 917410151 503540047 903839599 31128733 61078443 132537349 736975729 177016843 188503573 835604881 304355411 793970565 138400309 607017221 329799035 709486607 66353797 974056607 875228087 409712731 444246887 209793215 51625019 932169151 441463329 122659059 676041127 621765947 903640553 926472941 184097021 275284597 340239061 375351175 907129515 357006527 269022439 164886983 349861767 206371341 222471945 755573719 492662735 320446975 423137291 797088267 364158501 402527965 480429991 709359579 278160027 584159895 659319677 950384367 824383393 864206273 23012377 757690383 559088409 890453663 697255401 70292015 278766405 121789973 862438473 5120875 944093141 784114867 773002873 517980677 654928091 484885425 140166307 251999593 508745175 539325931 389278935 69862697 457179309 760057069 556127245 57824771 368646827 598594531 256012075 185119961 548898693 377008807 418051061 109836213 327757403 50700469 193226785 712561355 929084077 45207095 257243205 843705207 285099885 849232121 575000289 92044603 399329263 448906103 629152611 49124549 694197489 633819083 766517529 266065635 135856533 627115201 847147069 513489301 859942507 479944389 651299055 852942077 363580521 30962415 625798201 157535845 472336873 674962943 62140687 997264195 819346869 532318043 922938693 74630191 869934581 149409811 104034977 561744365 581797185 356467679 166438347 619936363 617969047 71826973 57321809 15535545 639917915 786146517 744008881 769586963 677087833 591143351 468511561 10100189 163338441 326188313 53801317 683615393 204706887 321315065 740638003 960310805 394194137 754521601 617179085 490927121 259232235 678790271 224162871 121419931 811195729 993839979 363060311 540718811 392809037 467435361 108775425 611248167 141932671 338318765 276151789 50019065 789347063 240940861 10780347 163814391 637830441 743222693 702237173 462287591 278859253 861981223 37897997 429169601 139587741 461379755 338923101 293640093 118607823 40669373 479229475 690713025 320400033 862669977 800078219 693733527 917283729 228516377 215872423 727922865 500115329 507847111 824545391 516491211 148973251 805854675 196997571 44355531 541145607 511674131 957109869 462452663 584234351 709089799 640580383 520934087 380185983 828624341 724989297 929497429 869366817 773151055 491617511 71105507 442342831 606357481 352961511 402737179 562235875 421237443 797022403 588620245 969840355 136019365 990068919 593071623 572734013 11255293 774051041 70375897 776479717 371617765 600707403 787664275 475723065 316162843 970593255 203303849 230711295 382716933 80847757 407938485 3928931 581410993 457398015 39729535 216840955 279424475 595541991 914948587 401638851 225742815 632026071 903268883 968496419 464431557 796640581 320875567 180233189 124734011 744191637 509966497 498886463 31603353 506270991 260257015 456494545 32968159 516191205 114113253 293908125 388813749 107674927 348780353 194805779 915522919 174176495 397452053 416525061 563895537 436824591 96374407 859892147 51946989 71162719 561045485 442325697 36953253 682226331 753151679 346851899 695454473 95786847 695590565 451237529 849596335 959100985 658673255 256713655 484379351 223325593 648094971 762541019 303769959 552318679 959707257 641038001 900223473 667911477 963268901 451027021 445719975 664757981 335004779 622101041 394118511 643179999 24156127 574925885 117199563 639591735 742007355 540972481 827973867 790496705 556042339 133251185 883045801 408465739 193136739 578746221 708763777 155467653 480822379 386712631 167117213 203713287 345146841 459821501 592164043 439793747 390067761 763811157 692361859 870481107 994779675 132516285 796930273 981732823 617063533 713010711 836642993 357053849 970744097 647821045 532617311 915255865 629535837 439063881 976878341 92093635 173245799 505488753 655221599 394440229 693749687 895548977 750681813 674511931 531961317 467998137 912688249 541406917 109933239 910205595 162571263 236115053 749050901 584379607 430758087 366208451 981758485 713935569 733827803 660844609 761671155 195668567 637435367 469379399 310002447 326702493 545093187 825471265 541773815 815307331 622697965 541459967 517187421 473998921 330388881 128141559 208590107 286246177 72902521 234684687 812146999 618595999 308962463 675380783 825440475 997134849 456633249 737656359 166916953 864545513 112477127 755278769 608884527 479603305 629096959 915447149 104551677 725903345 960367587 579021031 83995281 709167203 934965935 185928077 937710557 956448513 728313933 357796283 721502203 501397627 185879115 185450417 155284017 871469539 89770207 173048983 88018153 277688761 32694763 247413121 790597815 115109089 90188789 515374183 955067219 739530151 217158955 687124265 62650533 697215683 443218533 914573457 92266421 96332881 972685859 78634835 778009527 891329751 311670669 753964291 493764359 978849345 293711727 552753447 666441255 356473061 183104837 256057381 403902147 807103615 597801513 154653265 573842095 309702965 36995557 595352291 165347045 391509653 541609961 110947067 815438471 498601621 440445003 343511715 932964323 992772751 748084939 920237517 676974445 216215627 286147023 226414931 761171133 585576181 309330791 724141557 774795671 627022885 366013515 891881819 313245927 291862739 19577049 387064601 870021569 509636713 183869465 562477477 384549983 167480753 789592249 801439075 590941477 66001379 319357459 424593819 602613661 84369819 884564261 162676095 438906235 513461215 854561171 288330025 352676765 592920345 312031921 592666265 997381377 63731747 451224693 569789111 826992597 260184887 736429179 103648853 868825709 185560827 441221391 67935023 739128901 145642365 220951069 115591907 155745533 759358769 802572349 590289403 93868385 607694325 912980399 169439977 351363687 111314447 290277211 169323269 64661543 470132523 930369997 455186835 736426213 244126559 54299199 939773113 817576463 705069097 336748433 719689353 17156405 348971883 277652807 706172415 334234899 781722231 36241043 457603063 319841935 554863357 959602507 905064513 93231023 242826783 82546415 756661383 938414763 752635231 725846949 330725225 830340827 285035949 368327485 516559203 213844421 915238491 150435375 163167713 805514259 738502697 561109657 798276659 211951767 234839099 918394691 667258005 928976207 117102367 123877531 311240995 148548187 147701705 368391611 92675819 615507209 392145559 74091359 852938461 96489163 947290701 246626545 36869841 97044027 748851995 356167551 238943883 905822239 942092181 623474367 332549809 900877409 794314679 739877907 772777429 241281811 873300969 253298047 709814129 170598259 360858613 243579573 197782247 386900193 635705361 993312781 274254463 791903211 315396573 53207939 831320681 254682435 287161179 358843839 541654465 924208325 637952505 539353363 667363721 481210483 301384077 40851059 861516197 448290681 764751701 406432895 542773741 837354283 582146805 185903231 897728789 580391939 689945977 157711203 405877695 221456547 684479577 814008001 503307127 885307097 866748017 3572697 686763949 16190105 760258821 823779985 329326777 500475641 587400901 657472121 76372701 135806787 640107205 942277063 943750467 230501341 771290497 345797725 893145851 736783709 599116255 92201153 326942207 648055677 427197997 692982051 29942831 564872735 387907871 287296087 106672215 355896915 821779669 928949473 71642405 974823751 197401039 265654755 460713013 520971609 952008705 12720177 188047111 187847435 428010427 147386689 645438981 893457419 631713467 246139951 531090303 984881705 692759849 378810567 252022959 786590305 135860367 432484469 781364405 547458007 454368997 346913617 719077277 990013653 233710981 337139995 829929301 257029071 693895737 386634809 415102649 955687011 681217065 440606397 796678793 73639503 537311471 982042459 311885421 27247235 960533379 787451507 516365817 804893711 917368143 980903181 809941925 19608367 895231775 276063193 364653521 823725127 976863271 170934317 252306377 134475491 758265093 301282057 444899515 710190771 487368383 262295059 74612931 97144471 99700161 697096859 838797793 244664205 143871713 375985817 671089917 23218629 628269147 414792107 175681771 563639183 31025365 632945175 139735907 712945257 794099807 273945041 130758661 170626547 60308329 13691243 431088475 393409787 284394965 185159465 203296217 270806641 657845221 48920045 688703187 496598645 83858247 791181899 985964943 861597511 738062865 700165495 629340723 986212435 399352769 995815507 153892051 509080875 222187067 833927269 565436007 742561933 329011403 96730331 413167567 755827545 620904233 925881741 773427925 764038557 445041777 762627067 930469163 197981579 68845097 359418443 735909739 553435773 567923003 548877391 565938707 140642809 507422465 73496187 165685393 607632041 181409845 992915183 131676721 586221921 607299581 899073139 395156785 888393243 696751335 207672695 179094959 987226873 983303145 61945105 293424309 65037641 329201501 475615743 907507509 497953917 815290891 547621291 738617097 431172913 994948639 18094371 135266799 229546023 533414959 161910303 198937747 660698955 914450999 243380221 132807559 15894193 108008095 545130181 714160193 760003987 591514929 635169317 856990245 838469461 770352677 232348791 683447675 459524737 183715607 600871863 475597941 426949579 273055243 636741775 878646317 376610063 272146545 412579659 189570465 584054353 417221147 883131623 78996157 124806841 149764681 169817597 511189841 620136861 567949471 253614553 274322969 30769015 918615083 81775975 587935667 479433963 760587873 831914047 968756649 85263299 943343135 999368097 52573549 219094515 950912171 203883891 606818135 186600089 519237297 555062085 587280297 380526323 735934279 396759375 634957709 176082799 79813865 608509809 71346195 139775137 489255037 193864751 898223415 463832645 41771603 170027451 443905749 194692667 346820891 710901993 806278075 907262863 164872951 502075965 296193177 157227895 707014249 946638555 610479879 935140939 127451999 74252179 511205001 166888593 767765551 687299549 697449859 466622449 925209239 544381653 455247949 461270081 751328443 575123527 526502427 567517309 235608617 69084577 717442063 319510469 474086101 801727735 629743669 428436071 966023195 490670603 73375869 220361427 640895429 128288069 914474431 622140073 283713277 295443123 427974845 272233385 849711447 846822667 817132321 871917245 276142549 576606895 659926651 24675581 796577751 434024099 601749317 959045791 663583789 1764249 298693601 409589257 778542603 864404199 81024405 50793159 218988559 263102349 132074391 405777035 911045951 745499953 427438589 119539761 554181129 7244069 112875209 788274875 560139071 568504157 355875045 31299157 279289631 752103801 256486689 28512593 388357201 633846209 998371127 640897837 441508575 481322021 129897671 120714633 306386241 349477689 663861341 996094259 279344467 12316481 519738983 645846301 237938009 63022369 532403265 900534627 805561603 73783145 980191531 580044359 88503907 615176527 73592655 305363253 828613369 743706037 247254205 868739521 166713513 801745441 694801519 325368485 603427009 387328449 339286341 392676035 700953845 353466991 923915531 439860265 90990691 75220391 206989167 409413387 239232657 889831827 723470093 596719809 178517099 221641727 165282405 476454607 397734215 605443431 743079647 525520353 261748193 543840229 64869327 944724171 317724001 297883205 193888621 330098055 886738001 2381553 992928217 862495801 412153767 825586951 54297119 649283627 414611907 728521535 204465965 569525457 322669927 844468487 397369055 134361287 320511683 829801321 866087667 311121105 803056745 504207391 195111959 833927895 972918873 501104263 409234135 606808303 808668407 984837289 805239473 642308179 78013455 90108469 144281859 538867815 794079193 418633601 54527001 867729335 81477105 407568523 446826017 496221427 664549981 504654333 298215479 713659897 268843143 889534501 354673497 682660045 855095881 584753147 92063093 329375895 558554333 463174171 686796375 182199983 326727147 544419793 713669309 134906251 837284477 570901513 813221189 332878289 713340937 297692765 315864953 172473165 552399725 745323017 860504779 760343535 449423855 628326647 731183509 155016919 492455997 81787571 791183381 366411075 369703273 401643383 464411513 670109091 127707633 176133411 757119181 172935303 124288701 387792955 374250511 550268333 894116375 116664561 144042781 734569717 879002295 592122907 252714177 850608493 542438585 419412025 6351277 570114119 879588001 802812529 396240249 599012829 564978271 647580565 632510889 273918133 878128709 594021145 315650723 947783801 570299411 166170141 992225465 712924411 878082029 753253993 910374183 317441337 81890145 982317419 97055499 571732563 28796003 82521405 705067631 536069783 79414355 658404765 339310917 153485431 905293553 669762287 9759333 859585423 919098735 228281159 906292369 324693921 798442337 513830235 285326197 472284569 717794757 357939593 454321309 874367113 144619517 434356439 736870021 514837679 374209241 906940921 225761167 48332909 179493263 323095105 250225411 264077645 937578171 253671089 239150099 663795971 623218017 671965425 2687703 177348203 765750255 281637453 82097489 605770887 487690557 134558913 667023467 154275203 950096771 866770407 764108023 34420659 368185195 350137865 559165611 847105681 599493889 85099287 287991083 483103169 952938681 869472167 736908541 630137869 596712049 352206841 480134295 84890217 207631983 368662259 319015759 21997809 371256925 583401767 462913641 484825065 510959701 86513095 990064649 869674169 146228177 747807161 477688391 74048759 837608633 441059967 607429143 609949533 807000151 448811849 283408987 566115535 727003233 519451633 865449183 513986903 817390069 260271603 103859027 262417195 569193113 392355193 974126159 13451171 426634043 466506833 188003925 16760899 503386925 175695603 906716367 14275001 672051501 768015739 985892109 331611349 364640867 620062901 674892617 143342483 199560027 470169357 975156643 569815575 831726343 953005981 403104551 997231533 458486217 975004449 516251845 812850117 274062437 323041537 94623317 86116605 22236421 628201039 13368729 229791769 459424835 680288959 656394553 574760707 540058649 14620593 502204873 864091085 578491117 269603119 210401985 560125363 23257741 501432549 915306371 902956571 539713325 541877035 323168341 859223435 271468651 948897791 553210221 824285371 514234957 897196555 755080161 901436803 788987455 321910175 943702195 40618985 546650647 387166639 120691147 687224087 648375569 97376475 769286909 209650783 505673941 650974827 139481857 886795839 318175341 487270221 549528695 84524375 942590289 37780251 571055339 985217397 79771227 421342993 685170123 583467659 457809621 40787225 929263987 590044085 672957287 124321473 66193443 119283765 93419307 882350655 368032003 866075767 39967897 976926069 50801959 28799245 5251227 730960105 46376583 814082485 607111549 17422025 701699331 226256463 621714419 675461613 652642149 468130793 552886811 682660565 692879457 117808053 216307323 697428649 406449035 963345935 276662015 355316277 719077993 438582649 902228987 133155573 568885601 21718943 659277615 887786499 733381831 888036949 327591105 584237865 32504275 475870357 197098043 215793111 495685029 925226371 322784147 258916899 900795463 751465 484267561 25706445 414586797 431890619 257318335 352803643 551610027 327982869 433571715 747412605 277237255 503795769 198210315 250201675 210808679 861526805 186300245 965749507 191925855 188457655 299212741 347450797 810781541 398957919 300159271 376138999 243990749 228730735 229421747 474443835 674735633 547230835 387674373 270224501 588746287 180270619 821936929 72814415 3588945 77353285 246910839 63993367 175483 564339443 203701465 552814277 273089939 836989267 209312137 201881333 11626091 182602933 882783271 291114739 275754431 926144149 901900483 89156267 596729133 266551447 676060113 997062325 244851007 242998661 13073199 95279441 222154343 985321557 495302435 697502567 113826813 724217119 298402649 219752835 976400197 155031081 244631015 585333983 251650661 352770779 969456713 38909531 679422831 721069261 461378663 306380667 543696223 592001205 452888459 838116209 741804307 373736313 50623853 414589459 32112725 567587109 493755177 960736991 263948503 5479401 755701315 868037633 205226289 343364901 95009705 748294467 504981477 465635417 474836147 296107805 644337757 715982383 886297627 305021875 630060523 879498111 267700487 34183621 74396357 36480063 99103235 377240009 123614991 574005397 390811655 152065235 103911889 94802381 112630127 32644001 833038843 887326041 934972673 2491293 100374379 445440469 606403305 943665619 975780317 852890625 184290237 484953087 646212093 735991245 787785593 531855229 27034203 136336715 490592899 433345107 704345713 673256883 470960297 855776819 501645729 424133741 983391265 296411509 314058291 846656001 28118149 34180629 889981529 783062819 677232093 753092283 770269483 56859055 304651159 145960887 973497259 78387111 824145285 227407873 862912451 310054455 549403367 737664057 846922051 698216625 462012767 759978915 433775333 670503315 945662975 769475889 902378825 56278911 111112249 532908153 957398523 599094335 992241387 729961657 568076907 240216519 109272409 679501789 984286449 434849075 938795571 594533743 367896015 214708677 561106059 855777191 727545903 966776297 363296483 734146151 460261665 98943027 793672731 805093941 232658079 920844381 464576131 109652801 265694857 610173003 972575439 838184543 68595627 390810887 354913565 797189651 262220979 443283909 379740659 27530111 486460733 109093601 115386685 624108919 225045193 839896799 135541073 164350319 294504897 679812967 577488365 870447241 668568181 34354767 875547955 263864459 437882911 950713489 636797621 898570979 24995807 508659025 260439651 575476649 79759809 278205145 863372191 991156381 681605555 988958623 389347371 114088997 657503889 635048763 505101623 104916051 532665627 212064627 666253909 87948251 644307195 652689199 73464965 139916573 152655807 401505157 870926635 132901153 666823141 141594799 255807765 708522135 217897933 569308435 848969591 848968405 517243069 200920631 644492527 284868827 958770665 200965587 848562819 974240847 609747307 744039103 1161887 112132225 887201091 799498753 565833751 416622439 339650137 420826049 766739757 54891683 479529857 162760791 536378497 611329147 937000051 830410553 362989603 923597023 814183119 866879501 442770569 380903011 459199777 200208799 26195341 465704267 229861847 763695329 720390519 683773561 768704587 739850221 305004533 395254401 249291713 51233033 528308505 766775959 638330975 486614431 645788259 391590301 93328441 116509505 315334069 195560217 79207495 726582957 475955297 874039353 114814825 599675587 576760345 272977109 114889577 862351249 899700219 374452333 728619513 546519881 717367691 460616999 570000307 747352903 867441081 566061267 342521623 136258317 432444889 54502889 610651021 893885767 689590951 547263113 609650279 850750151 279795529 542094199 656218081 937106315 249800781 233583909 313098265 359056309 270929063 443260585 767618585 728943247 279723703 411591873 100288723 171149709 783502653 206450903 429909537 88894795 863305837 519783929 679139777 777361035 470106839 196462047 143227999 809645881 618244729 793679847 236762765 662656361 51846587 942230553 396996033 352595539 246277735 824198179 411328351 265155935 262632629 39902815 827372463 839731989 116849217 387355849 129844963 961591851 170046735 494529545 61459989 843573881 760825997 671269489 467401795 867703299 771157651 834500853 182042457 640278517 191332443 203128375 501970729 552217507 166591883 233071485 43988073 637981575 974987569 827526069 453224893 239407173 351590593 918103671 554724525 941055399 588365081 647181571 786543787 601885091 270257535 745526079 65919503 861766481 479151775 627436219 487547675 666525173 698749837 34403759 541317881 933853693 117315275 145034747 780391099 683535353 193737017 855255587 218489943 824655269 932800807 545327703 170333105 846798565 62445899 381657457 290325393 930151621 690714047 423106543 378162343 669080181 184802059 844455671 679164559 926385747 715479837 154077017 80484043 155402467 795689031 312127627 844955585 825056207 680627273 609089967 331971011 108217577 799803719 761835659 398717451 638925613 545635021 32151695 203295675 341214655 28039379 289909711 199899353 914741995 809616565 167439373 169533275 819419427 513992761 304469425 111883287 677031425 54381705 766974153 361524687 811833163 920942911 252097035 723504685 216779243 833949525 783210455 511462593 694866675 460882481 925241655 253365253 322234529 487159457 66657495 999537755 16287573 991506907 622444559 865597707 986065565 744561273 413637087 114670405 169799211 394746243 484875245 787349797 322019033 753194341 567922569 520609451 157414829 994160373 93248171 178600129 987944145 454403185 126267635 714175543 803384473 624263805 888545445 119234247 91282557 529307429 762312113 755253777 930162725 773463265 812337841 788748449 257373785 915289995 943044579 214980327 625542157 544103789 316514861 701828153 210591067 931801647 197708319 476236253 432014987 103828971 889057007 247237627 163043587 184539163 195558271 196974755 365091415 939710117 501381973 97681615 398435141 353274071 661342111 371219295 388905135 910461029 633193527 601270303 948501663 988273261 793740441 443307709 762303305 644765301 958201583 719586261 264773641 439365481 392846597 214843879 591177825 939370143 560888149 957384283 928929021 169124563 31958015 252103813 416325809 123726123 380835783 470758045 292432247 378940471 403557151 295361731 608000371 243122407 902411037 511182851 224292335 754470301 126552193 140423499 532894305 468175643 621513395 996564599 94207841 502374287 185594047 234748741 969131443 911347089 268018271 392930403 157179717 397463321 745145073 270429279 839025701 709350033 27301501 5878449 446473109 416203205 411474611 619277503 317503219 754668265 775274471 639662797 239117003 374977947 825962013 729962255 369109971 640885215 718636537 373918879 596712419 533247269 411597771 555915387 337684735 623611201 803885705 608361617 989736533 787870575 706834133 65007277 704183093 119531861 445038581 34196365 760285211 313291265 497652951 780097487 174028715 889689833 92381461 879632125 74715569 67758311 114837483 854588041 147987487 797762371 425948993 891179725 921597455 145033897 682724009 604972041 208258247 602758191 204109911 313771365 589341871 941296723 240554029 341380595 922047583 310245369 780801711 84886959 580128653 268558189 150914063 216812663 864569887 312224615 721934115 92996373 525281569 271947265 134249067 180422715 656383941 737331141 383522061 72228737 612847207 303806109 71563739 862230123 72775559 980269789 223194183 9453407 427812565 386357317 863083383 485437617 375585315 79200505 1635117 573656983 367142505 182325383 113550553 324311349 299455695 143187683 706210453 357322643 874747293 89322859 680830493 964365475 784419143 826268133 817625051 385118525 501018471 441886589 644069853 108563493 112746947 201768905 262232283 322339073 25316677 472775109 602439475 371472227 131378433 292864729 761573867 955547077 49016625 122317263 647347127 806318729 406406711 541591007 103411689 534866679 301929377 855666595 415694723 477694529 850235169 184866339 579764269 59856511 595138963 105421 377271603 683450805 521501177 900193651 714830991 8922311 88903297 185256277 790971873 719776397 712902009 73433111 645271917 365239995 870332513 199161799 421437221 821353717 421134555 778055897 487846815 687069635 518883249 270695211 119426331 374203797 316209113 259350785 409005695 528024007 497375595 980332555 278833755 849346459 865581227 883450461 376297447 441440055 451849477 546413939 883794945 874573997 590708749 285284659 150420529 398961399 810512509 222857963 296843687 135598325 504540985 929624145 148505657 176280179 84783179 221593727 493944677 271698209 778962409 839523581 863447381 40489879 523003755 168047287 395149271 171465303 242169943 609573123 750397793 51876043 21157717 483984031 800877589 283355715 236672827 384189615 501109945 664409849 907490819 345067455 576199099 768410895 552723921 991547079 498865203 68200843 64477681 813531171 456660195 652825443 919669717 199925911 869977901 578585197 265706007 696921171 933023781 271130731 584133499 982456297 285587839 598220805 488831983 410605401 495078555 434481103 413217155 711846153 403064195 164642625 193294709 188912321 186301409 396479933 851565861 970998973 988026897 493932425 203438881 881656981 732342289 485735131 923447321 719468113 805491847 368150217 198134765 958963549 385259973 255535701 496872605 728485775 223504573 698853735 327576915 291993123 25763349 932473299 267608423 674699969 715410191 495179857 808607567 299347059 368913051 526894465 779173299 941626545 968790099 484461295 624594523 522060373 886953331 813373961 668545337 959326887 519978469 503273259 935599469 209155669 493561143 513618069 362408503 992201841 735780767 216294767 122134531 246919547 35574015 60819661 742926693 810410071 715394013 589754023 769644053 21671763 455376487 254123741 81413115 305081123 459046261 729831483 304888863 403696613 368745863 455485295 865563573 764943389 3771845 651370005 567269145 427394491 804381947 263313323 496808653 520122643 590541987 544552607 447491709 944999905 25003485 417075005 130627579 844926027 260668525 416970435 610270277 475561441 32868805 430074959 30844541 986273427 159595515 914075629 461465325 899556801 613511887 88422795 576256009 203215153 842680487 434675715 162106221 611590161 561303955 815622169 934585565 780952051 702299211 341451635 727774017 647752151 978908461 131874213 811124143 351013663 734322497 885724965 820153953 490818717 562010933 313506391 194548667 844648835 65797731 247203461 776942919 447683181 655413703 866696925 185815225 224302693 965690635 345319801 455907565 969222101 520321405 685922397 145043687 796577169 615564051 495405679 913495759 114089433 808902511 105133187 938016507 852646737 57425111 613279823 917150949 601604103 733267257 299893623 673513521 659446895 206991149 976102019 437910955 984837737 961985779 301831141 858412099 140554295 908176243 608298743 660624409 83906951 803940153 377443063 67962731 692542575 555185023 740253201 343466409 234327147 43133733 657102423 756557923 874284387 672331695 348313279 95450709 773968033 773905487 619044397 19319395 502699997 485327067 209985129 449696409 55345713 665026257 964361509 700512553 704403239 631904861 365910777 130315117 251559847 704413001 249442407 468968171 799295241 91957261 637981401 231008333 223998475 588365003 964638113 820579429 448415697 157213257 110784245 276874543 87657193 783308023 136380153 804023505 951676487 676398057 309551285 783312531 53731913 75024355 513323291 896730087 1257909 177224777 921555459 489265005 60040375 549001769 722797871 995415525 112280547 660263743 647928649 794336059 116268859 646935269 229887713 708970881 889451807 779095847 943706993 129922549 595314015 931477937 541069403 207233015 303098417 459104987 801036775 651062293 87417647 762308773 599208007 202754817 676254817 240824247 851865747 500671127 26925363 833712221 639589837 193110745 114789245 185408401 986878943 303469811 129595511 90749939 87322265 393236025 235880395 786928327 14739125 501898531 813250693 825363711 675753685 804135513 286028311 464486961 639731327 503743907 585120611 213067675 289690409 331603189 985929645 411828007 41399593 762721131 955871137 417281125 216519873 909882439 756572755 22485895 207745819 162413047 687699011 39592049 262940487 974174473 361920597 276158377 47381823 315327293 951550167 653138271 855461091 54043253 66091647 86555239 849533183 857024955 171602279 777942341 626672195 786084421 225927703 308477723 548625479 196451435 815745659 855868605 213462157 213773489 6442729 419795871 2427261 764146371 636592413 393006307 2389355 558030965 389551423 351020111 50779023 182074049 785666777 364629329 158168329 220091083 637789155 920987649 729225189 147942623 817800633 579331615 450911249 85381997 342483487 521654801 554135657 173867027 306986051 446414825 473517 296169621 220750781 279968859 708187015 843052509 456472455 217577927 487921543 904573693 891432199 649572661 362827813 721877553 932954377 495023957 911532999 624571869 338200775 946863997 470054321 208451981 62378201 780560045 526137113 867767537 39556677 404760203 220606483 26000617 241174395 131065959 364481189 530696307 938234703 115673655 209925559 230494143 57520125 42595229 346969111 724472093 502113837 725020895 929860995 321074697 738092009 163304429 235627417 759666729 311600551 534206811 973917925 567255619 22036807 482019179 948476885 326290255 983258891 815392517 81203141 468393319 657278625 621871287 554317299 825576653 356064801 337413047 740022413 416346859 181936899 354895079 961534367 384614745 791346993 652094411 269304359 34155725 518598647 737171861 209096451 34186287 770101513 955329053 629724157 40843655 136722819 821629663 926782665 571813129 34631919 474961411 896527355 282110479 779999799 85288793 91306521 311626783 915582127 648535385 717342345 96356323 170506519 923764259 793881759 756257839 993672341 138120827 18719377 234922237 138722227 81879251 380877955 982829679 720367463 292958783 31274877 142889939 835266575 338287491 723865201 509781147 175676529 362677763 967706937 427685731 96849081 213542607 331932563 876608237 858797949 636416415 987269165 11181861 523412155 907695057 896886163 282206751 634694869 647924077 739679553 123040021 396546973 394748449 377439385 693238635 663562051 683114053 366423525 318566315 163983209 605908443 347330385 992374921 104881683 653051269 128910845 825552865 567779499 963355543 248299749 653153205 152782091 247036677 972248565 625421107 918082667 627628657 389467903 831877033 369128053 876761375 36546745 18471321 917569589 234082817 334045127 215326623 582382879 620355247 960226737 153868685 90448401 565860965 378108393 94181201 569418833 140006667 302685383 661022217 340399243 196152881 850981517 771262713 108539861 273383951 352013413 937414793 878463659 275695749 268552545 292133199 245204469 614899223 269081975 967443717 811166717 922530549 103090827 709047695 620809593 692065785 7890277 588843001 913066121 868436897 713742517 276396917 811815343 315086611 111642649 545539165 979804379 763595551 40009997 166806325 362639967 720689467 902589949 854885291 153840121 847240841 771801401 179215759 945872849 978303695 222879739 57083359 355063155 537720699 23133541 142935995 510442195 205166247 936813439 405309295 354849103 737979407 606913593 350963057 743367851 641824797 934240367 859937115 564618775 791945437 998485729 235491565 996535079 237590795 975565625 828772119 939765463 418409217 662014215 430537449 452110989 206939083 741525701 539903137 981411607 806145045 808426197 180664991 211972521 598046007 568914047 553679473 381813987 703330865 337313523 186501577 9989063 843056809 7876173 715625859 126822083 557603311 911899789 89705633 520315053 428915707 340995229 507268429 323161539 29969517 568771405 217567711 83165351 952697737 597101143 459972559 450892139 920837439 439690077 282739903 260182143 517393961 283490021 868752253 887934405 244814981 211005797 370837755 854971775 745026873 480767539 839577429 417290077 957368533 682317969 363115213 731705201 597494415 944179367 827923663 394793787 174895945 491869833 536671471 241204383 568217225 871056175 677989861 58712299 487708029 50636665 660221593 744063955 482301951 969549107 324228371 142634615 350840715 82555915 5540743 316503127 985927241 228497565 804874577 325421669 37176331 377455465 478671349 817311221 317265733 677155287 434571291 287318469 251037209 556043067 351605913 140021495 356533579 486064077 84373865 350439451 452563789 438800813 217638061 235729447 49699125 627974631 254087093 658624373 697579459 153434473 303055855 248322255 310121567 815516687 254346745 674805341 12240917 316649881 510448791 522266807 43421855 88160943 637764017 473652187 838703451 280301029 785456989 31169069 677016657 146703025 747853013 75829113 17316657 766168185 227423101 108293111 167806031 953841025 512472543 654455619 577357743 635740157 507774641 949275491 725026293 940786951 432730059 423813059 604760433 397306271 643570483 664556599 928648473 762374061 221565969 65341441 225637775 165718789 533383611 331563713 966952473 620913245 696516269 294521735 56635301 255902809 279740295 111953863 131573709 539677315 116298773 985622113 92510157 588879433 923433549 812185239 636553101 488774661 989074759 440178455 204765343 81454075 116500041 730679543 240462647 490530641 304571837 625551539 501721399 353753369 332952117 621549363 536829219 802421071 267359599 853528259 945549613 33679825 1223499 847647765 897861163 496946537 545841367 916878155 539913885 963228873 573861699 154362601 985789353 705734539 760189679 971838169 177697311 735129901 189560411 972993909 627569527 150107675 347656499 851275383 643753681 183906471 397081417 710125061 732624881 937969159 336566171 217541549 314752583 485762911 882171209 468771683 471140845 449313975 85730977 342548613 771773087 458790401 62560789 597116121 294062279 451659797 72606017 732159371 55383667 500455351 998622695 643516977 659829851 184590989 532626163 799400391 784001245 582681129 606866807 602881973 760332031 394154245 749505969 940396741 838153587 28921731 854581763 696568877 764308881 834439403 418118647 630262925 550027349 418223215 632355137 574802663 410642281 696253479 274737341 239113643 122014233 458163223 202163053 761657771 842444895 343065381 81504637 170015015 291965403 899642403 401904961 330122435 348689105 43438283 231328819 244098187 180099891 899663039 892164085 81661175 909075351 216932487 601805655 528841187 168345661 503504531 592930631 925218709 766915083 888370241 521211363 981844921 497549201 718708429 685208429 369104995 435209223 781317731 255245139 530350357 791646795 488293651 192150819 802092463 783700453 539580375 965819807 699387777 319524869 474031505 96967075 238467647 976069249 390074887 335796545 914386697 425708247 950825199 683870887 668011361 34594097 624944351 352344371 70492725 163000157 504341081 937920617 285509339 529073105 60862151 463021297 558922769 706717871 631628153 242217377 938712313 900092605 484614825 767201909 577588261 29864553 995350649 586826125 588217479 283103435 658649583 157462069 686121597 48330403 857385985 189772259 716811979 727580505 110809733 251289391 391596961 442740219 370997565 507370207 965356433 434241599 219029715 940364509 658452635 915923845 982300119 121509179 273524515 837436373 504212931 278164789 297962743 813341407 555373559 456350255 692784715 595873017 482395839 358404277 805053119 264342051 85241929 803723641 955008083 674281219 354297777 571198549 688187513 401573865 799855095 618367311 822495493 514490317 509445891 727674769 322636597 688119629 227853993 885882989 523615915 172308401 615618465 932559457 500272761 19017193 72421005 352832013 787705871 757682059 926657267 170569023 367553103 624613845 728318535 294079465 899675259 777362609 929556195 223151399 994474305 663922605 559928071 553820217 338296761 150136063 740593115 580679567 866558045 937881225 953011315 290672571 334270995 791904977 701024455 422787191 43795751 567968773 791938743 904539557 975309393 680146685 455579919 473003091 903459245 16740921 987017341 225459635 157288385 125092065 731955357 164013089 206455417 994663873 338786541 204150815 964064299 808574035 378151899 818164569 104108691 841742775 292849589 822606243 408702423 507684273 997250995 452498935 288991109 792055731 3426041 290601335 718569363 251319763 505389969 887588467 683750747 498806737 85348713 187105625 366938789 762254867 710281051 473339847 348788381 626910889 604708907 542282111 130664667 267570763 881438079 630447469 108525143 602402135 645346027 260519589 503988859 68798165 618211047 884297057 374915601 668577651 553043411 947696133 133651025 656006283 625279737 986243099 683899351 130485017 243178891 713950553 615994281 241687239 21043105 802073239 271927857 130287331 69581631 608107225 470626889 348038499 817794379 528206413 390254123 444009961 935579289 359585091 396886653 465972411 894845151 231225143 43509581 518336455 9770433 409297869 795301135 825620901 541203911 287239119 943997345 647135381 186309987 733121075 764142921 84543871 361765871 488609553 160356275 193961711 318730409 644826799 568336117 194567711 578079677 544274549 387241613 809303535 7698749 930544121 172341341 854560227 516760607 646576119 946251191 380998957 506738503 272687951 647679563 599722403 548050045 759764493 511907643 501787843 38273907 257823847 658982921 402358967 496198337 968330167 670800293 150246735 403712747 95468413 91755361 479757053 479897431 516775017 41700349 922854885 38869335 834585931 782246557 58492621 884216613 334041633 336775119 93098533 160447715 838129931 919090823 591961857 460730265 702749527 612359459 559439397 887651897 941414007 18987623 46664435 125086875 758890757 428411011 368656511 356432001 598518727 811091979 544927871 375518357 824497831 352776443 368143951 491049319 331939769 708756923 284223995 698992755 917459509 569446421 813140783 188722965 336204163 445893695 894237251 598411675 570002987 481644505 528902967 603665973 143070433 439987429 911363763 643706875 649831295 466591953 82004739 935572975 271878667 412606835 883739425 734020603 939394991 301004809 501950893 956088815 877571007 774331447 142314475 843931269 992555701 770891017 180945613 181075039 458528563 214556663 792011241 986892549 726408969 335755229 916539005 530915303 921168421 68139519 323709555 161491297 888822693 292912909 76935513 123878323 950742219 697500699 2730855 586975239 960999939 721550245 880798843 96344429 249852897 687554705 903995677 86510047 82726431 419022637 650833277 118127935 2071201 204974125 259357807 528727123 874160753 245132207 327324277 145299409 506895043 646460985 2889399 609024847 240496627 298811831 462781955 126755919 382060677 684046463 525884367 135130937 121608225 889125455 774762301 619670625 325174429 620858699 381160467 519080703 5773043 455652095 30905791 380770357 540576327 336562019 722481753 678931977 830933219 353199569 259802529 811132017 931858237 276402195 496192509 349732417 362837229 145195857 930943359 115701823 330753975 426536227 504396507 520255507 496666249 721731719 324549745 11813709 528073843 468020961 973820745 839438439 466933169 262641919 708666387 348354497 721189031 197094933 565928485 174919333 602403553 260593857 528895613 513266759 379072529 356813321 133695687 204645563 85931281 622259801 853356109 118453767 435524839 368697991 771638535 743357203 453599675 925385423 365961367 29922477 54188515 819901399 699840323 232138899 694975707 727201199 247540475 700421219 163064899 881235143 567378515 630863017 693118697 803507969 197308813 915822547 20563391 864037023 85377937 454842685 928177887 64325967 92641517 82988581 183402639 492255015 532212951 516979385 949124153 895359909 174780977 634125061 230897519 432822957 212266623 652080647 287403759 786886539 683910387 293296797 895587225 348468215 349630309 896730259 679459707 578625293 539187537 396808087 807657159 499982931 566203615 937630787 165930713 922226867 20123615 336522011 538373939 339842951 558132937 470857605 971161217 914251657 574769597 382510805 392583573 155219423 577779071 761286977 645592173 865798423 563827839 792317677 337429801 881692711 740966871 706874593 448206617 102290281 674161733 822424081 150691755 334971301 343353647 746486865 637143419 885571335 406430117 80659813 672792401 784517157 107491167 879459321 304341267 212003067 39283131 752571545 247300821 435180017 236781247 184136899 439163861 117970641 389791775 637030869 722723701 506645971 233163821 744719385 20787263 732570259 18157805 814896577 328479975 532804373 841892609 638776293 495575369 235206857 178300605 410206087 677349737 331067777 568981269 761312401 181027439 793954429 709775019 566309589 585105329 806905697 231078595 925627657 610860969 814477627 816241743 975917521 981591291 517658495 772122343 202747061 421827953 301756171 48223173 626195239 378015489 365398821 408866007 286464895 450377923 277909625 861732775 958057473 14087675 726746141 383579247 790313939 399644439 511142541 319670029 400282631 503130279 497669807 640313355 835713687 954512999 327388883 817937811 329981797 66896955 729260969 348432001 678476601 463351085 565981523 303221587 803881669 12530291 147852371 133306159 860693921 761659493 986282647 735918309 72792399 393300361 111949429 166295019 176025657 162484103 66096555 750349155 152304303 24425527 96268893 785541395 486723563 775232655 606367257 375972457 137609999 472917429 612074193 186018687 552458275 882685941 217662439 180558353 588484887 592541121 761670431 668363401 326793929 920263347 744095141 827159795 894718965 548008081 482091277 168699403 760877125 716804165 316345433 16513579 720849231 164251873 609212649 311954015 998675335 539686561 72245133 883259219 439247695 53498347 242804601 892515935 255152627 378838087 858773835 93881987 756206243 115322215 591958025 989821797 155389303 383010347 896689697 725043797 604879473 942153619 647254117 412726091 133670009 540321739 660153107 870371301 311431267 606160165 467824851 372253805 25147367 436875039 552777135 423491789 189050023 150860123 160848927 378552737 785630505 337322145 498670079 941084455 986168803 952742891 468511635 810290245 278762027 273565005 296251531 863793547 139234627 953016079 3821817 800372783 106720595 524932251 167069277 680321811 486910063 600466821 485017243 190857149 121213839 145894535 220518145 214909275 684374421 461956229 579499331 388064199 197485127 578208137 659028607 462960253 655807833 792538567 553922107 717657509 472343909 105627803 282482019 658129169 647663339 130177927 175332173 507825461 767873877 969396023 855210677 901700659 452781041 960020095 533665475 696499407 638050045 270187865 603003905 850091387 414025881 289908713 460693861 627574605 146770891 171332473 122955087 920314629 237358983 926919037 6268545 347923977 120048039 255730323 156452651 976540011 578161131 979036537 112834527 696257247 618108667 904649757 13731485 456795077 787794795 827895443 122556359 918618661 379190963 513246741 63249199 840027055 867689011 688764423 346282247 137727159 210983989 223508213 498194157 491786561 270105323 601779599 284199143 64502257 257110895 445068213 242618975 137326871 867367105 337262949 46391599 167162281 464770761 166946255 656961169 576490057 620793179 633997891 54562861 695276093 908214573 562091325 660185357 53092467 506802915 523898209 854892199 949236869 903418887 4385403 987322841 432437679 221157895 897369211 230853609 802323929 83252029 642562689 732688771 709712021 662898669 59784653 104843711 900197911 958080317 900022473 447972629 748243009 8502849 652762123 972465263 293710743 492436207 333500751 9097751 478152779 101550379 909342837 251985605 346853683 73489341 381722763 40452245 921691855 975334743 296534723 870349835 93940805 668640659 208043383 497238807 130829413 874854895 807435053 978987531 599177383 813090007 14203791 114443431 110275113 764683421 7956591 686626575 277040819 542259319 169916619 240592081 846421941 841550729 717421509 115430881 956469061 872883163 281110949 574650271 89369377 85805919 894114019 770104267 575868851 514369775 664529689 318560151 928063241 398594889 397186057 939355287 72018395 179260953 302607519 659659721 317318277 877084911 113779183 803041423 574047763 473529415 23296049 173455801 962523441 215469181 834083277 857357437 997028665 853384415 237848651 399459703 627405095 205845661 798248799 927696811 505207971 619399121 359045605 584783239 743978239 484246649 764641503 170668515 165712943 610249089 202745977 849792759 76399061 896404409 325948167 739474797 536909877 587963611 620001795 891910481 136205121 459472521 680586001 78191383 397765007 732958027 726772987 783121565 222935391 406642067 857409717 93140007 305149847 800557241 168623707 290401637 980774087 672049663 813826097 588659819 493963815 763093391 513827743 925346485 460927637 383369593 275231291 682235947 999823257 725509303 827537087 557496855 284441699 716123691 778593807 270504495 139601097 675566493 646970933 309246865 601169993 731678909 741134695 635542979 830313229 300330023 679639293 331494835 393174755 780149851 266087035 794587315 435419201 850370243 694955663 306579841 527822153 387186351 18980361 204302149 468402881 353881689 286740709 390367371 642434839 946242531 561070407 701494341 384433507 976801365 878793339 763614421 348343397 423279775 29805041 706599679 803797893 957119645 692856905 886191341 524662223 829666319 264623681 963471673 761005823 26957727 37682633 505911773 132041327 895634909 242105585 132601663 156327977 730403907 601665271 836122413 536103389 324021809 308278075 547099611 616465889 622097907 509131337 739558119 264348725 466714039 103464151 376612951 233150335 561748633 773665983 518859159 89483279 684798361 552114177 957391485 229010653 274230945 448702925 895721029 51415687 98384255 839763829 573190295 957484629 764360945 98301809 569965693 952378167 281442711 517592169 195708783 758554307 813585655 279976483 356945991 337206839 998735495 381336727 26053711 885694333 578489499 378075359 982684719 577589283 776047481 192736829 543332607 685744223 844065865 35485981 346253117 113604115 61259289 329215505 840911821 179225029 37247207 665882839 434582269 853425059 702433425 750896465 989047681 266226309 438812131 511198345 615395703 382248683 848675723 991614387 4354917 66360317 900471077 851290921 131943733 279917191 209403953 512687987 527571777 869730307 965290775 98962999 696059203 829519249 387570219 613620041 45270371 365654261 312294563 767778727 390954283 94627745 826579363 153253491 749171857 753507755 755487029 91724791 263884021 420624595 907818823 640960679 300755993 869732223 623160501 993014303 574837035 650195391 952086589 750788129 763530689 901346379 369030541 57810843 821056729 131306881 282244145 469207965 546760663 383715433 539656871 178246755 468289415 469450673 574949197 510295119 968583457 645863091 983722861 30530801 114798401 435978347 33245753 253283319 832195307 421281923 567448011 899014207 786718863 412452425 59221025 259322061 384688383 877905331 890604071 452301769 582198395 104300131 976045743 833620873 706659241 422445727 952860015 37629319 265607315 219481685 671950859 488494951 597545903 707493405 816935179 597561845 422140635 712905271 414196449 860327457 253972573 859168651 13965031 265215497 732806625 601361061 511891547 764780529 364093309 623618239 108460393 137947459 785191597 446600887 86182435 741425553 59818841 631606807 274943871 526725527 180065995 837048331 583067745 449424953 52206267 553571433 35171473 527034755 986470469 25667253 726311361 330826151 909878509 813469459 187005065 216332799 140190113 699873107 192534893 498172433 726187449 443457005 215436243 209782917 740077551 350777087 20324109 2318387 546827625 619609937 74347349 182311697 459318963 665638739 76018893 993413959 433063621 747273241 769864829 806422555 83879931 144469607 948997463 838090501 750423835 809207199 46081331 964560031 790928977 599110357 462669779 706163627 6902323 414849983 627566049 164997141 779871933 721197497 150426607 677485039 937200725 712207055 651363187 883049591 939323081 23092397 727341519 392977677 184516175 682027435 381385039 489003583 79531137 864507849 189170211 413190847 662908263 14941103 53383523 506536553 815150191 678759849 329323025 752150335 675478379 539559601 254241815 958884461 518532507 818620263 555401541 815931717 49489057 752914703 774849621 622386757 296765839 821334683 513677289 893343247 380494295 810214303 85655945 974252141 276177495 953323359 399203493 110048083 872904787 26621375 613396889 798781405 304719995 344848975 302044325 476767565 804556257 997101383 588503795 446760463 31836933 97588357 3907475 53474487 574260429 376768145 546709631 636057343 927578499 900450201 150536089 799965899 916702685 652831863 125167527 551914789 719621113 260303271 729115999 989768515 201138781 586053715 800307799 449521533 432497397 688024905 289084945 296837207 811683351 796177919 417391861 588769149 774925697 908257687 128173399 737160387 816978261 385616853 911418991 845370147 289741605 687581229 312680799 218357697 356061921 849563825 581487661 899659497 786024427 711350563 665749711 605422347 94070789 334627817 178449435 232776133 239850079 665491221 715622099 329655003 689213579 426112859 19802783 92756277 642324873 285590811 94365971 93990377 969324733 419893597 227044519 783751987 880326901 841650385 80457659 18974579 467751269 97917645 926213531 726567989 778259627 90546255 705530741 274701615 54619597 621272833 508619109 997443385 485660471 437825585 449176425 520290137 545743805 751418839 539078767 340678585 675493793 330610577 890892101 666877099 201542019 22373287 367719331 830927787 778372979 951422983 863707439 639422559 545980391 394324811 597261933 794442125 911235257 114385327 481597393 387842093 840563761 586685469 700191413 134957657 321137149 908529443 376103513 584765009 147550255 402021879 321570021 728978309 433497159 250878331 475108973 453241735 234479655 663655219 633311207 237992719 772557601 431514193 545596983 209012997 108700391 943152811 135855399 798404975 510230679 473761217 568228453 197913221 694307253 530206651 394805899 355821473 971002161 344381541 971172893 388639301 599842911 476796985 677313153 454287133 740603899 191864149 142079755 140014333 401809707 922526339 401781233 263063517 924274301 738970669 17553239 260590565 364344037 985614703 75236423 828398685 256544961 427608327 629059503 39249081 253845207 56427099 861240681 768285589 548120405 483833979 40991033 329493939 23769293 484563231 37486533 27644671 786711869 453394341 913530271 511590797 322377485 181831187 950248515 276803735 6841351 340693021 763286287 654131071 283212899 521999381 167144525 191658709 382818749 454134781 997340207 69536583 139255321 260956797 978002381 376482995 774738149 574343651 43183147 267173147 324147193 538137893 58876719 868282795 315138191 416537829 963844267 715846583 341468749 471072359 265242457 484997049 323762753 79760541 73148891 11058773 521597407 197820701 898741689 991703383 912657925 916767527 748835429 674140847 216489465 444989603 277055543 35592059 356033637 575397149 780727155 534479615 683586659 275130575 349292863 224896931 402469487 706714007 380808877 264153597 514697067 670874621 115051959 806888903 242566055 139841073 178930239 205803237 34896857 987771145 81840397 493428323 212681243 3708165 739462355 731850609 923542773 833767755 58967337 151815279 492247637 834865835 212541329 676384219 857779853 141488283 621122165 653713253 806020445 560770621 90278949 583942365 567790313 214880087 489963483 88278335 882283197 747153239 986734777 189981105 161407697 102071895 418030791 869027449 474390657 63378451 77981175 810095631 702064019 980497141 833764641 939153931 761715505 108261641 76402951 873799219 603345653 291201291 967514963 668625265 806061529 582151509 938384277 8443095 900678979 844983027 164241479 327547555 104668161 80649361 222939081 255882037 605457737 777993095 99071847 685717019 415074741 154998997 276336721 325250823 36088909 214564385 817792671 757523155 694487933 469188283 728774739 831643781 122862619 282926235 146720341 678415431 360470629 524952415 185040249 663998061 158305533 642837329 927258487 729972847 334232565 824234587 547897329 28469237 450666431 259393817 180986223 391334343 689151031 995057609 608757345 613098713 212375463 264485199 325483043 578634567 893359031 367760959 618867701 80874835 250466945 387632079 607874047 556438633 218095487 401914589 836552277 54875163 744194199 977010929 963481071 194076455 459085079 439700793 160165295 280523375 333224115 206528397 334194523 919553533 540867721 265641327 813754537 357606405 228357151 317144321 323451949 225582563 98005601 989399575 268285549 288668441 626637989 655237413 984442065 289520725 453344679 136813133 59560617 621855333 890816653 701424723 615407661 934783817 30906343 475811753 639958403 423312163 76100261 364937061 699090863 218898751 253922601 751937095 864525221 50365197 324407349 651906997 313674047 688983851 317178359 685037249 715848765 939502683 887696135 971859231 900975431 296357515 770582365 53277231 193070321 39610315 732970339 234174457 914184883 470219095 44046053 332642859 386444269 582943891 780982295 106919711 445144809 796469769 595056791 270624467 678751195 989988463 861666409 116836845 829453783 216820637 941930237 608311485 14871011 745642393 427510311 967669305 216156645 46287243 556351267 25847555 122344881 71763657 99746199 86469217 988832253 845960141 658267793 711371585 697422191 609556285 542936967 198955323 886799243 866128607 344126803 957119377 849837509 571957931 501480253 705567781 634923125 978268089 86915569 448271499 920229855 528292175 975085701 444157175 559307049 109216727 265995127 880192843 810342759 529618403 516491689 799860747 991860879 721250095 505403245 776632169 637769349 975926177 52717941 304899131 602380819 963640383 316469725 265382145 598071271 618521153 316436271 773199585 683530651 745597441 535799635 584201387 365442225 477450753 932030115 571196887 714138517 923249643 555447513 103975811 24436883 148306327 846148123 256148855 224962279 871650299 774847991 327908131 122132915 544411711 312665185 492192413 699740927 323818155 332279479 791756195 158959293 946048435 308452031 660484255 48179143 247354099 360955813 788201375 768908507 903171117 605466367 154641755 484873125 404421197 776308169 976822319 34782647 884165733 493058411 825493287 725089671 867311795 687147183 692526831 909018489 966005655 725280461 483775201 425684693 95874209 292311647 388367865 146577611 887737215 728919149 443303903 476561785 811096847 78870373 282369509 131048667 676522067 45942297 931919871 520186333 454004087 239299273 671051727 261471567 990960847 13291033 645305753 522701547 205614037 240841239 954291535 405084243 758814251 982083383 757243271 291793935 691326111 155059543 606138497 741838993 300273189 540439739 194993443 203808049 635235541 111058707 829472765 950681905 840143091 283355763 852566599 149200571 640545771 738580567 61071583 923810271 808665425 639022245 406498125 353485207 907208671 887896235 139049665 40056005 565517945 62695967 434897167 662767921 38511915 810614299 216124347 564436619 65446437 332042791 105832681 588273007 702017733 277232943 580133481 472793183 388743311 100712585 171975345 884853951 464040491 316536563 836158435 667273189 537183343 348014481 916797637 260388361 21334359 986201327 772937157 620904781 903125251 180938245 112651771 303474873 600883903 931311407 304840743 343479613 666546177 922513201 545298865 41674933 300650849 789800507 204438949 703441633 309922725 52793055 951850431 879954539 238923957 525994781 707867481 993748451 677444265 457639259 3599485 584627907 310464183 879039329 466848987 155991147 707869253 896617323 1369801 117923111 131080159 254418193 724186695 666807077 922298423 328947803 682002427 497065857 858948391 52543157 407740981 69717819 624993461 30801909 464607213 332020285 291968011 995830103 142874049 236178519 674344059 205611651 586763513 495418945 265101955 806738563 204436101 19097761 737273539 529815245 505374201 52151035 659979529 821757505 428128409 662786757 441518407 376109601 387158601 718908499 266381975 639165213 835081881 23348715 529217087 147592775 13512127 729338037 519562921 363570719 821667741 599828929 797144681 654662537 44871863 923744007 450666807 554102483 408943937 603980397 606454523 353131185 633141773 168835767 400516285 393175361 561647517 190707865 138015153 865941255 311902999 118734765 726815795 499912691 543579469 899837811 623658181 563527769 617255347 81959507 426831123 561717237 940240235 558157473 33699057 960849133 865909817 200535955 329482585 714887377 629224335 49096271 896726381 487450001 655381379 957235929 355908475 15776909 66784723 749763365 733445623 788017035 761524459 828113933 691694201 449603001 378408661 892971599 855351493 85153449 148890699 632052633 79024583 798550363 579288491 942284663 250136211 309240625 412425725 780451943 219572579 816462077 936186351 631832775 742674075 681993713 247254747 506329057 133981637 108669097 653209021 492586215 753699991 67827759 203934271 212699635 69501929 845799661 406022575 894646019 386404543 876581303 682645507 184313605 277093189 114697421 786869469 598072517 704259535 83699923 524010113 191592959 675570137 186270679 141503203 891250773 772939523 41384013 886132373 458915921 216747033 139763221 113462233 583460961 891937809 378330481 283717013 145268191 434337027 305800207 237681755 28294157 708008755 479392261 82089823 794342679 178582543 786055887 534525313 855534345 286572327 490145365 311694411 328124127 828340023 386254305 790022887 965961083 856075557 974399787 493370673 301362341 302282487 883474253 243551911 269099535 153829093 457079759 780716399 241367635 762040903 985908639 626594137 799362031 967809187 85600271 805213405 590462031 775701155 28328415 153651225 334769347 823680793 978504243 731191253 199036805 266332675 538468249 611683969 943164087 859337601 103034117 221045041 988091233 645725921 275267285 607425193 110323317 642706325 298603983 501456459 899147211 217542711 637073439 497095979 148142887 763341197 305385049 204271869 561507629 264933761 389670527 509766435 266516597 938492965 434820849 937101731 781464691 292977847 609760639 604304427 329080971 97176727 890677343 55450387 423244035 192048211 980006187 249341019 922058769 831335069 561027563 760497323 707963083 294142289 844996107 693309519 210388531 780936817 442180963 421241921 629044275 453693225 356696875 7728415 747318939 274055885 872570125 23974451 481122853 710397399 168543253 901588071 308502387 111119593 728917941 463128919 953505293 485005777 207336143 197134401 633230691 990340227 248965799 123000587 656913875 298355733 884811751 701925189 561175961 507821009 608985001 266438951 705404895 652703773 466956391 239334031 251109305 33180047 456946951 913207813 94077727 526028257 947868119 429897655 280609779 843763445 318691725 14571647 238741245 890291675 978420803 443061465 998686957 618757569 390394497 952362479 84291935 861874437 752976947 885352591 554290131 740237865 793450415 133285935 35265715 841293531 24279729 805651953 624052303 563252971 713811809 404758425 946611679 235004245 921885513 244453529 274292361 531360573 745919585 120624393 747837011 576790765 372478469 571467941 688049965 602212571 818073593 914783189 395600371 283930783 579984235 525964457 655581541 998185981 644582387 880830937 924073259 939717091 240493195 704301509 524715225 944952673 944731801 610563441 347511527 198941363 121979625 796242319 121217461 659667517 671624373 344652661 378050703 607176075 933337237 616117281 178748579 752813133 678598031 217137981 831009805 493373795 163580947 292456471 794399437 252577739 268471541 583709863 118783435 474004405 372882033 44218507 421034971 778018673 428126511 8374283 459460277 248006781 989849913 870200597 510171129 502816377 990590725 749970499 929762353 428645427 526994035 307032529 543258063 199649947 800743365 550850729 226789933 283468241 171488425 101209433 435739787 318886421 993901367 246845207 427834641 348726995 803526887 752621253 318812115 849531293 490520995 305445351 319284679 397466929 105043127 277252015 913094611 571457135 257703381 472327667 515832763 77109605 464633887 1014323 722958643 96507973 497977625 170984087 541406933 150453355 363084207 672140011 690319135 614431577 147880757 46814633 211228029 2365369 529592939 347015919 129579329 908519523 29153399 2736519 509276835 232497999 507908579 657810907 756916675 760877215 488199589 746764039 938710955 664916385 114042395 136703433 676351821 983128007 104625675 358632327 176763521 591606701 44293025 232169297 149613835 992217621 712797555 692836573 199683473 630191853 829588351 714465165 548838565 166421571 345231911 66682215 300071363 893206871 857396541 281386011 38940745 479456651 245357297 501185021 787369089 135809385 932246757 205149967 880989853 153380773 858834203 639829497 413918133 461434907 848190211 460050697 205041869 270148303 610545263 722365749 715359691 198045417 765703839 894756639 504382593 50604479 714744119 753716235 848636843 79502283 624120645 479182571 661708773 887165873 719145533 311800661 664666813 151554363 194419965 335656073 673611683 784206941 690020555 269917807 824703217 530947125 639122003 689394835 240615141 352301057 920372395 798813999 761257643 626050607 999814223 285687329 954079059 342960979 381382183 634866673 302876375 766755625 916769405 685952719 687411993 462437777 774748679 726453649 656074977 438957975 287731429 255182005 730984161 638541425 878554009 371115365 608028337 214747255 443939345 114707055 304059859 908771887 252500133 789000011 372720817 234433345 984281357 709767959 262776731 507413379 796852595 306688923 900202957 649976305 816761187 860547141 600452195 161986987 199035601 591847215 245503339 817199359 680723227 954641941 98501333 909830237 356936709 456048479 580269945 67042661 247664319 562371359 970743833 687982039 166929117 150361097 73489503 573526685 661351259 718923391 813307867 886637263 276038559 548415365 760603399 720541859 4585591 300581837 693519941 758723713 282666263 646233263 104598747 329715695 188809247 147866407 554421247 775211685 357434513 157379293 642354631 802197373 151907547 128728865 2746421 635827065 695912915 167183851 910877235 402281669 959468469 529529561 90820753 606562227 976987433 251034163 836357897 729686977 423183419 598697449 411496251 468877967 754136925 654720657 636784051 837367531 179872881 840256617 916863199 713363399 43757497 740174939 201302555 489129279 893023973 31514869 362528935 616810901 972760071 110632303 491483821 446857781 665629855 808594599 195253309 997266611 303901329 405732901 794594895 984266697 865124139 870304023 6003657 371253849 443227169 604835669 248924271 958404721 501116051 594940001 27217911 345119301 819153409 400381533 593896183 891550509 978554717 4803357 294120431 945385645 725068795 51975445 63686221 450549105 781880985 528342631 723820895 417912397 678016601 962449367 696763231 241399099 16812491 150031831 987761773 335965279 972798437 340499325 146650003 248553731 47407873 81223561 558475717 80041627 366028263 959187809 72282839 383966659 466592453 933185559 315699855 717221183 153926189 745104733 85159317 971538679 676067871 602651801 75269239 793357057 432000255 968058317 732331187 824802967 503933081 487808681 724786087 210481437 14300965 736499591 390890399 186172703 633906751 94602853 377688777 781068621 376155629 731232745 985396799 860763525 12732315 976467041 348983557 126299083 646176029 77010633 456884481 301157191 909888949 831129021 712301575 511391057 738723075 896477829 236908751 858090591 6184983 656847375 402450425 590468887 420651109 995593203 97236751 399653189 797617869 540268915 683911555 638270169 481843345 128590961 993520047 990856435 977274975 11926657 834437073 71567569 863613261 662864343 787284245 725929699 757184983 566561363 674052237 911147961 808154853 213759103 975830063 451633425 274374851 758317191 900970975 555720395 777324579 469264707 692545639 761029109 188534567 446204723 41938037 163107777 941840979 857705341 822801315 539854985 964470673 711699185 531050357 981742291 185004347 736685831 757898321 971616841 374891787 457146077 160862857 467777725 694395175 410831931 824512857 95523117 112596765 659971217 477070815 820936377 469843681 486636021 650897445 146073519 871639505 857201189 651022365 894371457 294108595 315151755 67626143 672026827 498568627 562918453 517957741 120349775 457518951 752450777 169372465 146461689 701269451 416440793 315228797 431487195 401303109 418851387 569672903 808160563 877693349 520364717 542047859 520742755 333399323 735921289 965332681 326950133 327294281 803651787 496107771 389427101 574419249 284128027 975261985 183858743 763131203 546197707 467543357 354175941 965420113 969247183 714187321 666711667 763309723 662954441 476963045 911910037 633175749 870014205 680061693 626858405 619329243 409476957 341314077 30860103 358474581 431986559 659639507 532239941 254571535 281159587 697000335 633679763 85732175 359457455 88560041 397193037 897144001 955702579 36038243 924727223 193546361 681480807 513165799 459300409 677744633 291195177 54520901 829571177 907290401 712975617 538834551 657014017 20531009 471065887 273309023 174350053 222974989 298902359 110346949 309466655 541518501 636309805 270620763 609705189 527304331 315352773 181230777 768477327 695166125 407243759 816051297 288094369 116576353 261411617 619729085 715300297 519149669 23825533 349010205 116861143 75624923 716799689 183274939 73968071 567886677 471874675 309604023 621555901 336502213 76153491 441020701 755511045 705738119 405571561 321397211 36325391 357010789 389714397 109653709 886454905 71259017 448354683 218572211 88258311 779629191 111848573 995708215 984150435 10303071 617904195 206482921 270598239 588030325 561831633 867662147 961294967 801847703 67653081 403306661 656157521 822600953 402662833 833093211 418300275 448561977 473886809 90952853 308641685 677322333 40871543 307961449 879569807 61635537 245809755 3386589 984016231 171438443 19335421 874894809 588459079 897995881 339530491 572585261 754847617 932610669 876343197 602038163 572096403 467614857 879921107 39945131 5378333 444653613 412492081 369388801 548310509 323702331 660513019 818886403 857170933 98069493 64061717 901059085 283764305 447369737 678070029 453652573 762992707 32136079 103832863 9100065 236750903 365880577 901893927 133686119 941573311 809404741 948352939 846742823 498678681 573520551 561920223 653672519 927501989 825235935 127459733 664640907 260578545 790981385 729643599 283865511 578397103 62611627 747074099 929460789 828935995 17368241 490106387 683032245 130289175 296160113 723562339 752420239 57442799 670603431 596130627 831475991 13900951 112498809 629716861 620027013 612384521 143012469 886540157 221565689 559711337 863417489 885910363 601450621 82678017 956398631 125106389 994019587 832043845 261371647 794809429 339679589 138916561 621346373 457260523 384252515 160257895 492098449 255982153 37935525 592417781 712546779 61554131 884922045 245419913 990116493 828915599 162461735 313723491 54890097 962013229 626489921 795609829 495850175 851937027 367856725 622312603 974435347 2072335 807598997 183162677 918841203 759421435 673356315 96700305 380347209 929045269 483924453 166491825 745405039 880888915 699084257 372733635 583357727 317983063 53582555 657299479 949361151 685392485 134929553 314310185 732910877 419257201 562934433 687287453 230673133 686397197 334886805 241821757 918902093 471235451 942260703 488896511 554803331 631013793 575281367 232886267 742730299 904401937 519315393 763734135 586183819 561463807 808225475 19763419 857405169 652576331 71752687 663354559 987721039 903559807 363486783 12636889 775144183 306995141 671806101 47456783 31230873 26009081 105290425 344947309 505817687 120152729 837974109 961142307 651276979 467851723 471360539 793545873 175284125 954552671 817712753 247349559 843450983 198275533 69428427 851030207 606613457 313510707 440223353 969408513 603182847 394441817 126845879 209734387 306701951 101354413 401963169 273634747 69011269 262821449 147956293 353837989 652720047 127531241 895171987 171974179 486042241 860529399 369210467 937632721 156837355 977683329 469155961 334659439 252848769 299677245 625227387 942183661 874801215 178670221 829413627 368101981 439468941 731423351 881036659 994426103 647369269 79103913 797321029 30731811 577237613 154977403 518807737 974727785 461867477 384778477 797698047 197646461 8692847 458514855 814522419 305293883 628011945 194985717 747159639 975566757 200277337 216262609 717883983 404109799 730791613 626180313 523441651 797036627 515183993 891308887 636379639 916368743 454339737 526435893 960370941 165611973 384773525 874657039 215934609 555767095 400497481 590088483 630897187 773759921 653073145 95667287 952867339 142977103 558818645 620030011 633990795 72802899 471201137 89660679 669985995 782670377 3960777 145857689 642149857 256213605 608729923 81859961 514328513 584757953 250028077 635860437 365955661 479172897 587720507 640816775 77345361 289436303 55069835 331715595 814698619 598045759 64474787 516852107 704205415 694885517 727135087 228650965 366146965 553762301 461585733 560322143 64228975 596134967 426839011 837955659 74807109 33996049 517578605 59851101 582710609 769066373 4109679 201255175 55428019 928341687 325569505 45529953 69821559 614678769 958699549 929001511 491066251 478619305 171508717 303388097 306171851 547117943 574624377 38455871 423038455 820501793 689208153 123367001 10563511 996129935 358608779 285823599 792512159 483842263 53322355 749499269 31742759 889295411 332608223 525922893 202598319 93530889 81896963 997375517 534357891 767889631 965460605 666279411 418805201 62779757 593614675 210685305 828123829 536755595 407329009 336837629 573797423 39721023 874700845 396179319 901735719 924243889 622194499 503881605 282339441 902580281 621521113 683149423 31247301 935606093 399622399 668411939 585403587 76360851 839568421 437643067 624759797 983204055 601476141 517296627 528830927 997314315 452610905 721016117 854244261 859780937 829473623 891262863 752368317 255886295 721334845 707463735 957945149 452402207 3589513 88677903 49887545 107070899 564440863 146373787 115775913 628071249 695184971 749476109 573970797 127671257 763148485 143016251 85778511 765975385 735695785 905788581 580979713 327685635 800404605 293436787 899059997 788244787 365287467 506897265 797030945 377824875 477544461 81304345 698849403 551382615 100996317 612192905 761738615 548703689 503792065 879867017 302147923 237777599 939114823 969824137 10226221 317172571 162184803 103127711 48434447 81012967 71691125 408813195 718039787 337761495 341050687 577021107 788046745 577227719 273633775 437851175 333290717 114992249 346696219 8215709 293289821 519793369 323709887 796997495 768207789 575510779 73332547 834681019 923803459 315424281 616629361 33683993 456280963 388641173 816004993 302154213 409249973 337737213 240548879 801748001 331669771 389193733 957878303 998544757 623917981 563721093 347576097 84622895 875265391 842324097 558207719 219206469 231366247 501304357 10618033 291271001 409721431 673192389 968144931 134442415 119243259 234026971 493219403 119237945 136417777 312966411 645314205 177712013 706913219 558216479 888626167 597705707 899965665 800311821 584405407 776536123 9336233 973285101 191525441 864498697 728776279 196966147 87965939 335088015 219795479 507459773 271191089 716542635 984545273 977627819 490457825 519938021 245153273 85335177 111097683 83153773 943229939 541360699 185847863 680849945 591001781 350271693 884035503 43442279 988946671 236272495 623898685 750320001 290712633 698355327 889139151 638748725 500675093 521897601 580590267 182270971 506298093 391401759 680979135 910014449 876531475 786148395 809805823 92299231 965942205 54717601 52789257 497297203 238902797 837691813 23747791 755145735 397035023 78525827 443563955 132102679 212751795 558714541 859452025 272326091 811044305 684559549 140650061 425133365 133602603 414459257 988510403 291443465 86493547 800155083 194904283 832484777 835270689 740436165 224427515 625920025 918150599 715594405 107967725 325705995 53272255 192155595 616015591 128226263 635398735 115906501 309032071 103472503 855186349 654325317 151944403 808174489 456212719 659935269 891601465 332806023 154993175 950943851 404738443 423362875 896619535 73035585 881921799 52030547 271657895 358885115 815540565 742795031 746648729 724897041 567171711 231549815 905307269 205266219 345949437 308495881 509157879 113224209 682293419 919241483 918522205 85312695 481785805 519222119 435378195 661064503 859153427 125963691 671782233 439981529 741110671 799061263 819469657 779969539 807299009 299992177 157217827 515973449 577959565 195311449 20330161 728523369 349477185 103473909 409108451 930113605 535517073 558651165 981752709 194322663 944213659 475819345 306627397 297910915 616749029 131121081 676647871 512781429 831205467 18931747 138817395 843300415 973250387 912185605 359480777 909112461 430400905 477425793 682421781 27964467 652255269 250582363 390939279 565391659 173584305 162488837 337637207 745984921 530031395 923422613 120967543 683036871 789740251 266381003 252818403 242726443 602944923 477201165 499903599 862014045 983594899 908427627 254149857 885837857 816684373 941197725 97900001 38517605 593648353 79420675 723972093 51825719 97759385 113943969 685621427 484432345 757792335 767599399 45832545 162345385 879229493 968993263 552591443 688207923 603093481 383687159 891966903 604332077 453742449 987976163 812399783 190186863 637486647 840807943 98347047 686496253 651231253 934390617 106662431 322797317 121261125 908977783 22525533 608552407 123485805 881247913 805428127 267301615 242370973 514894557 187539587 169689841 962793797 873117867 151187603 671860137 858296389 704899411 540383553 8534793 89973219 613578429 358588135 776534571 878183115 642347127 27658691 8959573 729813013 526712503 254702339 193235951 189042745 827039581 703317427 445491601 531523105 283820275 281272273 886451953 915317783 810854821 757799739 925144565 662836947 75937867 362973883 234285993 620895345 30855525 807883011 485178687 947511157 822746649 518587819 799108371 10902479 226816311 114940983 562836901 321876433 238374967 720359693 954586789 62941499 181945399 270115967 77297637 368297009 481972991 409542089 316309085 657592385 641829887 337336329 115369269 217493855 339087181 789025609 910294197 748419819 153392807 345859963 525669713 800872613 127245431 817445239 798533283 960555455 17541323 192565759 754035313 430798797 521289305 120834749 606927269 447747021 230736259 917625667 397859155 127490849 207090511 658313223 432701877 910233241 929200235 607287661 239005997 853355371 444708911 826955965 966345033 863658547 613796765 150386473 552691131 308418549 607522903 942637257 730812767 440087839 993771953 692246943 564674873 257883785 105876383 491899541 961862513 666730091 229072833 905380989 484145755 610415983 346920545 874377997 573642101 655299489 567327595 914267111 349520481 421801845 745966967 593656215 747569129 14273737 100624069 520283277 338704643 215893985 670339131 864353825 69222343 324031085 280558697 49813397 66352761 290668673 690777223 87740179 963936901 570147737 431311731 19892909 315701631 310926749 697796277 88359769 998562849 866243031 407815037 893550073 929710927 847667709 48057247 477485145 60937491 86268717 587203231 620539433 718799779 802214125 964288161 181726209 776661079 501408299 198134643 574274147 596531893 396018745 696715665 681242809 725497189 384383445 372343063 558678099 27721533 614440999 468586699 340915563 589803575 739247547 969619745 593055265 614348407 907167619 404865835 251154305 415600969 963158497 479060395 192123 665407007 763316633 254030857 495281383 759483795 450242261 452889937 721811079 344107627 809905711 46587197 112551427 510341263 351979425 316008749 882783727 103874581 623046545 525211941 380283843 341087289 20970957 851804887 988965089 43597403 747976329 541713049 852875663 136700169 80142691 514311275 84331011 841478899 278008417 39343347 671829843 888941561 627056367 271993985 994970239 66641947 328143587 170606093 61796725 959613571 877250425 968093749 29915139 856563849 325282905 992235073 937716451 858935459 141355661 604207905 319702197 495277945 475235213 133492329 971689733 532515027 143084595 437756765 394617153 148533413 939132361 228392415 85252549 424887817 232414967 877905795 347434705 743094853 87946453 166333567 406621581 920572867 620683233 972946097 226909453 120193815 859664639 817951903 652209993 761654265 152393853 700000891 229761057 589430353 232327951 36381981 705983583 90502439 782100179 692166913 919545015 696812975 334033487 856200015 764784317 776009285 791456621 2935513 993724919 993697643 967772295 971643667 863242443 366976205 462555991 228453149 585090957 503359039 595859461 107509953 699650933 680305849 779597339 767335275 83483555 129685347 397022607 24251185 990038049 844515973 60541889 634109399 954134753 612762771 153469555 77605825 393554109 116338985 429803219 643040001 332490869 969793035 739782263 887502409 175268785 196833313 576249437 472152573 18910213 558454401 608206825 716349731 935692775 678782821 109478375 509449835 991398843 110327601 401925007 441600297 931971273 129764719 550703485 153818209 943524421 21240275 810353845 437389751 887134787 713446201 312500647 901109369 776413385 896338085 98783013 899789475 85264061 911431231 53216111 865568721 644825841 617773149 665630507 33440329 905727777 62859897 233966691 528375293 222527723 854139447 780877709 432259973 211047129 290457699 950370439 330326301 29201245 893044717 790912407 952725421 123610575 395206389 308905065 351785415 166902131 571879865 604690707 121624223 313569903 835204521 186286865 909935893 278715093 780235349 206488139 185743537 906423713 701739641 557063691 856065187 579297713 210496761 908960265 588431553 615688911 334459361 668006241 141712523 673560749 816244067 492459927 721065511 159375843 668883161 845588889 187246949 771815667 498867657 263131327 205565629 569030983 901439197 175093187 512902733 573546033 828826343 58236361 89922269 366597095 637033955 137647971 664508635 811972749 134291447 120303491 421632865 710147883 473115243 151867015 952415531 467347633 362223793 415776053 614505379 440683261 355716969 148223929 228315095 651957707 574660947 224770729 806139261 446478791 346360411 637444609 591831543 298642305 168236179 340865063 678780235 230211699 783361849 956965609 909565735 774535167 674032045 555656317 632686563 112194669 791857789 103399037 810402687 562295277 860026459 862175985 718962337 930838941 643729699 65248583 971709851 98988665 602668247 659375953 432228705 311814253 372206755 976100943 590619283 216145737 279780315 129322979 921956987 384566215 678923511 922785567 321252867 624869511 169939615 421792629 988831431 189913877 133820059 716862403 766665221 601196257 570480863 113836365 786292643 949961795 368600199 929811651 230253873 280319869 182537941 922450231 948766439 265768889 450566199 90219817 145374371 331042311 251098939 824256895 631139053 533811297 353916833 185091715 426630131 674245799 401716555 431138027 177620111 821763493 279035715 913816789 450785085 617846793 21237439 364074695 234166567 921352047 97482263 821856429 541992731 698113367 630124495 270513373 569830543 229057579 528957843 602310933 8290469 216854075 269354295 245590903 911908641 768729793 502340021 879915925 638615413 746284253 157543985 85277535 852736439 29217435 355609847 100377143 361191335 748084201 431294583 176960479 267685805 984066979 112519249 264020359 720020437 103536265 211467331 348311233 519116505 748246085 270903101 839043725 863953689 456697445 343736911 784232527 90697113 230258535 902066101 438117589 232444683 47526827 761789907 450219859 857907395 749762679 354556469 893105255 211768773 980875519 983656587 455871255 771691957 617547101 860425653 899809743 319726563 395952017 648791729 232821091 256242759 639825027 992260015 958785557 305668735 947886855 136425727 972882053 643863763 196900565 583632927 105932995 292006193 984669069 913366703 658050885 841566771 909733305 485855099 846139365 579727381 27248589 322162553 983556843 858399681 572991773 939014339 790597125 780681667 968328431 984473499 540521797 203499863 194979689 803652971 860994091 419444567 793109663 553426891 570573977 264467279 719008137 740836209 744273377 915258987 535575303 184200517 601744821 802228867 185257187 134367055 27342643 204009239 203048143 245372867 882988511 52278863 980353381 226203643 524949673 462730743 765209891 661024125 962804965 573253769 305144695 387138803 154974543 379493923 796062125 260984625 402846477 34478477 469086211 552718897 891007149 614934327 247617687 66696725 457018659 313287735 856056947 928456235 595689677 63424333 577152137 210310629 725382257 329093599 499633331 495643103 734659645 407939325 657364143 852360411 471773891 355904605 757152041 85296837 671257089 334717793 501480115 821165489 855110239 599118351 203118787 749488857 129104295 350110229 178425021 792783777 716680721 576985037 177419497 862836883 595560759 23632691 754811769 816352867 80538915 836492017 875330951 975986925 524647229 47074645 222243857 2056755 295846239 297033045 927632131 689945443 905809603 43368851 782040623 640310221 672766735 779262291 160755787 207324653 118792529 325815175 242797051 752280165 193965821 500353477 863095495 799235333 796225265 815864141 65031713 652759995 466973809 986384901 980172897 407598501 787146285 401743231 106582985 387823623 17099065 444280303 927531395 12712777 783586835 788774709 207117471 415267329 747150749 945848281 197914393 355512297 595687463 129156619 103476941 299887845 795674215 778423457 965863049 106869761 735645815 764353561 14297853 499031151 719375071 165259677 299034049 110418057 303769485 521511931 836097113 818540755 134680787 173583531 28040491 329965307 925886577 293286603 18659977 9542353 633000075 902528547 516578221 947220307 532841645 456622113 521965497 84955553 975623375 700806365 483056819 396320775 429181517 334794265 914149009 432755963 822128877 435807287 61270569 651690007 489960409 272967499 771027005 528347931 593309867 199460873 364920439 357418743 659158109 756632275 374306407 673235131 764664405 921427629 168300167 539826341 759822689 828091977 84487481 518047509 297791671 205662461 866230213 498661273 913835761 591525833 185161563 511450595 324092183 696465493 966887447 113900751 554298261 129663469 904675833 654645087 647411009 879644811 223725547 982502333 672222809 98589645 398577853 906251329 865121151 323295227 11185193 234678883 564953797 907974917 753763279 970813893 30475421 74374017 845717563 16445237 728001251 485665197 622657499 919573413 603271649 54320755 547829771 110193969 476158783 931940961 447163915 10440731 637534999 162989743 755292677 918395343 880477411 746055227 727603209 417917409 810245769 534352523 157040913 477998347 62220119 787179731 897474045 793330223 688344321 845695205 770703001 348026715 283638437 453887043 643449491 560870083 501516745 544460053 683267719 636217789 152968537 544320809 805960437 153524691 335088297 477127413 908138309 900683691 448878203 136927385 111971019 652429339 339439087 46384351 506244543 69998877 404532119 923424307 108506177 952384723 887808099 953185709 544011101 304825997 767249077 385093133 710329857 884814777 898960719 763195065 161845257 132854517 357664863 586085569 227765043 300409093 131830907 126491101 87595565 766524881 635056033 817824107 188638085 307388783 69640757 854412149 874319027 65205529 52103173 804921253 632318747 29504051 46965573 765002839 793469703 966942535 71863187 249318791 557727397 158380811 669288179 736269791 107474193 378118999 888075477 459573165 362061641 812479025 630752525 646388713 186740027 262327489 166013655 926878001 625514163 728471645 304485337 506277067 68532847 503178113 964624673 800308651 917827853 230142157 474180133 664982883 784725015 330547213 267746239 923696949 628246783 202990903 192685879 352901897 50177055 90733923 333346105 940053613 890949557 360330711 505958107 6094743 984317167 894845181 889321115 800935527 103365849 789827943 480356699 48907111 873770865 627628243 249582957 671705283 236693653 660103969 245772675 232251219 812524815 742266719 57156025 424236949 286274961 88403645 593758873 443098293 433221555 151640475 151017483 3952509 491599609 122486393 806108265 158742887 206681545 298664707 768986477 590019473 139826807 446643979 304269117 210454979 698867769 888277903 283019111 234496365 151977011 876467119 794153439 158384803 835135597 138635705 99206659 68664105 745926361 216464415 970945433 163494755 832819279 708017277 496717773 779704161 648079763 108513429 802254389 895842777 526821963 675109203 678243789 954019117 41175561 886676937 399991805 684328035 112362311 797225525 10157967 111748137 177477735 972086009 207630779 411959255 604416177 528682911 39496987 490052719 365102423 165622235 997184183 463648659 615890545 304412809 160534269 24036503 233871873 5800619 321405119 999157615 494633201 880440941 254718525 306251195 508199955 632700451 246747163 862096837 809405213 924779335 156546151 912512889 498562995 447975291 676950421 963791727 261070941 784153999 154661761 608633317 980489611 366740593 519343221 580332487 760860825 897273407 434982427 905005471 413188297 24559931 555197577 701105831 455488063 277842643 413930299 480023997 414130963 184557719 443621399 788800105 707321913 683520835 925808747 126948825 728259731 838659515 494380013 529372135 513812461 621654025 858342839 494795281 555332087 636077665 447210321 916904571 692282185 494669857 303549351 156818169 571176549 305298631 612496911 820688385 533848757 20552449 432529223 923996593 934164361 350565285 80303731 524064463 11936539 252722857 882949663 855395791 70049163 590581811 673205059 66922435 74946533 773696909 399967291 533700973 433089305 900186157 14271947 165813813 763866879 441072811 596098595 303946023 799145305 941564877 48782293 451074045 977854671 257558397 543139041 357579799 542427637 370159565 381436333 247152505 273970755 186443769 911543297 461248469 965505307 862184805 44454937 780150145 741006019 890394781 68219789 26191485 273531761 970252883 484708965 586872687 685168699 230036065 640818701 564663463 982662691 609816269 278928475 416988445 384293137 856037569 28756619 585468783 829965017 934651279 655237701 810002149 176082483 794438069 186525843 601643629 313441727 499960787 866122987 783239073 176023817 149811639 661749805 52676543 598972287 698152275 47524763 72522411 360455037 196024771 827568101 505427449 736898883 189899849 495568925 51790303 4910585 245186895 805544643 985225273 324847795 981146989 728744635 812148627 296691049 961133147 42783315 851094553 849077243 287761915 691821631 5961381 311853877 821002587 220201117 495268787 427862981 287380909 291219441 763868779 406653765 205356365 648800811 316204959 165112121 996018365 982461343 794678467 609519625 961805737 487992329 139815671 915156995 433130981 248374159 740685829 798487141 418085995 96798655 190445399 365307981 226236509 907699855 409438985 194708933 393774091 45689689 161995993 483263681 571740643 247661029 676643117 653575189 663816067 95092577 461839893 994061447 288756397 413677407 998781513 231614397 260917837 61199069 455973415 414796619 531869047 882843971 868331703 802393511 910647909 735300445 890827945 269616949 727025019 322700383 997934929 493048127 691606595 667042021 378668979 976182003 226857075 527222265 108130163 151490155 292838115 684016133 669944799 671142827 573211287 325749213 797724915 923911065 844235709 838468545 555377739 333276935 100647589 653860437 63777325 617807793 201061067 607811495 953526923 893949749 416740819 266172971 577234941 554109981 689878151 295439297 552398015 442253019 875906013 154431147 701545913 900310215 987378157 748100759 671758717 401273125 651864829 686219163 882707263 133061659 688041077 300523827 766486495 951009211 324519403 970332999 586085605 63223553 237248539 52920097 274109313 225468107 489947109 865707641 856817033 753019107 991538007 373452393 383521405 16485115 252930209 861001337 63848067 527553451 405312803 502871447 819137387 725506933 713606235 547780885 349753773 553723331 853876985 23862707 512702311 561531879 892800461 639374997 469024609 17047575 752757973 644168265 180818441 684617847 740321329 456284611 947023481 416764431 385007919 238906721 979892589 658916817 149784897 841029609 99473999 499005333 652355329 501739911 155023405 43301149 817757493 767459535 418665661 233912083 705405383 430481859 604135265 493465607 472416971 598019267 943677471 501112179 677798265 314711455 79296677 663075513 557793593 958410893 30076747 237457953 238515347 593464103 107972625 31347677 627656251 466142069 690528669 734307077 311646731 399419619 802365505 844331163 399186953 16591177 747578609 560739465 338272607 196825567 278081101 637162655 147763041 55886415 761285533 228479895 657842825 351548835 91282897 757070867 587922299 776014163 159750271 72796057 216775681 427697211 258915559 471710623 583180303 489033633 977182959 428639355 620077249 762655279 423565863 463076975 985543513 203529471 823187143 925574821 569783363 813364875 68668077 292817965 974500883 777671097 899394145 408557825 965109891 993513175 309470737 242956033 657617271 85975705 621735063 209575161 148655609 527948063 837283439 379397017 562833725 89113835 938445507 568894583 876929439 974343147 708815455 574861593 101272483 403171957 244289727 715807207 66267377 921243717 227274493 898075953 320002399 744329603 582196965 223487025 738767847 422488505 56266723 127646215 787341229 374160607 821914127 227417791 432318715 224545873 427201833 132389447 836759623 737396179 915695001 725234555 540633897 706497683 335985003 13701915 475368293 428522537 604306265 734748369 961851881 814618511 143833539 527566381 756686789 746215467 137312173 944793511 713533749 484029641 108522439 908612005 405155997 948234401 617490283 438257515 181286793 674494545 283573655 51358255 183919531 109589209 69935089 906800133 657613277 691817131 169749961 509706483 496161061 261548699 171950871 701988833 629102507 397364965 737124729 678637981 413625285 783944753 625375031 669212645 600583919 966902921 644756031 312783447 37462217 250409571 636414251 960947583 153242657 562376095 646436407 996219851 466362857 281485439 526274637 912190103 946987579 98121393 690561017 274604833 665215837 533478475 375734391 601885591 166128313 382918859 563654817 732617733 866866145 803124245 78528003 645335401 888455059 762122615 242700745 215323297 176244911 680911523 527172043 393067383 612555587 753052347 22180745 59985821 793430913 105457475 662476585 537996717 643383493 818436903 633073277 529149991 506486417 696222651 754884601 955847283 326003601 451940287 580625341 589026787 844752535 902409817 758224529 288718003 971783073 377475089 934093029 280002305 598911697 931813347 737367503 984059863 749602673 621666855 707902989 7427623 656722165 950592421 822284553 876832203 397870583 317877385 417242067 809362561 649313087 463507817 721359389 808958197 725474995 864345155 703155531 798114745 156524135 969705849 294303075 819177539 222451609 641300701 863570963 87080439 282852779 849665695 867176373 6313757 896120103 686145633 682759237 666426855 423908547 493153317 883256941 255616879 511522389 211164507 425775737 815394995 495329767 891920341 873517925 543996319 94957727 265030867 707955147 663267845 506088915 980601849 854187255 527186075 539559421 739787861 793578965 855022597 498095553 250812251 933309437 109408203 531446505 188483561 573396655 27989855 134163307 896017733 852601809 697524505 708935775 600914459 132732661 415276859 764866825 948568961 336017999 727352047 825005527 505015795 290991039 425995591 13571929 894894169 670049741 117705273 948126027 841189117 31739049 86011817 502831505 431193749 734517033 619779679 528887605 106297153 763453387 368237835 340552557 955864963 201802169 765641547 899349137 735611721 355985857 394363035 230135591 678607083 545930075 842593127 237395159 389038113 880781733 886858239 177942905 873682197 588839015 980480413 221361667 420550995 938768143 410294627 472151963 164545231 418050997 676820825 292739725 783199975 370152987 396623215 318541131 677616991 294632099 875169409 639512431 225266023 221901153 540419407 564129983 898537619 590509321 976715139 623002149 785905631 205545469 519038125 27663539 735698609 228541761 51507015 88621221 586569175 991416711 279895987 76083297 130859653 560746021 271337785 812734831 123237211 283276315 509587209 835194241 999509851 341842705 1516351 76799863 762650867 918245459 970955227 43684945 402899193 193379803 3823047 90769467 216426409 486434119 64278995 993824135 547081643 589699807 214105017 838360499 44454665 53277331 552642331 789149281 13113915 867149049 762475647 403936347 327940381 862470735 746856539 748435093 296119283 577006463 238646277 202084649 778264685 771569431 211396285 147093597 881741981 543712335 351834801 26811803 772726275 675068933 90548719 911047799 414580867 321013695 200436593 264880555 683998571 979456177 538702359 575972891 348735599 22529709 895087533 398433233 223316655 125965109 877282273 667792641 943763883 265430129 596661583 790726407 859957845 955813935 179516535 439160165 484039681 140816101 165074625 582407879 187660139 378301619 539776897 381145601 266361787 761125987 501174511 250195725 502387067 192893025 872045867 562702351 544988579 688370629 867430721 16015953 206011533 675949903 454552607 532570953 836468481 434669669 862650785 307757967 607963949 273219095 523046279 705412071 465805219 235226653 152317049 853819453 553172067 202429397 108661003 522736293 746402257 943902535 389649587 184108121 701747641 412549667 776017623 522542781 760565843 426793151 608858043 737070685 738116923 521528601 890981267 782078441 67971703 996147675 428397433 767532353 246446451 312160083 419096683 1959011 893320707 2022521 317339223 750222975 499047785 331155435 92877577 416241893 314096965 48155887 699851583 935052817 821959335 848015993 48387991 55776423 139120899 306183195 485650331 382363251 117364537 480440599 985663167 14250341 929170059 248484693 148215127 978447005 457441703 27098721 875616681 974712155 732331939 80441975 349585115 674859529 364754683 328071025 387949055 891783999 568920215 847368667 419422993 327411891 166923971 318450143 434493423 516373067 754125361 473678427 521468259 445882131 880668419 792017351 388127263 476452413 800120763 613152081 408903101 634912291 732083273 106414531 584157115 83087179 640769281 341034135 112471173 380028767 342930335 923724011 96346221 986229809 699492937 627609223 940990121 645054655 341416587 877450971 172095581 972089899 480536671 44329979 741321105 283963581 650520861 931983275 925534775 753342189 416845965 421339215 948417319 260464213 455829467 504154615 371958053 368452791 327302301 352085849 275409879 839271167 124552655 471300311 936295119 129990721 998390487 293466999 352658055 659422389 103372421 449630183 155413857 50628803 438324745 909811071 771957925 49232371 454181893 472445759 925626757 887658489 365320571 851451087 112607769 158140337 547123419 975683453 512092773 974307357 545018103 477272383 731587407 423823721 472694799 661389749 177604521 573054953 143390919 841876777 18066733 899859735 681704235 810085255 868961661 640301207 407647155 359105895 137634593 849600819 797258811 427616519 735841929 779759583 883984137 551169363 187621651 246913207 845119433 570268885 607596027 79533567 898317967 533116615 369805165 514479903 745952989 127410695 62523257 114406317 779447443 54976029 91944217 633497699 700004609 866371127 374722351 456012837 250400219 598895151 97613697 892204797 681284161 674497411 845306821 5913889 642151861 618364503 4328593 820146665 197572389 897371775 400277095 157365465 259598823 446448241 213859505 57097375 253168313 489988171 242011327 285810187 640268477 423158483 474964171 626990873 902303365 419827323 431879927 858307565 833988355 602315867 355009609 31379923 131662483 517634863 733565879 557375547 872138751 452115039 780205335 641464261 818438001 488451837 676823595 436200239 512885117 130896061 919885213 753229417 456280099 726157057 115256829 32143235 261957575 610747853 639948483 464163259 258764343 118824659 325214037 11412081 894841255 69538409 1854969 634199601 871460277 130006671 63986911 393565617 854209639 883362795 16334627 75881675 165766953 303729357 885694917 350484865 332373969 925314093 582223021 668972285 397350301 338495145 595559343 234716823 143757359 786104201 871147907 398123717 799896727 608182203 415984329 602863663 682010699 15316697 898333453 226979995 450450471 318733855 949469117 846397441 341277039 318505847 157295413 652092795 348394193 912883823 13099957 722242635 666632037 730596159 117171301 63732957 77386149 257908675 291065945 771546051 270657143 568778375 925638537 449878715 613797927 522465207 419554773 949102503 970430829 323399725 681111049 211962257 958953573 953917029 489636563 443705261 374350741 945368967 278166479 145400405 936668393 903286885 161613947 260161553 274006711 455014515 186345285 927661191 306367675 872060113 309818489 923181451 216010011 860062023 943877461 479480859 848183653 416368965 617627895 836841817 334500751 30695649 107304811 543056271 877596915 97099227 74822815 786012465 395699033 949099161 125243245 572043227 795156973 140266795 104694425 711882065 140545605 305915465 565365705 563383419 60982111 206551633 451652753 868031599 422781087 18212939 123149671 236439911 148709585 298862311 783043249 197506501 540396845 561996153 525331891 352144665 581160527 707612933 391456673 878554385 605143867 650971437 413176979 567712907 417032801 855654213 896311437 83800203 533927061 411914563 275438709 1692473 764917779 965403331 951755551 201786603 515272577 502223377 94541377 247989531 191921901 350212889 693623167 808785261 191444171 325677173 121236833 177371821 845435641 561934945 720021593 98424779 353394621 929141701 195303873 205024487 974924995 485930803 925019863 62715455 571122721 665362911 549778887 742949699 497742677 40961705 153157283 803642243 633711681 464023321 829595745 950838715 173555255 29227615 378432997 602418383 108378343 207858257 105117431 405678795 445699443 451439215 47120713 795958753 227208541 471044319 148733811 232215403 644142485 653208433 502501367 924984559 361818989 563575453 68855873 293629717 562634149 285905025 400919453 951683253 103588705 472701925 246244423 301040581 199890733 171104567 798558305 399775853 687281155 627257745 779708147 973535219 720813115 448552367 104001263 641818575 524064923 923897595 938654253 178051739 416416083 903961731 229173359 628557081 76523255 942843389 734897759 177969973 476224387 780017867 163856525 892633857 849810783 8182001 973870707 773189051 505806421 169988643 335611763 42788547 447661211 999226035 108519893 98684583 210860497 397967523 139969483 309717017 506031609 863565465 201807469 412783349 761772161 166350055 552604861 682965309 391596863 550302337 255712933 394062365 958445937 715788295 708803061 586339559 566483643 104988353 722132327 992263193 808746025 620959 42243997 12034645 880908083 862016055 190588959 42366309 394202805 350618569 640340573 912994109 115798515 270775355 948183731 642914553 121700253 851701021 642606945 501682139 965301447 93381287 441963409 754227791 620765677 474150071 212059731 484625641 272657909 635039701 924282273 540904291 675625261 611777071 929693021 232845729 789264969 610176671 11498573 718431405 41581415 15730081 429465895 145607613 790352653 575295071 608650625 481640745 950966055 852678053 149718749 569471861 733088779 597775599 719571363 593279565 122961783 437777239 854888999 715970437 339630989 991468201 905034145 892871703 565263839 64520785 118879027 976041767 122232415 361388135 846712547 306708737 296960617 704273067 957529255 781087253 405082565 23696773 894026067 212091905 651857825 223535361 290293165 497387145 44997007 933238745 157632349 838650517 127705231 429577323 384190451 826087227 368155141 622695873 125868007 260371127 396249279 526740101 988135839 883957609 609001969 368393747 143376991 393928413 909000761 741850985 296007517 622492873 150718109 44995629 933085869 960641541 935686537 995403695 104539221 49414551 769020883 201681383 669285181 716531113 182838711 615476851 837094963 830042765 236827611 994652059 672582901 975852479 200391757 373124429 814824225 891378917 531595139 625512995 544601923 303552197 991326551 150945881 384415689 860663383 54431763 485859033 682407439 249267637 666654047 131930671 272247635 886822175 279652179 634751895 231544771 713542661 396672877 271639531 813316971 144758777 505968529 376134327 890467145 591509939 360088331 688294695 500947515 410349595 857740691 293510931 758325259 290036537 436881989 94817787 563249773 915721023 877866663 808426501 213233141 816923021 562890659 221936899 862239017 905454499 932151443 139829097 815924591 653776941 460970545 427816791 368454683 380808191 879089059 651282837 449735011 409935633 200287607 696392851 406684523 931420555 965811873 514332007 773514043 797247669 316334977 700456143 541446597 784157187 69391577 733458997 613607139 763956241 521803991 63267495 494890067 959879073 978785809 619718621 16209603 889427615 475986051 65719605 366795455 193576223 876129429 632498359 932495301 811690587 58035217 395879441 866009905 749302709 107316015 833844125 929985875 332150205 81549707 789027671 821760087 850210593 950452009 859387369 442170199 873038271 539262329 889030559 643239765 50050969 594758733 516520309 581063739 346816475 534145253 141421061 155582939 45817817 112932581 815677083 901200619 669353997 663555931 677586467 948811791 424297755 709715899 10547253 292503759 923292367 926601955 863633937 66236061 645143833 388539929 746540445 540805585 853886743 287115273 648949867 746426543 356996109 524200393 971656367 882134621 378374755 592399317 413713993 35314157 10617007 377635091 141470657 560043865 875164331 378505171 408744263 269085827 426610747 29951685 476594095 931480115 315956331 969275915 146157949 201014043 25272427 602718247 754339285 652352723 282478747 840457479 376308615 89565917 649396089 975317249 552620555 25432483 848720565 920337363 675621503 466701685 342024735 797436321 961403561 435317645 641476787 358905335 143981565 343899917 37972375 409947853 835849357 588758013 750330641 52270975 866633243 632946253 592591257 738949075 625081615 668306649 388395207 105406197 609120119 66930787 595894881 908769401 829984265 49187471 186710353 638677343 64235303 340013299 916154537 806535437 699717077 389636617 990127783 642766925 906853573 71975981 597936555 756291157 184205133 34517677 563713347 84366787 209712237 784665783 584480545 663567773 683887051 677685351 741861919 148350033 327692473 192609213 995714371 419088049 253001515 656176547 390175927 768476411 802595009 110618857 606888143 343026647 747184067 588845385 755531523 933085519 972257313 136956517 803517691 697208795 720344687 966266563 543555967 193568599 422928113 120173273 352459139 798046215 60617867 917368317 251976483 970527131 865430477 574567281 899928737 735617061 360851439 781594973 168354153 721420069 717747149 900511189 383183117 95234175 264545523 256805841 430770251 125654401 46861967 160273969 294138373 843213279 64819829 574853825 595944005 766660791 166316071 940227375 972605247 233928591 158297037 938455575 694081103 559763283 876526387 83200505 871318775 93561689 195725525 765574719 719440357 586141277 303198925 202699319 884848615 129761159 456264679 884551711 850116349 660907873 910818959 637112341 995568457 162226401 788586973 132811045 599084567 982291559 147345041 598963773 122324695 177730229 528228369 877180729 806518311 813905915 645664109 196298201 545837769 373953739 653888093 979182789 279183531 869794085 267990591 3817617 771137501 347819883 154930459 793156277 218004379 363270511 762111137 930495633 642495305 511358819 845676327 332295791 243856241 461549285 261430955 826842753 284606153 215616507 557447639 341984737 830941481 613650447 887003897 617711503 521564311 327526139 988254473 819195763 988817979 625591801 678715045 6151009 566769515 833995439 852764947 971985423 591483041 891529259 343643463 563975201 119450243 783075811 40237779 990036769 765554391 268352177 488078073 480850557 842935189 936045533 492698529 622051471 895619029 375072787 794451543 22901659 752349405 649731691 941305687 492879047 96857879 763226973 437174907 352229159 399500565 421029843 657815629 54643377 6828691 419401751 78484221 969571657 488960375 134478049 608065889 808280503 874819271 535036493 940126713 913874093 742929339 288188639 867561453 518029253 167655085 101367431 768340489 357033597 346391071 469190551 568241095 743401281 924670395 925125071 204256325 577491555 636150617 409487187 363739467 564278553 171992561 176286641 540743751 317057159 150480549 745377501 225378643 519040693 398115779 778182711 730655789 686625685 812310461 562186111 368535867 998908415 246569519 767561191 707947661 740192439 658269915 881863427 435283161 434543459 288190637 739624913 496759425 101672853 470429879 471187891 238176395 329720777 665516855 645463929 306392485 982612059 625411213 307013209 749123367 803825817 572299849 365422831 531712017 727909811 378237977 248011327 291407883 550374849 144449243 231546039 477853281 845042887 946818449 36346157 197570831 134520747 543060583 44920287 521781167 165517631 119662513 12148081 371818637 724761917 787762921 338054129 625097107 91558727 779295153 109739475 845816157 570443237 151515865 662560501 401161257 154114441 418575183 436955035 35543773 835587467 433381681 358470517 778340875 464282925 520496321 471336087 426562791 883573401 788198251 573394045 252457553 448695263 202617539 792477965 804547025 758580729 300672899 928841111 632902293 831249865 567671439 32185291 743898231 329219351 962085363 848953545 81982707 431603091 661590495 677476887 112802867 211350489 111126961 791067299 983545861 235991145 554040557 19819455 866469089 365597869 480670267 256012841 813117155 599461877 103164017 60363017 398157527 247858811 507068811 410170601 243099945 268300385 435128745 418947265 89758963 911769775 372155415 615404781 918611185 774977621 863753291 209758259 260117131 49353519 301096669 906225853 322504915 111664381 171463315 397822245 481574781 856844905 146967893 74479973 166046185 950216707 52515643 14068707 669923873 48798021 730979195 838795885 987122129 350826383 192826747 330071351 541311313 379027245 783322567 178727391 236684447 800876109 740729105 260857963 768978535 822077451 68937011 402438215 277113075 633223015 845724211 86622025 424348477 856705099 250051387 197811373 484591587 147467397 541087645 942834203 676487213 525710035 158942167 330995357 908422921 672337365 387423369 347330475 244075537 566167825 172583809 250770463 118680193 245035515 685366961 97270595 568779843 445122797 829046579 98478015 880664805 217279527 889668173 551484587 702826655 65645779 640303721 694670469 49921357 810146815 429980187 510245937 356900219 25280425 138337563 327050237 101759829 448987055 679039825 65952925 754366899 713128157 732816325 552540719 814676759 15879137 959904171 733160249 885026979 931074647 814358879 130981797 707871019 136557501 397430627 84711885 555775011 489326721 691047779 767585643 146897579 984847089 443288371 585369255 386390667 485863493 159395277 856609547 465483059 169873825 119809619 778270349 996860089 739284239 574396691 692849805 307107549 341845629 521520257 611130061 712544261 463358151 991454261 40563835 135123521 681530539 833904115 736055597 3468361 303832533 232755367 657204705 429028987 508550103 200019813 836771323 369662431 908733737 952569959 814330951 585492261 664669739 861455889 687048189 995857313 503067175 27030509 191917497 521451607 445037135 635770289 709358207 125111529 80229565 911169077 143241407 395902123 871593839 596204157 222929739 681119123 209298257 215234229 966890595 921910589 931166517 145708849 551602349 134850549 560327889 492524909 374988849 322719655 816298441 53901065 771128171 352259307 388178597 140414161 841499699 912076289 50411991 802442171 275707089 788720593 767945401 943394783 613537009 305331431 638678665 375064963 111221417 179661951 26668915 952486415 195187061 783178611 309419913 15487769 200379709 657462093 602277313 184110429 719231819 68875581 575224575 162979771 314195287 18247961 301996811 306638911 178608251 891073633 176924567 218359583 291585089 38003515 954608443 466337203 176478097 593985911 396831355 714179969 687226821 250083725 150741181 37067059 791054229 413516699 89334611 275182491 557680683 351318633 152944759 195959991 836780563 584328805 554639947 240837287 422732353 301814441 250629079 39250617 593467155 546657777 445760525 193757791 457340239 423865767 34490565 232983091 971666209 611358425 435823041 571667707 997756703 184259389 687768491 982957729 57235781 393467445 838629651 972473655 785445881 626733509 30161269 387033595 426029321 994417055 74879021 950181455 976015531 971054107 459947401 958404795 644451449 570670389 395133881 125455351 497341051 437975957 420799957 239784925 694506015 31454093 921882335 720631407 451824951 417296913 546639041 990182105 535994115 990328257 362415435 550668399 463293733 589394405 419535159 940938155 182624431 435407725 234947879 316161839 501681939 688961007 860262563 207175369 417327919 625039531 426658587 71123565 142357575 278544775 58840811 893057329 71297291 696076819 790861395 870433375 328946317 200059527 128138877 917291613 899539789 201642177 652846201 319034817 282846769 287003975 807333953 632008261 172395907 11644493 2128823 2793419 68485625 139698341 845496225 568377187 718451633 442241747 448870581 435022395 207458609 978854905 702951561 9329329 688927333 138428651 566974111 466156871 553781667 131869983 135957343 117396395 578013353 951444401 764344605 397353901 348293529 410287725 61871377 208342089 250716163 753044671 570057821 181440163 619245021 801155775 787981063 21580037 44142211 931438637 786210053 931247077 963369913 768999793 915045165 157710043 209640623 147998359 669040191 701426603 944113399 571823193 904973801 979497283 210610577 725813013 286024121 783988403 779449313 870134229 304899113 539503159 519784629 859681603 239221145 929868339 834360129 801859771 740393301 926208563 374978083 967402299 320325259 368880103 64628321 977229929 113476439 723505711 733426279 126342037 28265911 715885577 443757833 182653623 892575897 915147173 910813321 356924781 24993995 191093587 171986311 306683389 320831493 399345809 724772883 671332443 95607277 498745087 485848227 363918617 237988615 973558635 964065553 646395003 670189511 156970695 489786277 70229859 592670599 41477421 737293 726399589 493016967 929477347 91255387 220305591 837352943 389414227 199882765 71683893 989150419 184988687 323123979 567050603 680309033 703207893 458050209 310075525 219928533 911649157 749203075 768386651 210529953 477463853 262113231 138359405 602765115 556104447 781102601 705094881 689482301 45492823 554807841 23268233 878640171 190833847 173217131 430626521 221175403 477276873 642991779 792522481 80757329 839373157 209491183 185176217 59932179 200358019 433586397 422654529 687734741 782340165 629733217 612314879 86134945 84065273 205257433 819281297 403265381 828431633 544555531 680117089 95397883 644917801 835918629 431916925 650634279 758731779 102636729 626373021 887042703 805096077 908360389 507491103 658009029 775394773 443456433 838461451 334811461 672911643 155469639 690521103 986855533 193167297 451277759 488804741 692040583 945873489 360057011 163431017 617205445 604953983 788062253 264272741 591740735 463759143 110505365 206684869 164616695 932848461 652690117 913516421 769635545 477024537 407288055 601185343 890848177 795552225 341368273 838780991 67007291 666554911 658727007 492633201 269685785 123361399 815239707 556482669 909221331 631608499 982360541 979392883 158567387 397416647 502832363 740955497 60262025 837116881 619651061 81485281 611591201 175036175 583762959 621074701 525214153 766081775 723303351 535485651 650366099 354029573 229255119 398973877 191027321 498428429 797903015 476987877 109278045 656168679 948596469 1408055 320982023 878145951 759148243 188714799 193443625 586542955 971461321 717262833 501881947 588603555 666088133 756366157 485098271 917821901 659104537 45937339 292296671 240633489 369687941 48816473 476530923 331304133 481826861 281749741 935293 691377509 700444317 571994859 652211895 940725137 351396557 63040357 401158305 471118231 971953177 742250525 236151597 631427559 909092423 535174523 104519987 808650785 350499969 670268813 187832693 448572933 430636129 62122761 530665373 246358653 539200737 756432977 335920443 561720481 106572647 349715561 313078473 720626343 444255425 168144899 884167847 644449527 37203493 398505589 740593697 906482455 507175981 641055935 915385447 709195967 31832545 182824071 352214417 722306761 753151917 406248223 468667809 337169975 854815335 65673339 232161663 250874677 154175565 753720379 139333631 550858773 255205377 341698727 258264281 745389141 259798933 440032687 701456303 747099029 638859643 668371943 863551239 112340643 455446927 780428691 409868119 853869681 647143451 266373015 104115701 35501851 566526151 125581443 419137571 848617187 299252141 845122445 88417289 987054389 434250823 812440471 811947451 632207269 506147963 152526375 731923505 897277165 298029463 637366379 769538637 784054255 259065679 639706685 388800469 500372155 27662529 581827353 312144511 128720767 662449011 848092457 691555551 593738137 48881745 920535609 281362299 312588427 76345519 394721989 165054395 238729985 224865103 363970279 448177391 962928591 695664977 142043499 644554063 373773551 82891077 127705277 984420609 439417477 418250785 922482165 672185097 366192091 792483905 636840915 436022363 470788709 196614761 951819709 300426449 860022463 345352903 429583555 63704107 985266605 42846705 86520989 247160593 561006871 858447845 108626601 513501719 134899475 162072327 181683439 775037109 723627739 61105445 366894879 797591115 869750739 431821939 443534223 407901475 492441735 940061327 589505085 581836657 475145127 456887677 149755347 345761353 201767185 642466477 962988191 757520049 398688969 661052915 813205401 612017807 728204791 546955 226975581 218355127 15596019 675397659 676050231 139459807 422698291 881712561 451286035 620176043 414665821 659645635 281496971 94209701 957087037 581910059 649491675 972101691 900760515 771604273 627728365 312380359 237943055 560655489 902884941 124886925 242787423 609533745 738948149 607786163 834111011 942173119 788199813 30602317 850539243 591211789 998466241 454566993 437745269 376125293 159585307 999021219 615050913 914310545 751784041 281886219 438260861 164378005 624167979 475042619 262849339 507181571 451418759 73118157 377264437 734792387 343485519 134387519 334794481 635216943 102711543 474434559 189150745 185605121 263906719 729744473 746567295 751050335 560756239 756981129 422333729 140168919 544238005 957581489 270461215 989007197 100818091 359622105 523892423 798647631 442949295 513577715 179955851 318970995 481879591 639092441 586570759 481200629 437820705 368896073 572698877 921868139 690699353 11915503 510131289 545701841 744576043 727473243 601324335 828164751 952321439 155864329 701854647 152271983 293853027 783026519 257275481 256822953 141782735 464712847 133153949 12853719 228522211 908023265 425453623 891392769 893044039 465880939 926886403 255558293 869238087 772013865 621115651 124171109 868617439 3080711 539014499 977066929 773942697 543993045 658835319 514492445 997873135 822152525 278396089 334417589 842217889 600338705 888585421 297150449 278464341 965957801 726674045 863052205 202023755 303595143 54710973 126412335 965505129 533402115 822245801 599194915 339737409 404429919 397436805 314091679 492542725 49674693 392329145 894393887 135177883 397935173 776757723 7113097 46249861 403454681 196590757 993477675 724698355 515257443 710376699 687789499 230494911 496979627 261566695 65277267 442728037 264398177 67613343 493810299 435316751 134460193 666281339 991110175 448521099 611585133 418163967 557578133 603421009 135955625 157967833 551288731 405099389 183123755 712596185 917708117 578921691 600208939 637090811 489730895 564623831 989194187 320572771 28483201 368730507 7970067 707156061 196888391 684771507 970287859 55135321 10550885 916871863 265275207 301043703 348941323 362324137 570037711 292858869 659967691 18248765 416487221 957163587 329601701 52776659 567084041 923649265 96779773 418354293 1810373 953690427 547416737 468850895 504946633 296883335 823398087 847546937 487472737 172962139 978370569 466704049 110789563 829962351 630215791 862726371 779791603 373192605 413676901 853632793 923319561 712862949 80449729 661819981 67195367 700067703 175489471 470083869 168765789 799884451 623563783 647162577 463584291 686347495 267041443 366974551 938601183 27011299 217224457 593417545 975852309 112888933 564172313 326229219 703702587 606645087 344114965 135333135 13417125 482317549 612487853 470570843 210810009 592421969 800989171 639388669 453986623 648169975 933935975 901598935 677252519 733245041 780878829 215377007 321966025 789338493 833059795 625924851 205046155 942899963 44587981 876513083 16829873 23831033 854631929 182964167 807024879 220030379 688212187 477234623 437775071 249692775 579008611 374160879 943783681 539773621 929253093 120073683 414071229 628143679 11998237 386552965 18321767 104378585 903446577 171133903 861852469 821136765 995260591 427454753 982700109 523896655 67480973 817798801 162357939 890333849 637072421 240606175 847038555 974916047 216024639 443773297 392009759 892613773 590152457 801671511 690496189 78725269 605810709 517087817 685791203 937166549 863070305 247650469 185718557 169949275 544660821 476162419 100628201 166542183 948517821 54011745 637423013 980229211 275071181 990760393 900498587 230888131 858563873 560724903 152490749 166980687 85114307 691289765 99402469 166622685 904398107 800211985 325188689 236345967 910446083 331978723 7061549 785723955 159610549 892313527 984712523 438343545 244454359 387992537 617380705 34639805 605068151 996865589 396473875 304371363 160296969 340691811 222675947 16807671 995089261 344868259 972029783 939350953 518824419 41500637 88027569 398111959 758413599 51055773 663944251 177622213 406607153 596067613 206548257 190879451 339783063 802832957 124580975 48388273 264027193 944942465 496594721 849635581 310343265 690321947 994023961 298307237 750315975 844548065 512390431 894493109 276105093 308284499 295821797 754442333 114372899 449122199 107952387 166227453 306440591 144968061 882398461 243266581 598489115 402266237 964346681 950885711 639479687 287636149 983254281 63715971 537482487 396528365 245971111 62033319 329493241 461956499 243129397 451940065 451946625 630303169 990728891 876238717 32618989 222350387 97157931 322829037 684528131 737523283 471440221 757587917 366521069 243497775 300451603 571435743 307664709 837921405 429829367 279020045 456079623 299368863 917944731 213346671 573486229 382940313 941078645 126392379 270645183 305105181 463098601 170426841 34802361 307190659 206176573 781529297 173034787 37008839 441506727 303155671 424997119 373542033 248548157 135623879 89634235 987654193 401964289 429000099 966248751 667262369 934122717 218386839 204502163 718858107 400693409 295394293 847094673 560384265 3354887 633966395 131235123 619990331 900834481 493806091 882898673 345383847 398786855 239383599 828591015 904677773 647668185 859218331 16423579 414021331 430473507 356133227 966245495 617466121 68698951 581977313 654878293 762914405 707370857 382432361 88019119 151218377 479629471 535934615 713464427 723318459 723810017 360988965 244923863 546019435 907804689 133300215 980799911 856352941 311454967 638245399 711714299 692552197 229007427 943785657 660995925 624413589 164315537 438091321 364663203 518794801 569889377 684041499 218133307 99882831 860572445 553516295 316171225 720183307 123624981 184631251 497181093 750369841 822881921 509766265 941964329 912019245 912154503 962872349 214315357 429925143 113896235 218705161 431845533 916134831 752109923 73825715 434842541 499744091 733540101 467669939 138685371 96746541 876635347 682220751 591727199 655258841 634652277 102852079 315772051 866337215 252400511 673533481 649103293 193875431 902724713 77537209 370475177 710127105 974729107 993151231 436211855 429261155 823168073 394292615 680836621 290702093 670448569 792070919 575924259 455518373 795753983 798659671 426278723 910294907 820178203 972197501 794410561 652600711 261443061 636392865 835232601 18817127 964575585 421810203 241856819 338503265 36302613 399177569 757905881 494367081 981106871 293254425 207988673 244893201 687689931 661316623 371920075 976371357 811250117 836359989 475453241 151184367 163099391 808800933 194847929 275445915 828411321 262273189 538697569 243493845 591809051 777522847 320371375 423670399 144771129 195505189 498467463 729303583 301018889 334065653 966850103 756012515 140382063 106305775 912904561 798809507 618928437 794015521 752803159 698413279 829222921 948890813 174893421 97130429 78304901 576549151 111329951 360696335 52255021 353867209 973259841 850460745 917463911 672237927 826819347 537158795 782925447 130416843 770223163 130913693 918580419 78146547 100298817 172419055 643615809 741132545 192241185 391439511 433824773 401571135 745594931 482837587 655146755 725875233 778607935 169179789 7130387 930866755 459252081 719670867 322974713 670731367 971303775 76591965 869341787 331645561 444031751 252131081 790504651 804417677 11079883 444586335 126389445 763875805 718803581 269822989 552483239 205414859 714542157 423884141 87296955 922301669 440727005 986700667 218073395 506357727 700462383 947115745 791788327 866778769 406841267 867173867 359008923 761050879 134174011 272627093 729933685 696953941 560518919 704405113 500925831 659236327 817901243 850276323 938356107 559719471 682838373 864093887 511951395 178723281 982777977 395531429 695634135 654005911 225998037 614517973 523014937 192631415 396159423 618153269 515691329 464384649 363386339 731373397 221956499 547373585 68567639 664731501 269281077 422163325 45611415 265931613 485416761 811567453 884663435 610077097 437518745 419840877 339836797 914565249 455157303 348307345 304542499 955011775 577079259 205535957 449200541 176409313 556026167 579248233 400734061 95543821 566495203 855184555 568809089 910165779 725249377 227613215 32524593 99321195 128727579 199377519 586993461 602460721 482818145 906007405 482886327 171143473 524805997 126361109 79118147 602923481 586333281 48270219 508839629 789359677 185732421 437650459 199477427 625459231 580038667 931188279 920182969 382088679 889823627 341161337 129452047 161636259 458986119 716898215 510002761 53347849 719290025 580659115 620296291 807411065 586344833 306990743 64694211 801309437 763315081 36920489 437584183 447360833 568053025 665885249 315182067 484823965 462782869 65217773 59439767 727912721 148397077 706985055 8777765 8430915 322558649 510849905 798681867 73501573 527329667 715506473 928283679 929894347 801229661 144560049 507850653 627355061 692794647 870385501 4456493 449764235 626630249 446626213 832389081 531207485 311350009 353073201 291737369 325651295 801425741 677635017 645163977 197663285 794808277 614124897 671063085 236900515 917980653 457835285 591448565 362538297 405522133 572829991 184345907 706596141 154352311 776243971 38013799 419031393 889379747 465041979 761656949 284141403 732078225 706515341 531068843 809004105 954742887 541172699 444347069 533948421 386043625 952054063 419799753 107013643 233659341 250831805 589053269 609147525 548418985 78816481 533875533 61657407 597716733 925043229 276679687 730793141 228994871 16011293 813029951 252200705 222622629 396700085 541194013 469854445 290004095 975366879 671647019 493027561 204237291 312880063 683266913 339600397 946240749 800330143 632469529 562896659 660102267 514292725 835253275 562177897 817313897 58895705 931018133 471644697 1699453 169203343 617765145 739739869 643368797 738323845 110220967 468643091 277107101 986777675 639131811 377573571 597349045 77842461 161348825 749227933 950487557 495791199 594180481 881482743 750111191 147194267 862516279 916678607 381525599 282493575 947543297 793104847 296990897 753551611 233945419 318996549 887295443 780344059 662874345 925117481 717054891 470203829 608496923 12197399 721090573 127945337 229529991 684023131 55772591 807069123 920877879 676701409 492194103 815308343 123972513 563928131 815652905 433927585 448921509 428329661 147765241 399441395 353876613 316263481 898102529 410149959 497643759 524778563 821786495 64861155 32404473 862865685 306996895 740646191 169093663 290257551 697586035 312144067 822899273 437865781 746570737 812018773 88641731 769531193 200579581 299718603 920588863 140820337 542172257 127173681 852558559 419874909 351422411 249433785 487215397 369695011 736501205 532284863 979625729 895156373 479611395 770180035 731852487 197755431 21309115 609012853 154143283 234451705 410025551 257575335 331429227 259028691 118298619 810600017 867013627 669076771 423099099 199891867 620794845 69935619 735803647 593514445 968118889 927514417 789228113 523247963 410298727 348744465 584021425 891294175 646035459 459100599 924509147 416025375 143368147 253533657 775984763 804449797 85669331 39508949 372636963 865303461 157429609 878805169 81095241 286005305 968804709 485109537 878556241 567316003 989077751 659414135 357518467 656484081 4884673 413995445 71469073 688743511 840200133 595940483 686263571 238288683 430720113 258333741 311652747 883887735 676882333 557827757 807746147 63248993 933143939 4905379 504701547 534709053 891907271 206626131 244189535 660638857 708785019 817462191 930827483 701351911 535017489 41274701 731526509 893260833 828781159 853660781 543020421 930008109 70456515 32981493 391119995 728745507 592479441 876067447 609983889 119194695 98535589 90426661 40607985 979942405 536261567 774174437 684316843 814579953 376781317 268176697 551957945 482982341 43990209 849093457 203898621 208749413 834183593 725826311 940459071 470078941 743733213 63107031 694896945 638161245 330375903 510424043 47011947 143131459 893684125 496309521 111539823 740978451 845818221 581001663 579320997 914397557 309474061 607706647 930370659 75290431 388396959 206777567 49874909 521069675 343780789 434902149 765210933 241794333 221708353 517943331 865064311 219887265 932246431 704892533 552590737 477916777 216647833 629813987 403344735 590781711 636063575 214455423 577678497 74546521 264733299 316308733 166313473 52019503 274012647 139691965 485635599 599196327 88717849 628554441 360014917 278964989 759761111 616020429 770823683 324615569 36981333 829230369 660730773 637429489 249701425 796867 399159081 170960333 237658225 364509533 976936923 930593285 980916865 692555071 25916075 218529177 152120375 264952667 594681731 170141107 725033681 142325335 940616243 385369003 808255985 343497077 588595573 640120823 376665255 369977765 618634217 814615871 65938025 827506305 153908505 166010699 551343123 464394053 244015225 830984719 829009129 680855003 882741855 537281189 74391449 343374801 965643019 679535187 236839739 400096093 194370475 650910595 353131593 21539425 816200013 99285193 526502823 782044003 71727081 13841885 491897767 293700241 254890341 196971175 134329595 745956547 192103045 554441263 838513601 933999225 244404733 18202025 150005375 307859675 520851303 199302001 38081825 665977013 197899331 870352905 49933819 640454529 856186105 464940317 709639887 22288991 916462557 556099201 786526653 664726291 430923815 639993133 317190229 502530319 205668087 797345865 422594701 611388521 268367447 182967325 376533439 585414369 894911033 403104031 514377651 790412509 556960119 246086373 83145109 836834925 337639119 331527993 86124283 802103881 727972335 446291201 529988835 376595663 42098787 881215315 155202737 131316487 119670953 704450153 596792113 786556319 723715871 294537895 706303387 578722801 901422351 938733975 899061387 685589753 59954603 131623661 927334149 528321121 178216205 186527621 802511225 997210487 386322227 881876579 994547899 3767857 148245259 655173551 468366599 583260209 423681377 894143935 835311875 577403837 780547571 753148429 809571005 387002563 260123743 284338237 103069865 974685147 570797359 903579419 26699941 404412229 972266197 580160919 680202487 140175849 786249385 934742993 853844811 344712787 421997551 340506631 958399415 915099069 671981261 521264041 989923257 388975879 612835669 828882503 409306419 634687413 319350401 528248477 558245237 20891385 52246323 913918353 743262773 653385897 665797427 959250729 151667855 658744899 635400243 638516637 995047943 919366643 240970957 930042949 531040653 219718531 192982911 84383911 888680051 772989291 734891957 680623981 868323193 950548943 430117567 817187689 440245699 199470959 513501401 403273367 889863133 872566465 744227871 451714845 795315905 51175127 802358175 575501379 665373383 783510133 341614665 965362043 497573045 901473535 464111605 632939877 500525243 996860291 528663143 892982977 852042093 299350973 989861445 174481275 664871111 652093193 570877985 859353509 553324849 459383149 507400053 617288829 995684981 914828443 483519395 294493027 346433737 540096745 500877555 273714405 84446157 507396697 615229845 241933749 444757891 469139341 772511909 863263151 138656089 293189335 460727077 65661653 953000741 868057903 738899705 939348051 538488357 757769013 455499257 296320381 49747965 414165549 557285593 740166859 542825401 589808905 315107387 427890405 269121233 955186527 722104235 965770643 428940833 533564525 631979673 78928073 365578477 468549149 322879325 137386915 700064229 977155583 807809593 604962147 884408349 743301189 562153557 943425143 753190417 590841555 307702469 972372845 17495719 162715183 929742209 569003013 552766509 303062665 384710251 490719777 533043031 166959285 608234059 508050123 985617987 752460599 809544657 756463929 480566647 295783729 774690969 156088259 325441247 458110839 532950051 355073773 540306129 165189501 498575577 678845027 7469835 936022629 729398539 547580409 693026735 342532085 846631411 691021483 982510159 741690779 4282033 368067479 127905499 57048943 955533649 231332623 596656821 807460657 298318273 594382209 781832607 342024007 893731549 112536205 889307337 245172163 759388005 34503665 153320389 138875737 54874369 577361565 285561747 556291689 123670853 197090209 115552663 626757115 450761897 751781177 514487455 160212159 226110349 224583113 516908511 642353675 165432125 141973213 246079477 383000287 431234791 680158245 100686311 820469473 166794407 849650305 46962209 856785761 849623677 815618287 748733305 730152533 946879313 831317919 781899307 537998175 77706743 37159649 577343197 525483205 223264807 545637939 337781149 317859959 666073473 717638453 912453345 62726409 360418959 403601077 866095747 583434943 285950915 30093219 309402317 771351163 393169015 276543519 222958439 229847249 819228651 165394537 12519017 234518261 137729607 530938347 765316945 137294793 105467295 573164605 736268291 880667857 149333737 756393493 96816075 913308993 89788683 10416219 735619681 300192491 742188489 439766295 322429665 30138705 654080215 37941373 50191055 139247257 952541391 708762599 319402267 618102419 206798383 257142491 235932953 401357239 659692133 994777603 883445125 943245349 711818941 224160819 617761157 908803745 13857653 427696997 993156007 295675805 154528939 534952379 143157983 520353325 387850601 352373891 462910861 938752789 521147041 113331503 995090547 638278073 452833835 972307035 462180287 422496041 158150603 260485833 480908807 246279965 581822503 697017445 775629127 675169011 924320723 414166339 567692263 385181875 458707013 940802717 643815857 185794571 315945697 86565335 388437725 360450387 559873519 216250235 372161287 379315853 910178721 64116797 133858867 578137179 600090383 15004153 500152273 649381137 104358205 391220913 577987507 272290723 82180113 747659155 867842329 427088563 267864925 53308399 592982439 426239879 838175197 718180417 624137323 306764045 831195181 874333995 286062297 70698717 139543517 647320189 629294543 771377719 488189015 541989413 977513619 629870337 876442619 20803905 292223441 840283851 618764037 724067093 329990815 192636877 316960417 849946121 126310265 444873703 934600671 510726835 87293253 694026141 504335545 710754509 765405265 48871199 463816465 258801213 924755795 863841095 898631087 947430409 893102183 394526867 80158021 516095849 312642065 663957033 688393067 710504629 15504959 430696665 544243107 1166451 738908487 94736921 840397911 861009483 832222951 348713739 102362583 177061395 416899395 80019317 366009183 729725639 667597287 847079109 176208395 219429767 881580747 833197845 73555945 172082847 880467787 84461601 47444713 158843013 605898029 462749779 397606883 255977683 81484701 429446073 376887193 585539401 552472623 938858761 212688821 78902999 134401507 820769955 871385543 144781453 879587871 787850129 451632713 705738921 857182125 826636927 137006493 103468939 512709059 424850629 666291977 75187905 750595839 321401699 89202627 818182653 10483815 40036351 116369377 840328219 207079015 147500009 317951845 247608861 968274903 793463065 234886969 141898797 835173615 429633327 142541869 251266723 662319193 506752111 217828859 19467511 98911775 781665481 332219459 465199307 930531001 85444823 836537745 497372397 474177539 108154071 113085523 114299983 757709377 314315183 49914341 704674573 678491427 197909999 895537031 951724393 551242427 295604941 203113315 479441103 411232393 646701867 197330313 670533331 635320433 857034383 363558643 190159919 325548993 218782247 432788097 811786693 25066029 304106957 205634045 339971491 236933331 868379389 55976731 402416637 124310329 946876897 440737393 636006441 622334539 623520837 326296193 280822705 487638367 726609059 62998707 577205563 41758513 420241179 283539547 575487901 662572265 560519793 99528113 919675089 929458449 356775191 476249813 633559289 626966175 588972067 867907793 393528165 899156979 113775189 923400857 479614851 496169423 686354709 531872257 343576561 530698337 87945071 296785103 252190579 994830913 608038685 966392235 149655025 718770025 912476541 994279715 699527553 247046205 916143767 770420917 607185757 440162447 952081947 261854655 940753641 660594321 871852125 683426445 512742575 798160353 953365345 161023821 815318885 672510085 516568011 283133209 18174179 450931687 623333355 705110261 403475247 991384545 951214775 874145991 665421169 134539181 881733841 855771235 978593023 118702321 42695039 633786497 644498005 316375739 944750511 754719169 323917843 420619393 532077819 890439597 954452997 730587421 937539743 525358519 30048289 549678551 579844227 49080889 388829567 941864283 910839865 376000369 938946917 98888895 804095989 793136269 780182589 121554561 193235353 567445657 312838809 149973893 314363305 135472019 191964215 917022231 125137495 902170969 298737911 910989039 592059001 787997877 350740455 43182121 22598287 154540633 86735415 539816521 816268223 59930589 380616263 363004223 477621979 656611525 254813335 692876637 816234325 869566839 81079507 680643171 8433747 345713221 579587789 886525557 79822743 896731243 161378691 119425825 13964945 324451079 387529237 280305755 532018523 668081699 769398993 252351361 872170417 716544945 637811241 559267417 855990781 78429833 901108153 901287951 579290701 313593197 483497283 242415161 719377753 204761607 839279027 911451093 805289343 56497129 84352027 698959429 811231173 636830601 654127801 841097817 962297567 812258635 825926639 606128967 693773343 58028663 767493447 180122027 418606215 884001343 716966517 109486217 979939775 209491643 451754581 499301455 684346131 362989549 31888873 732813267 392869501 489313471 826692445 799206227 741448093 470397441 843147525 625997171 23383735 514758511 863632475 379529793 155116477 268737701 360839939 857908273 817957701 163031089 748303303 561653537 199659919 120547459 405924763 576095061 750919041 809243891 509409947 151390333 598874539 621742787 555889417 805142701 391565125 609768989 715714643 916240737 859525933 782427921 113968137 605751935 68998891 780696731 961840359 461538133 543477679 535746967 69848529 927432089 205557583 118839251 427958481 707864677 727961417 373790463 436712475 528826177 723035079 171145651 139834125 815930651 621371543 799691377 675520293 378127685 501750319 31492771 727235345 179515005 402972337 257931673 110253991 349036523 513126627 285548429 484036317 576144409 203924275 776038047 968124633 78379519 676362425 524637147 402378469 628452857 816536631 275625009 829193335 820507339 246639887 558553463 461449767 966623397 964800085 181853555 261003451 587596315 711024061 314973901 240373789 420472617 572125351 54816789 871015519 329275957 875094813 924188869 784180925 81159437 651471561 440230463 866991771 522401765 428888071 223302857 11923077 160938587 549376725 121743513 992007469 247981173 704427481 680842435 905129581 295657375 102445925 289271885 980051531 960028079 972437099 879516959 461578225 1859041 357707151 35516169 243662001 957427165 452146711 344176325 458884873 737021101 671462131 928275187 333673881 788220873 770757561 417306399 509429295 483549195 415926183 793556151 860549309 580562621 867147431 842576919 39817311 249053319 970942535 822506367 760804951 518936705 365407421 300515351 202179343 219757865 779247083 731703027 295858463 301644131 215381079 60277771 464097343 184279933 621387823 926443839 427224145 752078379 248871499 147358553 785044067 648303499 643515691 68200717 567640487 378851875 100462583 432569327 452375673 44376029 937074555 581913989 530154331 260916499 259648305 420830261 167550457 710414207 176844345 646769235 328480295 671024969 958751319 211381527 979271903 55321083 890956029 39553441 628148037 782663051 177944129 539088891 145284003 518136665 790117347 577851927 421839469 127745831 49387593 801916111 902819647 859277859 817033603 280361699 306663387 582599651 633977417 309413883 368010029 901359973 230557945 387472299 565868105 867084813 188093083 26961513 973284201 574479527 266289117 885708953 835541745 792647787 511238681 680596867 554612843 553043957 157230667 833182811 608240525 831967305 796944925 143808309 634430767 699467735 735655133 483706903 299867733 864269169 653322881 274159591 953614637 617420119 521529515 499996023 728590855 575583279 899221921 172686467 577192031 607384577 738565969 191933097 316916185 574649673 338977363 129452147 358148927 758368735 643847399 110371411 667227015 638707723 426861045 981703073 688658633 703859065 697332233 804337057 152940875 148100671 547340893 56746617 698251381 502599129 941237713 949285435 325685725 700225071 795685865 185870819 902324799 562686603 819132375 47689805 555592315 141089957 231519601 631464777 820603551 808709015 967417909 735771777 113929947 804945131 603450957 636056213 115819151 937223561 202118537 802486273 279989049 821191371 654726747 618306609 392464777 306400105 384288487 376335989 86715983 561680525 650772467 344741129 783945097 421200579 157110255 357239819 138147671 771831039 163787759 256784005 140674823 377032095 238530743 592094055 947107339 649699177 533216683 877299855 389412093 162644105 67926489 817023929 400403619 715917717 83686653 295104401 528506599 376239241 725628529 317206183 821969885 474420171 610501697 709771893 646652605 616544553 755979289 188680285 323413743 393200345 920822865 848421031 799841019 348959349 392761577 22248835 981166997 901288453 35250313 260020239 646058135 93322999 666690941 487719239 957496327 190092061 6645951 991257367 663923985 43180981 364479727 748629839 808091395 522732135 496618833 105656489 578545245 784997951 449593559 232325573 701851585 605426353 462401815 437633071 214003449 780092059 154329935 478007127 951005689 338048833 634499945 705407381 931997661 627552595 127394035 99761963 249698791 438202851 710585381 415756611 34306691 282171249 351295709 770433773 396107333 638887651 763674019 91227683 498234599 976639617 319720615 700517573 950443597 782377223 8018621 45271967 407992193 693318285 727383143 742644575 257109943 207893403 988898509 666726817 911220043 218015261 490001085 79800805 791070913 343500393 299689389 535508629 698729409 91747389 730738879 668782081 606166049 201414587 47274425 561489251 507405019 605276275 442305545 277412315 85016339 778422363 500917703 684090229 111300371 384713935 772590771 37868575 569951569 258007955 353531187 520736949 652808037 699701207 520395609 43990519 472626451 615393069 268452313 233585037 292317001 842734741 99790611 108075275 987736343 598643571 492065295 899530985 208459449 66633365 582520701 527384455 65389203 708483887 123341491 651495473 204518961 28930015 984836785 79531029 162897733 133322667 131281181 283931471 908800681 116588285 424123719 895128031 132836707 166077615 892790053 9298093 681168283 765523197 681368153 206245005 432491945 890246281 363246889 525220663 947737347 263155043 925966725 575453771 795525455 164379649 791577089 842505811 997952857 747984957 901107935 222832067 210207763 589089375 512079111 93447663 690655127 769480213 570950919 647415837 517998635 124418417 433132053 638575731 814337337 652476913 561860371 124668165 816364627 630216573 610776965 460197067 952053303 49238369 609803421 75498149 939563461 124767569 110508083 329940061 24856331 854788203 619778499 967262117 177182779 296406067 576094069 534331671 219271857 505204121 298984729 226237233 943116783 823600625 417079079 903275873 790948001 222581239 582750143 804811507 321022873 748329169 280817573 324903973 232377557 605402893 432862539 220292373 642682487 442623391 548086725 570693837 129016777 113852133 895934423 644425791 397447743 195499429 534080741 698330949 949798517 753285643 506676735 152214429 862406957 67181229 539996381 190958579 640759891 485202313 760144605 759103193 516116473 162238211 133277191 833055173 290108253 596089063 71342089 739847195 427587041 15507309 720385339 143823395 362544143 552774703 932073375 29663247 506515613 313299767 826670551 813658361 611146083 872386029 631676471 560016863 141200997 942010923 899469747 437558957 729933007 304804139 317102829 53723955 172161013 809566355 151786281 500345389 161457233 841188719 35952985 972938297 383564935 370683193 217493269 686574305 79479905 643385545 733751193 631859095 247140309 233327973 258926797 692761779 482964475 171026877 589634113 133703799 904848407 498250469 756080685 861839373 953784471 232900443 621685359 203145349 219265547 871026177 338983313 288658395 973091887 955324199 207300541 582796779 792724199 566912387 715611599 595075971 974291773 354587951 589632581 156207955 182166119 865956019 607342661 410289907 362856125 533312509 842545311 804958183 550298821 412549471 165877449 511821971 901193769 835663001 538969061 422281039 384047803 10729935 929129401 833297231 256768375 399318157 684577203 981463989 911998337 109185227 704421357 717236365 127280933 151510501 516628515 251403207 400464597 58111905 424784063 743949371 814112811 136268585 990753229 18041515 478399213 954611223 383537161 959189697 938905605 923888485 211203021 459534861 127273605 860520569 513006629 328551689 663754409 449084961 199201725 733058071 287846615 801425811 729958381 244468863 151530647 419250537 691745205 993490801 130367899 531358891 447417531 560784137 664736963 900482501 667449423 329498951 520679695 732599181 83533417 422715669 124650667 390088257 977782441 380759875 208469481 940594307 589182803 864269707 402092103 157609573 795693143 189011341 286974823 940508761 92742735 555217365 848449043 64010811 774591865 663184081 485656895 94472789 480993467 148691421 262091013 323159119 962857125 831007801 445354411 610612803 723247213 526816271 680425627 210384299 245782773 860573551 55603049 11276909 870904259 622074195 99876559 472694741 454417925 612051611 800900017 148763037 216295829 126884115 94395417 3120349 1466863 900105321 817784891 208845085 905415483 650902841 444361587 700690249 400072523 240488451 721870147 382678709 494774419 832033327 789009495 210183715 850125109 167274257 580092803 706210483 185048565 881434849 300645569 340532469 649834309 440538047 410020405 628591583 629692987 307939511 748394793 297978829 827552663 569591479 12636435 342652803 232298687 299858843 14241931 873106735 654834373 945013537 688257109 199708007 787452765 553535991 843072605 676210217 4563431 654226603 645904567 965470169 680488555 565347509 508652701 511914565 737018009 23465337 86054771 173606305 605440709 951451969 354995141 145408395 409979123 546921531 702933059 266901511 400431047 281068931 569690829 83896965 645844369 361278999 705541985 775295193 569935687 583896037 525228847 144154175 982424459 125604537 813145991 803431005 97946531 897830737 304317669 127284801 770228861 333141579 113865709 84597599 719913395 105857329 295115883 398687895 50835585 14388597 414361681 498198827 311356111 315561329 168647353 266191817 242486319 768517987 594458857 990419335 832518357 789473913 635916105 656990947 935927459 965025727 919867505 7344831 196504093 928516915 598607383 331917165 314564981 81019059 777948705 191832479 512318849 628287753 638648219 709535089 528716481 684831463 158806967 114204013 86557787 406251493 549654223 471429499 735085855 699097991 810063209 281237493 40626821 923852851 400632111 845204629 136732587 923410491 763279349 852754817 764021339 460396251 188677811 830841927 779148799 451460401 111298705 897553627 125588147 219129159 983766997 668314267 614923315 669327631 891129079 968330573 471375593 367052129 877025681 586694173 453138659 852775167 788951909 683977377 693748441 605425045 213461855 745802197 217376553 209339567 771930771 831311137 773399257 124291273 863399227 994542415 508066459 16611909 363753401 620393367 166298567 118815851 100423067 487751315 922642265 421439597 408794771 184621387 214819067 682833507 300120957 682927661 665836537 584932943 352835419 160353291 201924173 47943963 960263771 239263013 570601879 162433945 689052363 317983775 234218011 637100415 56639531 983614725 280485323 338502257 890677789 839998031 402803005 17633013 849220971 12361177 272515761 224081281 733339913 821680617 520797453 436548459 898582291 591562795 839319265 211588087 176612813 234518709 985524581 220105033 552201887 331958019 680283511 116529017 882871583 278677243 457453215 606025083 504447495 456449515 865885709 997507633 438425659 156364681 37343639 790787943 224700869 541980911 923534011 832152781 997062875 978571685 288116131 798291195 14424789 254860439 327205405 29437043 392901431 947580699 777757855 947886751 131440303 32403439 482481483 333376719 368605197 86299191 748333287 876304189 149620557 979552895 401548769 251689993 456914579 268188095 623214417 147890239 566789931 700491859 728611319 82036431 164911749 386446591 393887547 125378961 853486401 830099955 929455657 498232391 887155229 285444545 777785469 609839001 791457033 231414377 743681937 324086811 111862293 97594959 400808303 665940805 214978687 287773505 327727559 676285049 814466471 351884661 17187567 619307517 421202457 520562309 933436647 384488455 392733323 287260281 202000469 868388781 939260119 10677437 862188937 522038769 844954879 692249383 231628155 832371387 135564333 110166259 963582665 905458655 449539001 453265865 729057467 403955221 511972377 817253043 367119937 782989309 458070517 388514599 726942449 972436771 559858963 922505221 874670089 450739445 796474731 875656847 356899699 742654415 624853015 910375797 304495293 163417073 385776217 588591049 26360349 274532483 566068893 100801547 784347509 218923673 971105653 909988127 964316491 603901995 152092831 261239633 107213773 307509529 98984957 954996571 132852179 72417837 655391897 667353429 297312733 139099163 243360679 994802117 920266515 544812151 475403139 175355035 840694849 120499911 121443503 505018411 760647393 303097203 572544727 334542385 161864723 646171849 762644941 173226195 733839771 972370439 424326287 963220383 682398955 573665355 644929087 548017291 396108313 575915423 59318055 327123185 952599781 159081463 288026555 69675673 808072629 653022759 252481431 967838385 977911961 844328693 598865535 201353931 737842249 797547015 301165915 409490405 113651491 891358961 856985409 929321831 440095791 713655337 559903851 747232797 874831899 906581011 463569211 747034937 119811649 421818361 514820929 138473309 416701341 787228937 666334763 113552781 675976153 523830109 952720599 406827571 534107203 106307321 897652809 147877929 518890705 684452035 802928297 962256297 294152485 875644813 747099725 997200217 788818309 437299987 676033199 626433863 236739039 137493235 245864307 559277031 407727307 135157175 67477861 790974233 86630537 224437201 861493621 833821 883932673 673863833 315874243 923577767 910392255 522592083 374465165 665737415 142611709 832829477 494528323 175437307 808921755 497938721 46233461 260155691 966357021 82827587 133595615 644574625 861669045 577638761 128846693 150702867 255128121 458508637 498757139 471799457 180938791 768272081 825057307 433475021 135444649 285151837 911647447 371813255 706245519 124557955 521838541 69480225 860597067 369492653 722908583 644833115 280439809 579414061 791308087 539159897 521441911 27354425 588444281 297133481 135894813 183524853 639420819 641118015 697040647 275973993 953209291 154438265 415936761 192269445 605422233 13747741 959804501 395930919 147312279 132805205 542597679 221838603 538688647 966244795 996515389 493956317 679616597 163195977 784925147 386257709 644782611 855147111 428942101 810251125 241534719 798806495 581080983 980933399 557708921 427196647 400933305 692925531 553958671 963961631 283900283 888126323 929009011 360412297 681843589 978402167 477168001 665778835 537229347 941779305 841449787 326878995 282109519 431034675 124131277 763415879 386343593 382264997 776828043 307460307 563690101 561330297 629013485 626383043 644849829 747823441 899126427 435863183 691445455 571894963 571627613 452797203 530108465 874099221 567549223 791612821 454058677 538368973 426106901 702482111 378253801 285283869 245601385 77703595 335673861 180356655 338272911 703228115 461309671 133303059 925596443 12549405 684674839 644167363 280288711 747959511 684154051 721871135 678311543 546730677 786349765 821427955 927123509 679446743 663371161 367461613 949393463 472064447 427318377 502754473 911779029 99204443 378286083 64282535 594298515 980598785 47140829 687109713 920057629 119421293 236108569 139471607 291445831 809460679 485862779 626021075 861831947 982933145 813082231 881106693 442858637 676776411 271397919 772304281 21025561 232089319 80241205 54111869 377055007 535252359 412088095 559804557 648984637 319668451 687743727 576752265 881771575 793613973 708870233 358346267 445533685 239728535 621078973 686226641 277522061 886998351 514113571 840701225 34431547 482500233 280346683 790385027 666346335 583606909 862952795 635985701 797067653 47863751 366433921 110260035 429409891 970296685 497478487 854685687 169340113 676913115 301701421 445655873 621634517 683749351 858115573 329243657 256610713 321458637 86285139 422244131 942904943 842039861 978641805 526307911 484290003 871504169 674701971 244773653 670160747 707886879 106117881 481046553 882174461 148148727 482529537 629929409 918030977 202418675 176762771 83541351 66889489 868637889 210814269 324088399 780139501 444805239 950433589 676911777 990341253 989029523 216614493 907157611 432540779 354899193 117274681 920794283 22523991 154062069 622119931 985243199 29461297 646991935 205421435 311682289 348332801 873935859 722491957 590291059 490345465 84359575 32702545 225684831 287130489 156708375 427486111 814669365 403032833 810747591 190100119 163883101 697249597 253939815 437706585 528959273 391224577 448599579 137581225 959514325 756966981 250415217 53585655 721107327 602570545 940197983 314118493 913359921 214491405 44112959 961748633 967628765 224105293 534086361 174601745 138099293 684162701 121533529 988824277 292180847 861233551 925729109 993524381 486297023 390814271 675445707 951877319 943283679 63920305 663793181 682546009 230080325 539357215 1084445 448792583 166287701 639579117 138293755 685449507 873199703 495868069 551813465 175517873 921706621 52800763 223711801 773002067 699821281 938812107 595424779 592943453 4954241 867553815 474572961 832602563 245460809 905474573 855988027 230839079 140551947 970952699 817590141 953692877 8560765 549331041 521726069 976521639 41552963 298890721 661072791 669368653 534079461 307834439 769733569 204520697 102766293 819285379 962015801 997180569 344063339 965148851 543502763 640197047 977961449 938748699 514657581 44045453 46290809 656108323 333396283 235160825 924419373 765193569 679809213 763680645 285753083 269168015 859599357 187565659 370218695 996299153 537333681 45796951 975852377 405741683 277261817 986759671 105254753 380615013 261623127 230157921 223685755 979242183 118798777 909532261 471814697 887341335 885685623 395221369 149186257 36883973 857282633 356217535 529690309 167575905 700793433 450318845 704852799 20469799 216754995 144832673 142623585 574732669 531732171 221420741 128232241 235465641 568295039 771572773 565713573 32574243 409988115 684734251 63006355 695682947 933025975 200819171 878945213 690725519 951190527 223096073 676037069 819761969 711512295 393403639 651536467 357862523 136890069 410644153 814909897 907891883 319066775 527573755 549451921 189925921 513879905 492416789 962006515 158683243 493944787 809679367 646632735 3492667 577417967 870669175 183454257 845567851 339751715 561976501 400748841 711856129 669655365 558996921 6025969 573547815 468714897 739216417 949819993 256960817 850568879 243007031 850604315 164790167 756024489 638856677 716737751 380748289 715976695 560937927 714626073 398863671 434645621 920947227 992747345 790167597 389388391 79050183 794683861 324820223 158648701 749306201 522536171 462559727 154024905 819210765 349174459 203098729 23544523 334493887 63248725 828200449 3861095 643011831 143595955 237657967 712516587 53301219 269686965 635188635 722857227 347721565 378779175 885718157 21259493 51883745 476101047 440797817 552198911 750056599 161821185 451851963 205701189 125006929 984139141 350007511 635257869 138856067 692028331 296961397 958213907 532923727 811200455 500353385 249229439 234066809 204798993 272477873 817217243 141297523 328003753 121146223 648282911 830924371 478751899 946894063 995647397 122688217 122216661 930070177 17348405 646678635 515751219 592227107 507974653 778858523 703203189 42010935 418966671 92606877 143132739 28442315 265105131 129471057 426911281 498150383 732769141 844150847 953737397 108780511 733663737 497708311 98951477 112597503 214479535 794578733 178175477 868001497 772992819 577830533 64267561 464068899 296541067 404475843 728958443 640494773 486134051 294068023 33229625 423489941 92103631 349139415 756975361 671064299 331477199 691305029 761425167 996828173 136222153 835919815 641151009 635216247 721207751 778511179 852478165 59037129 770535487 550823019 787913909 333910223 494293009 300268131 251989811 243452031 836057213 352470299 547275945 555361777 115873847 60873765 220450135 880428139 297606223 499422645 498634853 631304279 632837955 768221101 284460773 80857159 318314491 303020177 800840403 684197879 684359873 665208467 475113485 723321677 820281421 838101129 252863325 151807823 995735227 583253235 742729077 669831989 941007503 74955511 207599087 778260825 361720761 620275557 931229257 849288253 200518285 124242869 70736623 284624269 87665863 742086917 520682547 757783323 546915469 52507421 528111435 127150053 883484011 745771373 124519771 999826187 471842139 839866379 289825387 279418587 181762485 424489141 30413421 668760519 70137921 962142165 985071161 499162987 51028011 118344057 918046867 517057929 745003273 251592793 746433825 705710349 21029335 819118801 560049013 980220681 102985723 318791661 493997577 80688571 474660421 315130969 693898047 732600709 663904741 648614767 235283039 801120753 655799677 896839723 759603355 304049331 481686031 60290101 523361291 686168743 613289481 951562463 765933747 613799119 878218819 43369501 954116473 755788119 438855415 489463185 123182383 697969811 970116297 85593471 844652431 459249661 610244555 788817369 675647035 733596983 986172015 180034869 881662395 882975505 182810259 445498323 511844479 974225529 695117437 155049113 733788645 252791693 836642265 698365975 740448553 851484303 178231483 753207173 924498039 474211563 311236259 696329665 571273183 808594997 288733559 212080211 262886491 613310247 59183233 883390059 297044173 800895141 736924535 897363421 996383483 760894651 779176825 785367085 369974427 254035865 679602185 540250495 21933635 74611869 527614997 826860963 274678389 46158155 697951987 33235727 373853339 583643723 577337697 298585061 693051909 350248051 246595713 204051179 750067949 261956543 756802789 488344207 243199349 477495375 170377087 197978089 357304995 375982447 15589547 868613561 905432941 891719317 865634611 509187943 259064745 357516889 305907007 655603199 813315865 227161473 323689833 441796925 379176037 113079797 929149355 218798203 693605409 395005901 852684907 19499459 446300101 349250111 865316727 867629253 881339571 868587185 367459075 306459095 943050033 820083119 188267181 743773433 122508149 712001515 340422267 57131729 507418773 795947839 736579545 230023087 174017427 849671089 947813533 490768011 193083991 472761451 615435781 516856835 242558133 368223935 696923571 699979103 441560933 938519851 395029175 91363727 826756359 480794191 462082695 460224551 426717991 435415033 849029119 313311851 14492979 440410651 632322147 581717567 133220231 748333519 712644193 824936755 739168355 754180699 566982929 952320381 600457455 415850025 844659949 406344959 911230527 962074573 615612633 76750909 778762315 149181185 82848039 958955883 25497843 78607271 570050185 813755227 986270979 925368013 219650333 171637903 598309673 438453157 27971945 952111663 400294145 57573515 787324249 721555207 377049609 66616833 186336577 396761745 689042607 655073715 81227491 818678253 71077183 688109429 840125023 201192159 441746167 338463809 93941573 667039961 299227893 826128185 657708939 134598641 561136965 857290411 50658443 521446885 362212309 677672715 302499341 243776289 543921535 146019313 347535165 366207407 346167047 512420129 578186673 769542217 490512915 614405511 896752231 731018061 813213239 157448759 121498307 731255235 420721129 520598891 520312209 505413209 449006477 619845511 971302409 566001257 599331437 753085461 604534983 443775727 758678455 974382283 188170959 805509525 145419141 804944001 436664465 611641769 913032155 681537595 833380577 908008225 140049823 614556711 397967867 78094751 143326117 54572179 870533 732778857 748460451 679326977 674513037 546060397 1106237 813400335 381968007 574197059 54625531 579947913 185787473 884873259 502368591 114353509 465578033 733888523 263234451 21050555 846711763 315053429 587878149 285264337 422494541 521561501 864204753 964192271 425681437 511275363 383569929 207512843 263685157 515176017 826060963 263287681 714751157 796470675 289704579 469909073 338745219 571221759 785979761 673141639 443837867 794588185 273013023 125825369 341907121 780641029 700846117 684601119 921755013 235597715 333613317 561941087 127134585 503204923 614697257 18007491 473203533 621036315 156594659 11764765 368907813 702105339 480229225 851353451 540589197 578012747 292191199 844482509 363316605 900477983 21129805 25778833 693986643 743225147 785300389 56505641 762046159 618867969 114996159 727461935 20104739 797223557 669869661 642249833 158369763 23293309 214170665 265818049 436959755 984354117 417426355 820164169 514254083 788761065 909101173 598930239 438249621 732591381 852565457 468729861 700517111 701796129 248313359 712041251 498699209 600778253 138938721 295668563 986925325 258121857 724669151 768855145 697709617 503818953 511942027 684663917 911176459 91476447 139733327 420762761 384290521 979237987 398332411 396922897 965990207 961259929 367739465 920128895 135097161 280307827 607122139 902637941 705508463 295901829 921215287 395992513 8770957 884427027 388100307 439759959 653338599 999980033 671496197 614380111 210361901 441722079 36840719 501953261 933128563 528707557 750054683 699425949 113030197 290387697 430706489 337635827 471848793 973618315 254658403 636704937 346414381 203113185 177722745 250228897 72172645 498706125 246140487 586093291 36906783 965327051 466354301 336984245 884092385 556649477 5357491 25282141 145445015 476720969 630684523 896704613 265763735 490022413 627827725 138111099 949432991 694487411 237621741 133449839 654094289 689628479 169110083 979917117 749430975 344715491 255374895 899388937 172084569 657197687 411503549 773112093 275369217 8165815 720847581 101765359 97429881 293975819 735024229 71630615 388431345 264271491 93403419 685841753 204165627 415459545 17747623 516237475 199298199 124784743 417065625 460291077 110014761 606122551 44923753 46753211 978441343 524732665 677786493 67652137 483862989 483139587 122829849 784056539 542514609 378910803 659493491 857722241 45764401 849604499 996642975 834423035 940524217 828210961 929919651 758635079 981230879 864376005 86746471 439404949 883518623 118621773 88206265 844131637 554590175 867291633 879066967 784950949 790753517 48735135 578335199 955107205 698047039 989545457 152819677 272909987 68493231 470773539 635783103 104955633 267490695 166881823 892607713 189916809 315422063 899701107 381006465 360656817 184350591 26176085 75423437 223626707 602283829 681056679 48027601 809511553 504006261 408897773 646451851 830050425 202512011 708807001 936952793 595692699 680029487 961625281 975765381 831428853 682771325 54718117 703540547 741421497 114555129 843655981 719058343 279411779 489515155 97039397 155547959 89413141 990448031 63221255 606481241 879865307 267615961 80082673 711056737 644221543 65496935 959655341 306894213 155664823 310858711 858535077 947240425 423181803 835255581 897161461 867498901 810378833 830471065 255168347 714812283 230147677 192216589 596444477 166616437 705772709 166982311 655353771 454485313 181311985 722478077 362123869 224246157 806345773 628922891 114289839 807731941 840398695 351498041 386400429 920877253 655348447 404767569 241500677 998506639 792865271 658190987 686562571 252373133 321878329 477244035 110511553 282189035 221705049 140470077 146717391 115842761 520843827 160253993 602514051 308074275 717290443 944646937 989361619 117069797 965011273 676809037 905071457 980341985 985738755 760008297 707522673 335936205 440041587 733865851 163910133 962429517 904261949 51093495 550226819 178898153 629481003 169025723 356886107 8362515 650008881 841486093 566685797 970527779 854012269 814777241 643707693 372647771 136078877 620009333 248082669 243771109 681402799 294270749 5504899 184033235 215754935 248037751 126598007 42099739 500391665 538815697 377313529 273623457 855496765 593695713 491412191 239819565 351476647 215306947 161641897 27218799 196009061 50403835 127308413 21995525 348851919 889035127 694964267 48840299 734176619 262927757 446144041 537518861 653296097 276667899 291086745 741903419 467741191 573692133 504087617 819110703 135865561 283540439 898409359 279566091 186071927 28908233 663866269 677740503 949502511 387024663 315955239 663661443 841758577 794690183 710357399 889960683 51121885 521044549 106381305 335590097 526804019 49355237 822930953 832203481 849997405 49196647 551868961 715882649 888729203 497318705 393983309 732572809 255207083 42331917 243701817 958414091 840866669 162488113 113019453 412766567 782101055 513798715 886061657 824961741 106032857 864227633 599185459 521068889 627264533 27922559 759707931 960413963 408340725 758412029 647007497 874399949 259770789 324997347 540200347 41393007 612221559 283912923 963848473 529886891 305992937 393426671 86273907 520214563 470661787 761820055 574768447 670897757 135064155 698567343 989780155 340894671 389290267 120295035 270730961 397432271 788998903 680464555 367773199 152069023 753842737 42336593 113697197 252752231 750857269 267956717 192848521 160326459 675630231 856949859 942859819 94664723 765235217 135725569 372953025 933688527 749852549 834636923 75076899 231593787 153248515 285725423 335041491 494907141 215316665 145323747 114869747 785566921 85803013 224312643 242457431 201981191 88074857 38450021 891075699 278268713 557692561 456327173 31567209 562757245 426108241 997404747 469545725 587480897 629633187 442692289 471602593 668147603 14736043 475348573 451248235 951612031 411765427 927791487 836744219 344052979 458694191 922779881 957060119 574026955 386746811 565042889 135853425 97088967 228760603 28084151 619536349 63449743 993070391 477569963 501822651 891475383 329534245 819046159 871121939 625788597 74881823 309712815 286162323 480599791 440518793 26270655 390830485 978546857 707090927 369776861 757267991 109455895 207393793 986476813 618026431 133364819 104128157 88376255 337850077 110510685 294264775 591166151 505984615 543288349 143468201 732306273 625532671 275478375 894863509 457975091 491916267 127310577 296974855 576326475 894458393 537605471 452420515 432547615 549736225 663644731 18119989 348033929 439934021 627024627 139099821 421031889 365876071 234218465 414983467 495008931 957485083 643496265 697100269 141629717 313922197 524271697 490832227 316596133 9293495 740016141 333369373 346960695 792391429 418539635 760209881 334421527 794911153 531995495 300696695 724843261 685776273 860583857 659140357 755451909 992138533 239246851 422966453 50342835 376366995 716239351 164149217 971080183 887973803 847107851 283278095 974433059 919364837 624928683 998654953 548378871 546207839 53814825 674026561 405422999 386677729 168507835 580224277 381619857 242733787 673059717 31550853 52802009 774654307 182077327 998640095 228768461 108304183 113349579 757292181 297339187 334767809 656576785 447636291 514408503 220616719 535586853 783194027 651226991 638689239 815349933 624419001 809700825 196040827 478659131 992486273 523763927 540498177 977880395 372210747 207356729 166140439 916856889 682217807 899266613 532477719 591226451 683696709 103770213 72700669 273798345 190823121 204639955 686130033 558212531 103500751 32656871 940468165 265414421 931664961 104612473 344359405 268244437 223680083 172571847 495128459 14631109 974801497 183616373 372620003 841169311 950277069 827092113 754716647 474922501 323291219 801315471 423298349 692149887 577817781 793496397 152129781 342573439 199591399 383795983 926498853 50252893 186764293 100722565 387558221 980205659 570240339 26821315 634879909 185895331 24234297 980870725 16846347 91565637 808639309 810507761 350654471 908783931 749645897 360450325 953511625 142220135 113101585 406586727 51730469 84228241 245652399 3761665 859068319 988647017 570595929 503252587 933638491 543568267 968879207 730177427 495181609 829447799 216467805 712764107 389826431 354742935 839963113 804926673 952933503 804013371 845534939 526663885 300588783 775400605 615505455 401139017 113786173 579552991 457535497 745086269 949683841 194466055 261733301 389757701 954488699 679422475 176141987 651557221 99462035 293836225 204428147 703654541 758826453 883922411 315947747 368257809 978962939 250738483 64407267 266558701 732741989 802766377 692174211 353042055 84580375 185660999 223084031 598988717 503055299 808446701 629360061 632312467 547753151 458779751 94090563 272019671 690800907 962392803 648414025 162197631 999406925 984878461 518678953 946273527 685345749 123149621 141211235 34414101 847398299 572838899 144934055 792699669 344238397 978163083 544809925 660523423 171184643 840173749 988243003 538465981 760016605 915676691 694833321 783170535 504571231 815709483 732680925 534387191 955378381 822464881 713623753 588719671 614355723 513305919 335634313 240853839 4132775 1067221 715049567 404461143 224259805 130214749 315101623 727871437 554351241 193720293 36523043 152913045 702126385 550442091 356771169 410203901 393429769 228463821 651547985 124719033 288334051 677711831 174986497 389059815 671393601 16070199 947036069 29121803 200969033 431150473 476469139 817485845 942448589 675721547 378005331 657753689 430339137 773759979 132091025 680756115 680089031 939312055 44969243 758323691 511756835 568522727 906010097 389958891 754676935 15101855 219474485 512069257 852954569 395632873 992066609 244431909 663833319 40399283 487943769 379370881 123741837 829926103 964063305 38618059 798461125 452316953 642061251 118701209 573828167 456256543 496506293 85900521 916454263 582433661 399822125 462432797 974792023 389127595 613060203 750332679 120551575 535398153 45082065 986904793 61694097 687380705 714740459 789835313 679507521 652519525 491307369 550230035 175453009 245778349 334003241 770482415 187333903 392846013 709042223 719876503 699183985 521497211 938522019 879012427 810200601 444383675 276554459 59161009 747371851 869287475 55822161 199677905 142161659 908232583 34114729 616897831 803507643 174701119 882006959 543687051 292228557 12453581 197330259 519817029 558077463 979486347 399950771 567737857 712793899 121889975 884112659 979743701 214391869 503240573 870892251 781154365 627798061 320000751 188304547 184886561 750365829 231411203 923449633 983544267 690609775 131872157 774745403 493019123 855979463 602742149 774028029 719198899 764039179 421330285 139964567 649848213 343940961 695213549 843929961 383545729 584121753 843301769 262884595 967097809 805734187 638504871 743430623 730905917 457401397 173906329 718307589 107400431 484416383 862374809 196302427 124168051 533967225 203701705 770935815 727735229 262878007 414219057 140861269 701109803 228789627 194215619 646752695 57884035 837458861 18907735 729524169 314021873 557967067 516907951 395312205 958218251 269093563 493566325 616593709 881121741 187838127 640040505 310804609 131909533 43370685 567865207 344862591 730138953 203155091 437012107 476613519 985900807 705685641 949665219 648007481 351586929 335219871 709800271 608916273 706389391 553922941 646533191 924344147 610810831 764446575 956532141 694401953 301892355 703119727 566743915 704938311 590902377 870899227 488946513 503917463 839221161 85535933 189474841 402120975 208425423 280828479 855229029 586271313 188607567 100186685 922181053 574129959 18765829 689971701 178676625 369287557 301648955 293804365 184717373 883472519 224580507 499216341 814777345 268813167 945788729 730397125 447092743 920578729 69526421 328538363 766330207 280366281 751181205 250264063 469180931 920246665 413485953 494441215 934716885 242100941 176631317 611271381 808717211 674467231 499750761 199946749 438729227 94383411 123392517 681349025 255970491 930339301 994452949 549126287 641885485 300554809 911616303 181130301 654297545 659778007 242779087 597390285 169966307 781825173 881282525 109006083 148808115 584706413 257309411 536937809 831188827 843111811 144033497 877735119 732763617 829463331 300439323 115529017 950595387 821117629 386228077 287082231 581578813 891310575 835660543 186137113 611084717 69505661 192399203 813867863 698837299 992692047 392984473 615535889 20439135 297775995 585997573 800929867 522971051 661452605 309530229 789803959 502450039 821111029 511603485 256040619 876720909 850940975 130330523 582938149 742798753 397721249 135544565 366474191 656557895 97278755 658729365 641830647 186697221 831554747 285762645 39239061 632668355 710283155 157888881 706184519 695288401 890373117 39184267 344950869 697317991 18982773 639790259 302539437 581981865 913227167 939231583 646214889 803893665 78279495 340093289 418979141 18232765 132439903 31948057 824551083 391467097 365939201 443543581 729537961 308640947 429156211 724556935 481009525 407637241 466749727 199931861 534686449 851034425 454712471 371741679 264186785 333393003 185663129 114467873 227385527 647528307 944802821 721233951 46260745 542136859 453060841 505865479 871616279 137570833 754655095 336655453 573733897 997358063 494786315 111214353 392039595 773101625 574397223 335645301 209299319 386999893 984333431 783901003 81846411 998029207 41197517 185179827 748245169 175352373 923446055 100109117 317317203 9089107 592436903 207552989 956825229 175209211 519287703 58742001 494138909 238687515 232287595 324141887 596978281 58742925 724870847 379111155 772035713 635180309 677698645 593671331 271512603 843652441 995678745 38262861 392715417 881262571 817279519 744614997 238514177 877054535 203853217 412468871 621092867 988669387 708610049 707676443 375802611 725462209 214493647 188761003 627337427 267383131 822409657 579071041 267336779 559248049 649886621 449848901 558888873 748346309 307739517 190496145 937606115 262542467 59662981 281533279 477601691 675273911 410911753 917467989 279800853 36483357 963687555 955789951 2334787 950519383 492667031 836522583 684483515 296851437 692217359 813042101 4308925 557641041 361091297 909386207 860327985 242018011 324089381 938621829 491135139 699779791 345870111 465168315 228006221 596653139 413377597 373986559 191642637 786186873 219090447 900041779 766084459 403664699 148181073 754071975 813490583 860169339 126091495 263478289 459276135 876285185 512015069 671692171 160330585 414010239 431504227 451320989 603251351 596205453 929136857 430523189 142531055 620072109 402621885 77027749 880479449 982492489 467383743 414039981 706436723 215327153 524125359 296037743 891570821 5467935 547159945 242662525 145553533 652432053 674128241 359895753 550662261 667668091 620715699 214603185 529071145 457766497 504025025 594540793 268896769 179098437 961573429 949611985 934046223 584986083 991434197 774325709 138371847 624288741 398258571 659696617 460143435 552289505 3138153 370690443 606440927 322509131 711662765 134719873 780422005 272805765 690931895 739022593 273970533 361442011 415903765 916391077 301693609 493718141 97426553 296261493 802743535 871083139 571832509 15789021 770167169 27141359 616439271 396940979 885298265 908381865 954500129 964607541 967765269 317467269 79667135 722231045 648358397 315423803 45290041 116844341 392418049 134967661 580343607 292475701 997813943 1324705 84787585 396402407 824678237 605082701 824352267 294713999 278533597 477056455 319680241 341934551 259997893 670469713 317977717 15901401 427356493 410048531 267219459 770929935 930028627 695684385 96290093 394429535 968091999 111251571 313769649 772780565 61342623 910892267 340857713 640680427 544858347 222837327 686995831 620061433 276930757 307728467 495268087 347947719 34952015 924149137 584633165 663600705 195670109 136832649 337380347 675777723 444934755 636104869 97124271 704170231 516995971 368356149 138671927 887595541 311793793 718172273 116245651 530333349 461056463 341170815 988775909 249797533 150274179 828356707 404842103 551571801 858497373 758642961 534838207 812171421 900560323 569677411 29715541 13146007 922299589 763872281 642282749 872855261 473314331 771409115 126691749 296682093 925288741 858144061 922877021 692349099 764113383 253623479 202924129 16223589 34772497 41079977 951235349 870111951 235181053 796684637 296509187 924109959 478836137 257862405 852668129 432214673 180733883 171682491 192984199 432823389 915812481 51960703 584494585 410232255 718909687 143953721 854326373 270972915 351050169 290588605 582027547 920682143 43040271 619872705 318150807 470309073 743445223 364240873 877452669 195579901 780302809 939440575 644842393 581877507 582780965 357524145 82823901 982246181 483692979 816055577 562308707 647816977 3158545 139150139 773889393 353221597 827306869 778561085 897695855 275252231 798452671 536919347 145675765 827678833 413032313 208477715 778379193 453266285 980740815 228888769 966362019 41008045 872228505 179991045 210977465 252419917 630592343 265267345 383159859 762774231 355501615 594503679 984901739 65878579 601487345 250247629 234942945 246312891 499433493 952353895 379294789 196864297 561254841 900372511 272235369 215393443 986770597 809954859 893132357 617536951 940599881 758248367 664267265 220633689 867959483 78174899 13400293 355983847 405402041 480842537 233759077 433284647 757523373 326817259 163327771 855291973 516245669 432087479 191132109 927868887 519919447 990697529 338234469 424506329 301556261 524110593 270973943 172716467 992001045 296263819 375152317 828087855 733165013 58601781 944278297 377616005 739325631 840759881 783419545 89372495 609868239 560488695 438105841 649946517 441985197 315038557 634767095 752589765 381311147 691956599 193121717 707923633 642627005 460806705 785306961 36018841 3797381 438516315 324962847 859191841 282397255 860088239 39759773 732399957 953300981 271854543 273323373 560117421 397200677 325873987 560457305 666456581 715353111 84042365 121596247 715368355 296878513 675864789 476132479 588859699 118439555 941974925 801972757 461276875 750678981 57178831 896629125 638488039 751015509 631349419 971336803 437689965 352230331 778660891 125512553 390709675 134285095 10702849 870497147 482835799 458034285 923569189 699179685 338764939 280179985 278609463 591118103 809251023 203890999 576297171 594869807 60072207 365348015 98356857 766418289 195156641 541031407 226354323 536898949 124882499 487812377 193569393 944304449 512662297 689338097 161638477 244849823 225937327 217798635 431400521 405600195 482137853 957044505 700958061 476837881 998746463 695144253 936585385 14761651 206990233 12406207 384936921 703434891 812307931 435605931 116169917 718122055 785587895 904422075 962859007 163829199 645823021 858987599 590449711 367084857 168255649 889210987 736015047 213344705 684054497 567425729 449893159 97818823 937259555 102699431 970353563 27208921 640552193 185446685 609060433 540834471 788727427 348346313 268610661 990033425 421193237 417105915 58470103 447483159 961145741 399060651 181792657 142295781 626541607 113211511 735097953 754586317 505095561 788040871 453291525 980147531 135810755 597425707 735019293 863493893 715958085 564781207 746829615 799968195 839780337 93686575 682620849 7698297 722244617 996999127 23091959 842700609 448776253 973173789 921065287 988759137 862467487 992440893 356877769 697860419 308384943 478253587 571106699 432526459 445191761 777764389 465421451 127626177 603378385 728992421 13248167 573581565 856034535 603669099 746627243 643486007 619185841 842631155 593842501 853675939 388105903 680847461 299712529 710186141 442276051 848092307 400039055 666912423 152535409 414175729 683052839 789840237 273480261 237611935 47544877 473833667 73789301 176220519 601200343 472197025 895287951 436004533 622576715 93855535 759701385 770594209 971244685 695353781 224899005 759054313 216741265 694333353 262622451 625277943 226088497 156533409 389860953 330448347 488443179 402653799 929014657 216609351 702470701 845797345 648476009 974074271 928792259 106604069 970943865 194505961 150291819 193063789 81788541 32578773 778103427 590569501 887155623 708197561 869762389 794792895 712849817 564950419 535533843 286613511 795679575 255069965 712297431 212483027 390672715 719492725 204657567 387500065 325054543 610020289 778628439 476714783 996509 257370259 81067473 517948193 302975707 447837999 93470403 905491361 684823 980029831 864715729 350739011 179017157 309051955 141966213 821522899 986196165 32666991 2849355 241685827 461520471 689576483 932673923 938646189 821394479 844839649 435229289 631064149 437576795 631687389 802818857 97894313 428903519 148054775 12902357 85978681 437580827 680663225 995101539 916074177 361795809 192055629 931622071 179069479 820429921 596673167 128743321 890911857 420912061 814768637 633718715 631466967 7474807 689610173 431029173 227024817 783878527 775960479 67272715 496294789 672892455 171237915 546518051 236192253 878866735 762530639 269236559 111354347 41310139 49449475 802230729 948322125 181376601 54261413 388192179 127859779 284448253 623719503 787274773 490999835 162650885 291089341 762688481 902427717 184167991 942628953 202657007 785413473 93970365 491626289 49454337 832801327 851846705 949568507 959896769 369950363 487797133 660327449 684456129 899524791 356030521 366313873 587320439 966775233 929991679 565426193 956756293 872842009 544480021 433456113 720455031 357962061 501936411 26807601 936852797 498064143 204245011 298832503 130940335 47373371 767413099 268827157 554518991 17674963 456907001 804515583 143381383 607133187 248218107 737849301 696034983 463035679 788697109 282398689 828819945 223164065 495381075 861721101 6581743 943528747 600041005 818136565 182210625 753837707 574178943 230521559 694055503 157781683 424377999 818351769 637316213 228049599 399423239 741191883 770914547 575081459 766546689 30752677 884161267 316150967 20086519 544238341 345401733 291349407 294493647 801746803 663383715 451425897 248993239 175981341 961039407 409702135 626820547 530864349 528148207 131997779 331713459 362067247 306178969 15709107 861229609 806388029 797307843 494467439 302019859 419574741 122557679 527731723 672066759 493391469 671164295 980853557 328718593 896724519 14584281 877181115 697244649 955196103 804577571 611366303 559621897 589995455 467661445 202139391 462384729 41849127 388691973 343458599 623755059 689122491 117154713 211119243 714679649 278267619 754268183 78589129 710643723 799564207 685657153 447628191 634235595 269490647 990204863 63674877 714373787 337194427 755801637 192858355 914662113 2718303 506773995 276482237 291092585 277313141 876723057 966920639 68665963 992514899 90492931 272223621 161524611 428607479 906312911 427434431 74820791 508313099 952016369 400295757 343602291 72214749 525084007 146185517 96957837 150634085 847553567 130874255 688961601 325425217 486375655 467941571 486978359 17822393 975264119 115526727 465642617 731877307 381174133 158083515 46904957 340733409 11560805 335057901 204089123 350603111 255631803 481558989 32994477 892912951 228894161 550458235 757544649 911868381 219648743 736140087 635833741 845135509 726435109 4003949 79600247 296751161 261083295 456475823 141730155 691878485 207523403 541541561 800771509 834862613 175533837 922057073 456866061 135506769 589595311 53565151 526499983 488597897 243586783 3589943 861229505 557519589 111892535 881224147 108751247 636115761 731166523 199928377 220310349 381200615 21107025 467285267 802441659 14965797 36801997 82056501 974703613 684425139 433449701 523034265 701345953 899538433 266209981 528966497 906650781 632074789 878075487 713630427 835385931 926288095 592479417 876406393 521292915 844030357 729600933 972344023 136820033 765546839 420252903 924039351 25365323 6632923 262717733 527529989 485515407 180759171 393203953 358280405 831836527 772168533 19006407 552697953 809387965 400344575 369184005 567716365 948909993 175051483 206903029 759753315 974200021 546988517 282720713 74161175 814889795 744828871 297366169 549295877 245643363 720306895 613777513 195977519 870514695 475391475 302100767 400801731 295893359 924437973 156696205 201630225 211765311 725959609 783830893 379022485 965166469 817684113 631726689 117860339 91091637 426236915 735479025 973009909 152918189 849671455 259081359 643603087 203363507 190095869 537948563 591204061 569321843 543766041 120216129 58302499 880866307 244657581 888458687 295107273 429978847 112751255 244631839 22313317 789319919 840619871 746096731 404393395 275504765 874705973 987462997 383988627 673133631 65759215 314304725 886474257 850787413 498307339 75101069 52050019 185966401 723209907 69926677 637940961 270399729 596949941 928771823 315073553 971316669 62116745 379714437 154811291 529367901 144109389 87405351 267786069 484114939 883333833 111397135 848743995 36595491 975932267 991679583 427406189 224512201 810778443 699408159 701970745 16785483 578095147 321828161 386856975 62320493 657278061 55537053 876957583 558464351 30037541 482480373 978836343 941770677 894552583 521265395 943771319 205515115 764003957 530790695 872887393 476337639 551172211 125173771 504380077 522135543 150579891 515039743 181346817 465451727 76577419 991829071 625929705 821738767 617245947 839300651 175832087 179020729 241055147 470699947 342818663 515938619 351149543 20605649 914316507 803444843 212629929 749281925 838981791 222386053 19007631 730479515 473750789 407006513 31394529 611483595 842392459 434585465 442986127 456261303 452011473 172567253 214298671 882171623 685836453 129029409 688332287 144047819 166363385 501063329 794386153 853162431 162814185 818432261 526944635 149105923 615018679 226025567 990904045 454842049 335965135 240156207 185785885 553975559 187550149 500438617 838024337 599131347 215823699 124458027 415738749 609675525 244431707 458472281 552861875 93101923 97100267 318128385 13093813 684873123 404382519 450508969 545400491 270025305 366630037 439679293 188656995 253557259 849932687 691015699 622589523 631018017 311635659 811968999 671757211 695053291 27369247 616539617 531820037 576013217 116711045 282936971 989330941 227274601 222662433 700686045 357415579 680252999 339825725 102103345 905893023 599080753 394318157 857850447 984100207 478076923 530861805 751828581 334677531 929801835 317502945 729784837 759013979 766109479 887443985 424108335 135137167 155218115 540354963 802650183 637303227 227953847 109893025 748974873 786510479 362613347 355332511 629321693 99325541 26380305 582033945 124855343 743397179 504853493 508559295 978419733 582949813 401688867 900222063 701936891 456138279 136549025 82339373 617761461 375904647 298810453 434114081 692826755 706173043 627525139 184310177 95438859 544724019 792466065 59039017 581851223 430201781 607587957 217056601 944456925 246807697 222719811 451809789 586707067 431691271 951967855 995890955 275936887 787713535 262136401 863348125 458779519 730012167 918597421 250275059 993309861 830100565 164641833 995483517 476820583 975520457 479370329 235207115 264668077 622908909 255855027 160759195 400965313 960157677 713848347 305260749 586703963 394211233 691354715 866688623 340308631 885441417 911673121 763633585 228034553 547012811 975041031 209576691 993383537 704505911 224685711 16100021 728778835 237375813 777788197 392656547 472960345 628556051 147472405 672374415 242410927 704248169 290887323 369816951 704540891 339102135 9002457 637180539 734519513 99965969 349315031 426751465 119098113 773405755 146953351 364103219 730754843 6689945 530975427 907250421 473666643 711192891 744306505 335606257 672008253 730996439 750486981 856065043 707817947 610610639 416250313 218565229 598344333 757352233 100181963 975859005 382375717 618984851 901424175 789176037 901818067 250848869 688324157 554661103 912492601 769526945 174849317 295270159 542210137 437380585 620976901 533449249 515358113 202718097 944590297 685885735 316420329 586484621 822412941 262176333 163523179 892949373 236695537 673486311 289540299 369913771 605163967 316063599 954093083 749622787 671259033 137004169 66949325 425713949 959099399 448565759 641803455 98372921 274856827 930866885 458121783 907789117 660426573 17032951 925212897 632235961 457002687 245969623 692269265 450936805 1295867 214783443 401845639 538588831 665212177 693543803 174035689 345161583 388871419 202127499 240672321 82717573 140038299 618861031 642894661 502005429 264036281 501420441 188626709 654561923 360870405 139846613 7652659 514759955 411550235 11132921 543992461 641372211 273896573 858083715 708007545 889903711 854168719 140120355 66534325 714423731 98579879 436908969 551515491 260925173 196445693 64067857 904311829 141333145 798560179 920189311 821027005 179155889 37982673 563652669 649529783 628656383 840725831 463525057 704261069 575072235 926844401 486451619 531411751 62291329 685980047 887713193 840578143 913182075 262908107 980062397 879188335 862485305 986497589 502044913 757335741 667186367 787560263 167213953 597189655 702684607 678348641 745314769 585609137 503758991 802272975 504963693 982727977 117993775 628849087 488892423 794872965 713918533 45047629 23301241 823155505 93607969 139331193 214984137 506019587 644324283 50232621 897377057 682442041 979653553 34645817 362777043 861987701 297455947 535439701 103696989 435049159 929479545 158960167 680791903 556222629 593925071 126982963 643925671 446540267 601950097 803954159 833835559 540861917 811440289 212824241 904459515 810827561 742645907 660021177 194144357 951602919 167004573 474033717 67453137 563252623 497229213 967206707 97711825 457040395 453106969 660115115 482772003 423470247 362328643 887644291 121127079 411093527 175617011 101428095 81711979 473249401 790766757 251677779 371594145 65750099 636839297 138629273 626241445 598897041 501793113 874160593 646182905 664713351 541329313 381818467 653798985 828920567 152705913 372313251 914798185 333516545 165662379 968148423 350005075 261954613 920306849 861148405 487962667 911515785 705908087 470262321 710465851 777945431 264732907 154458479 74390263 965800551 455375715 96760201 95021819 630420709 188775663 291817277 397969673 345440359 952702023 297100345 141504525 298195947 899468233 871622153 620423963 665850069 423234685 834603307 137917549 141098481 913564947 130245117 416122471 193509495 897267423 321234889 558193811 912698627 600522981 262382529 738328231 759703193 384968905 602310143 574247803 458608553 726679513 957048449 13665299 37948679 887801873 902566965 180184733 308312303 646896397 895235047 994234217 213919239 850445587 244381011 46896627 4944989 364465173 894474779 496453087 753080421 945371819 423133897 196036599 224772605 78430993 951909323 719457585 469041003 700696623 831823995 122320805 711196251 812155031 529973787 695724441 407692515 123780477 225886935 169613429 16368769 651545025 945900219 527587791 675710231 494674155 223420611 633088611 59833845 358842923 106369489 708015889 768004305 649350999 532716461 454064103 543352007 372767215 970934793 424576789 115290459 672876569 250049919 662238715 910212477 793967525 479427725 14180375 917975679 831937803 494666399 851382297 36349729 817943657 679445253 870678225 166860935 997382279 57778683 320976957 795394365 558174675 845480861 522792061 532315707 241584487 301498617 568223967 664425439 648069631 253495551 640243413 83029225 671495429 941104519 204344569 268532619 564485511 664588885 399708177 975498329 349660475 231877645 974987783 129484111 556193155 489553223 549014767 46654675 460815973 238561655 201270785 454231221 632180111 763823105 847356069 619311397 127120217 594735915 515309923 528031685 437169603 635593515 952162543 935736471 393267571 145733399 140139811 538884873 214947515 285385713 211559431 214483697 13850255 849606051 739747009 750886797 316862351 651460093 349053093 966410369 17345795 310103995 43039281 593763033 767977435 687084409 156819463 294950925 504363437 907694789 112595953 126145785 208958905 451754255 615929827 408986337 415293413 169473199 334252793 909820021 810345921 886241767 141134453 816068809 400167301 254847455 979403971 52341849 777309455 672634795 18726007 135667723 367443175 273167683 882492235 383838765 45445947 474035337 739003171 130089331 254238437 893741125 419081993 96015867 437487713 459072295 904117297 477532747 416092889 52466891 925958903 115927119 561438489 336607409 590566367 780380765 389667485 274549059 707712145 577799731 604649601 158078673 949547747 119292915 789212299 573825685 953774031 709421871 704134701 185699247 954910841 6824919 958892413 570616363 846291243 91454285 758428219 13428215 468422235 215948115 735289039 378209775 373834657 242537753 270907205 744326867 4878019 276053553 737657943 549729867 328028841 835006875 764705893 2224619 368550505 114826939 764970099 536787499 897804861 669164127 179974963 463279979 946306185 367980987 264187385 519801079 852976857 783227245 467551689 755537917 306813663 348963451 854963783 590538905 287403893 746450769 937410755 664240843 280692129 992757445 206611765 210918779 481396619 191960339 203636539 362690429 391290251 490156257 902174493 245828745 124228375 357515325 172118729 999831103 123369941 604280221 756811481 952085801 660916881 551807707 118270857 476520377 574023229 739430975 723120067 215457097 878844659 881584503 667273747 134183193 280382713 948982933 819586997 204315985 778907577 598280473 607002499 522565637 621723333 398623975 709747465 845449259 109743835 172264779 298824563 177618601 423935195 854597117 785925273 757191491 312371923 268731929 741719035 201961901 192853237 158584611 830110143 695754369 746433693 808305163 512635319 263522877 358276941 727965733 981978199 793387085 674772913 912819245 41343423 174814211 856637083 729778505 239718071 769877911 440366601 317365767 416467887 649131305 950887453 422371163 591557565 197551555 525698081 746218405 30327201 359982679 688768393 417276839 673690305 223854781 338303729 459270543 901657645 386652345 655773467 982971891 193202587 938364145 920289267 73374927 923240557 393015289 665325453 892303499 920785065 678079815 737971489 781752049 802096637 123299391 371217943 744565305 865042115 440300329 41127671 222938111 460261623 963829815 495692407 12722247 898713923 717143169 982034543 209454209 266679285 234551563 409398499 532517503 470063107 376611259 319416575 344734593 92933645 227302499 13566487 384827179 801944925 551093695 235248293 120560267 244370655 290292843 892961101 460391189 309454379 640919541 939787225 989602727 656108161 220135373 8745535 761065351 577529799 998499917 111301527 1424225 333718415 965646771 242024229 218479691 97598477 441429803 820880727 148851393 309166369 584726469 153947325 769884585 98618707 906324347 331343635 44082001 307457747 683942447 914645053 580337775 717680247 923568809 115120453 836458269 640726717 92336027 680933217 523689957 381575887 704463005 513612521 875549359 421013883 709163313 73797219 879573971 843338297 924278209 142083961 882620687 445432871 625123997 818687997 754208391 100642573 376360705 694373611 529485767 119474265 267000841 493634919 552771271 723885091 835633603 5871549 459840227 22191661 159328287 995430495 511061985 343258329 54459381 177904359 466179309 629999675 155792903 493809947 358321051 276999431 411209215 983837157 118958827 716350367 740009325 481755223 303396419 72107783 261918411 510666925 369717869 26245617 527659643 52822861 554706079 912595891 368106947 396233151 367934327 692875597 946566617 471005111 818006523 374345831 138019027 262994447 570127511 602113101 959453875 308278221 187088417 995904249 996233827 684396315 642725079 511154697 181652147 710467147 999713117 829738949 831372637 335993051 974575039 312582173 88911361 629938285 436662389 308960679 840403755 625172427 718485339 424329889 795881801 67230185 516668085 860917237 225739191 43706081 153220147 380156977 230316981 224636665 173828583 634027661 149566317 780995485 973262161 69302247 449908975 747294299 649050197 750300613 434396467 393007091 811151425 563466075 507705631 776157511 555169993 56676987 130737783 293188193 323086603 499203751 157415153 287548789 443959437 809967111 45335331 269184479 630455867 715878505 974842253 778768161 406920555 57289283 488227741 907017191 779370201 67818933 250026145 592104197 770395565 610185097 559247059 314911349 783682673 996349995 146408019 263681115 438340635 860936883 719716907 897652737 446612235 517007329 918591311 554360541 223106563 55376155 583123859 10493319 390186801 458888561 360733885 998898371 273836333 752539803 914538357 613847677 432860655 815421431 942735945 964788937 28062689 424113039 119360695 873166563 293166287 773254925 18383389 833713193 625284333 695594189 341948615 458228525 20614617 141747915 297150179 223482525 661233047 554259889 210329995 329580121 796767639 208028621 823114179 174044255 982727085 284062743 208977265 914334175 802582293 376461101 909112425 306169385 904041333 752913493 28270947 548196793 979069403 580102787 731757311 755182899 693545405 773666633 659621063 146184803 933275125 159864809 448517677 679950651 740778955 110571083 532772235 953028821 582181867 328501243 23079711 855671415 302691691 301734197 705269781 167904905 368670921 89870291 662017407 489338275 931044073 161397857 697086291 568637307 238103575 940939531 24350069 893298167 119607051 127973545 3599535 377119267 402469857 230878137 799029167 648954161 877267229 315609959 819669007 534859643 810414255 251298429 804132179 348631943 466189545 985474165 697352673 474283263 337149835 170336365 531530763 224604599 213339321 160376365 850767629 544416935 515815937 638486821 86490117 237253879 413893975 759381865 297404669 230279407 535080473 310199997 84453863 464593667 691689485 960089989 112758171 479137485 649016415 962774993 797908699 221415955 118417061 817184855 991831889 726426559 211559389 537897337 4467343 767824101 400362857 689520189 801434891 221582783 95611417 196183889 57671465 427940015 463644963 758289421 497584689 793455939 240905505 112347507 73082709 541371181 776866589 312410917 183548077 951487305 252138879 623764087 272158779 296645785 848818975 303599965 593345769 785207115 90439227 979811703 591801735 825787309 485948791 412203791 719899089 588712767 410544865 209248273 978465635 946999715 646827245 953314581 528856779 749235619 11891577 734711385 923052665 569758259 499960521 23017673 63665605 594135919 443493005 619846383 126339057 242667931 400787161 436686341 891259175 152411679 278121769 608365289 138059127 174171793 484580195 697923363 615507931 481997227 641310933 676974561 127510837 254672977 162958645 260850429 454231885 911814285 446180253 527821813 595672533 870194325 269278613 72173805 741784933 234928577 858818059 6621625 51126911 653538197 325801553 198347471 172957325 585614015 90808613 965501517 866483935 293570063 229382063 896938233 858962351 107742081 49124473 243416903 261746973 18905913 551062139 156010569 7890485 74459267 47540241 242774209 394741733 339144911 187042303 234128917 604484617 443589821 649931381 544914775 400498273 560160523 719798791 220895291 69087639 621431209 539666609 717736995 40369211 879875239 288843993 822245651 311905223 171107651 423080013 251289789 896165275 991984861 188306753 301468535 218787331 601787395 167279443 129566017 307573551 720872293 926326921 116157633 162415157 791510755 454238799 313866311 124057627 300276861 617878139 740982987 208446153 160270173 825367625 491431659 679500303 204923611 703322977 874479087 179350183 968345453 33980109 280011461 813403441 29650363 197826565 116932359 692242745 682154891 215867875 482537459 404495917 993685205 902349745 70181741 761403497 866277043 91872279 135115529 79307307 581263975 732795437 8792317 803924641 157402717 50423409 390847781 877696217 979706151 692658119 305737229 219723469 784009859 230550653 791664609 639968861 759510611 616862023 111510395 752066643 258585505 505433667 381982551 370906977 294908833 801721845 603597981 319783713 133441199 344168013 847240735 661478675 747251021 957235615 364596049 466177951 390593831 77363623 18427219 931443993 778275855 923593869 691282927 917867193 474600707 653591515 878147727 401022879 979207461 676367751 58183503 793565141 89240767 220026609 569202157 346967373 603608133 400910299 971213007 447441633 939000147 920164211 539797509 888617809 213705133 363516239 617819207 418669637 171377723 886470253 825918963 200060239 634611731 146866735 684778001 853862123 264677231 453139815 537121617 614236023 843349171 127934791 610594055 105977405 639184233 527474285 296568887 549146735 206403397 517605853 863581829 213271591 391368483 776812039 718417727 668665699 764675079 786313149 651158625 73343249 640243225 635800383 865296263 659453949 519865775 93727025 860883703 136353253 759879747 361028001 840389283 413418599 614502265 143459077 806243107 484917261 42322973 680425783 452977331 398239049 881524511 259451519 233038907 487504755 146597535 262329993 116731981 417238991 367316187 340883307 400741917 645457539 798484291 721559713 127833739 183516577 481847143 723161107 800107807 912077861 945775619 698051851 967595785 244360939 368643579 952713025 681154079 744160707 142914907 209548239 393708001 493734999 873220693 323985471 808192629 315050823 576897091 849492857 952734123 783864591 798746283 375804631 71269883 237851931 746145847 903515409 315225475 171074747 786631609 130463569 979606795 547906603 58401069 758952483 625892609 976413575 254746297 721925755 75568767 288923613 94759331 842576055 17675841 250431517 916146531 267570589 342072241 919176223 917718163 728215385 212259293 128167847 259613173 414201985 685021819 466944859 69712757 618428689 559488749 874594765 632029989 902026095 680289079 202749047 134765123 387543401 45360909 371143867 802217007 992171829 438756033 187457761 116155767 828287597 105888341 202416409 600523469 245528857 575851631 787410047 306381837 817239207 552522593 317522453 602935609 933530345 198469151 945901503 913124221 553809693 275422537 637270869 108090413 3708651 627220007 537151883 881266113 751556959 394775977 582006019 210607841 937003501 692834661 715089737 127371093 245418865 738231451 131083725 365512465 293121333 157383985 861116647 196747569 999990755 786554551 782897369 286320887 155283087 39230309 581907149 754439889 613662137 47442713 851715539 709609293 718650439 875636827 255078373 635499051 288672897 200033625 971572963 985778509 333534499 717894893 514420633 185023933 227224133 472259475 578226357 844174513 481773167 814920821 222499283 382779009 202545549 618921055 317744755 210941361 530076149 123268301 959031551 336148973 429860707 733325017 926800327 349085961 993908223 642385999 405566469 966199295 640145747 558957211 544928985 140117491 536536407 327638485 879929935 81275185 959740263 840434109 132832341 858968617 562804551 844492987 997624263 977807993 300761127 596576475 412244837 865671653 813904793 473186007 205235927 453886805 297769629 432380685 659424177 757416415 495758999 905863 324297835 872158655 489266773 169859567 754851173 619596117 520937739 103075489 647927787 748086317 705389911 859413915 836610859 413886461 973025341 756072579 518880065 320608669 960245293 866559145 742431789 941894163 601429499 864522245 774139607 754189193 501725669 107718709 456538643 875899985 649939597 613247873 442962841 93845991 652884995 347167191 144310025 661883377 107204797 278673361 562499309 553911093 624389269 266083755 569317305 471804587 458265043 998062671 940565697 16151661 430784547 617363017 54321995 641555133 925889949 763734229 304227197 375240453 224430521 694239437 110069099 448852701 736113249 677231037 362497037 761552635 849341153 267240657 712346691 595188807 231911661 74722785 794555351 69817545 735973795 356456557 604022395 95474869 109093511 845705883 381148873 858515813 407400585 165358141 553623871 511003231 831554811 4619719 920021835 952848461 925773471 792312153 648925753 35674627 617459861 313787835 403011143 138166649 441413485 936684381 927475091 456699607 313826331 494883157 405418279 798220645 598213373 344332385 243721717 186600087 414617305 464224235 46561237 463702281 716324827 487427841 820879499 617378173 422865049 116163931 79241917 623056351 674339601 184596055 690921727 581487683 564895143 217645053 355565767 956668899 815274535 878358523 653367673 719120931 355774665 858618539 630538589 234590605 632876327 897701385 536273061 725353173 798644043 338960575 265777257 291075031 942846109 575862041 838423469 104051349 945477879 949872659 576613463 436944957 182444435 719862855 518955065 801879069 127366167 964216577 712414223 782080693 310218639 198217517 791356023 991340711 787956597 47972451 330142971 369001919 774231201 536566755 889030411 368747501 260400729 385832851 3086597 929374287 479148877 171064581 37191973 797280809 898674833 277866605 859219095 23707107 678487713 339299243 670922859 800853523 345934949 698560839 439865501 950057587 120388647 20037489 636382985 764283623 991925919 471157503 842684541 658350715 901477351 94032495 86280105 702206559 665438855 583320299 452594213 534247667 302791277 79057217 225152883 400675509 214934507 7136489 511791101 514931541 323701953 733145857 334703125 937057443 123630353 164762961 348345073 968888219 253742189 546229575 89236915 22084963 574172871 698307323 387289191 104900673 860222845 139114543 943038717 697228973 143218771 213697861 130151501 715361345 62819961 190735441 460270873 250706109 839645571 121425415 371102987 518326545 532848237 722838217 960044467 471857229 810433181 372916635 854094731 556616879 492792545 10199343 623526645 985819287 708109423 583847131 194716471 531886483 94097889 969636255 62166919 471552341 818206271 381430561 409729531 816037561 399981045 271815347 161819285 855844543 425298905 533620297 110678591 381541271 521744937 630209923 33487305 894717843 331768711 829463721 618593517 285289003 765765637 366258603 688060747 437238535 359450131 675062047 872416623 750663407 995845011 355614019 568620487 478345431 759114953 529793281 414392751 627409115 551354207 851309287 404573799 25988925 69981551 177377325 367234073 895641961 207622259 980208049 88268501 582444275 724402769 183975161 253018005 306537107 624085589 972624697 612332345 251618097 18061881 432996419 265244045 475334357 99628309 931055001 85597247 217282995 987513455 564262755 412854251 300518695 271661367 879805293 995747601 294998709 257715393 41507891 953598233 749965573 306534347 277149135 90265431 794060525 405639543 539056397 66117123 975625319 935880789 823065177 978772285 780181 662135131 320447691 107950097 381445575 580979429 819851043 240717165 660846699 490332599 441439943 680323373 759749151 888017407 781861575 343169295 541525413 51318355 379095771 425345985 54488811 135185073 710447201 330408911 568934401 647727485 367375713 19069623 348964387 134511237 918360459 676823 686897333 340290557 95168309 137181051 700039233 940512643 794367581 339670481 276936573 175132955 123735981 864934901 73189953 379132469 770497907 100177125 596554899 822747813 592139943 913779343 215910299 755654567 679585255 357147327 373081263 507519713 543171705 761681971 565022283 29566305 827560785 592849289 665202959 97473691 834594817 516787275 555634375 883810159 871211467 245073899 236138857 123971359 234571927 887760579 167678989 372823129 860426225 194352401 609940985 522164275 503049237 4097539 968613783 38434603 460679389 828808357 736079225 671781411 486465237 488717045 304449883 25266029 720798759 428066001 887276323 65655739 540586417 25136387 101125079 463404329 643663851 317704253 252342959 219943489 546647043 81167383 519743493 283341547 895106243 722810901 424738907 281745281 407103909 86010013 700866909 229270973 728437703 909468161 749404381 915294661 805589745 747133821 130940377 284284711 449065619 320141871 904206193 659088343 304859329 823323169 116970995 569685811 164883775 966629701 672517585 329635073 205097585 598310515 319871143 909984365 216188007 259334253 742781495 193343245 553945559 893256413 487909741 769064925 507147555 898029397 731697499 487011397 402239313 940477515 879052351 123896079 247411471 130653219 541029499 686092659 353916853 443299877 253662105 383535115 378869827 980307843 434819405 659417055 826787937 650020437 543390323 885071197 983141213 103374493 612604429 472995159 151836973 773766469 475393095 121925133 860453233 465309471 596319093 639573539 144125043 797469153 137549073 139745701 406781469 438551855 427452093 463861003 193395469 732055439 900269385 497216561 186545531 456656247 289149347 267509085 293203029 225832509 633260521 348756027 412431397 362127139 200907357 267819233 247167013 250268243 412910701 795139275 120741171 593767903 109563303 852434399 9187031 384989885 836404427 692374379 343866943 860853199 503581371 650960675 881065797 543272161 71071107 746061863 736015717 744286115 16470867 483539449 449949897 959972525 504675209 911625095 365622079 733118081 614342057 141099047 40247103 928584329 740076635 197352087 872378599 153244693 595088501 533448187 607620349 957497183 589436915 863171807 865001459 230844551 701277429 572130875 445676769 771883161 731483335 769555563 186153091 471988869 868399327 357343795 367842369 102783523 224839637 537728963 550274349 25580853 719175279 448913837 402952443 419216483 647614613 209307633 758982925 861775937 762752095 512238835 827417959 699761735 551563011 647438977 26016699 146844119 838862823 278857423 737840735 203622711 613270935 2686845 290315603 400478877 45955269 347885197 174070077 7659295 757251403 685811565 327082093 402197949 901586735 434470897 496130011 387234405 322216347 569584475 975254565 720626917 475418593 840318283 385635475 238520823 772594303 720083 855292947 622852155 493506069 475267427 77835839 939448125 732397681 538646493 138844755 882146411 698962309 74551683 666108985 739720225 644490859 955233541 870720383 740809887 939784297 36776821 907300445 950203149 761484265 37397843 658155695 525878399 726650239 305543555 545349377 981175021 333776101 195783761 344395135 607183927 184254461 410885237 237271299 196888359 924952021 389538827 311629321 162029681 597607327 506519961 646346681 95441833 569619895 324842763 528638693 196730965 452765343 143750839 727220481 250841819 726216195 808460889 795721005 701474703 243596215 91529751 904030513 399370665 149926581 3635071 629390461 562592841 16346655 693822599 927221543 3826041 584030277 397280393 420533487 697749803 769087381 291049805 170229307 941970489 179677613 488248321 319672091 424640355 863697487 909490231 167290951 964292177 234773607 136053997 48502813 344392343 910899977 552429451 592870309 859102379 989370991 464462045 105001359 542937329 142643453 673165845 769615663 227916979 953415741 386745301 324338057 352028959 949249509 204057377 732031039 192450127 387644109 806142563 742951077 169249351 227731961 139051125 967506097 941305325 927557015 579067281 909666303 864881171 891220471 363751517 785869019 482179701 333320341 466662631 592985393 136942257 18963221 444972963 566338459 794029393 858436673 184230513 889314389 529743559 969727759 601039249 448848967 18808427 496660375 808506549 389217281 398588801 926024223 567437297 693287101 584730159 799370255 781850819 165458261 850525831 345613053 754520333 956401491 577427333 775744933 67674657 785900519 242366983 305704167 452806575 548130535 871557079 678183631 413875417 782937043 442744999 220746131 343101217 250272465 848171791 499866763 637450615 636141489 684681105 302515005 830415661 941586667 521938839 155955795 590589699 826344093 561881715 649566879 919304221 817459087 841689179 946017823 385426697 778235951 140546931 751390963 232521403 75730327 910751427 613849705 744198033 638497923 456020795 127746547 850754639 700514397 231863481 405580331 151404837 811297331 256374521 558021079 824845479 941108667 702917287 983608033 237194449 704968279 880002131 230877531 150958603 898789899 750977399 204374659 96024607 967557257 121705845 636917179 505090371 328965673 242225301 414801293 852333335 614722791 512183559 81496749 579828637 857580907 904196073 138231029 374872131 889604615 819319351 928749163 392058079 446876079 642424285 688450105 42598063 530173187 105460395 704343987 762135895 397649739 962433883 816728915 976627171 666977655 565522573 877237691 351658443 97386781 331430861 975643321 14357483 281987453 479757451 678496833 695327113 356612221 681595679 612254571 674033999 612001197 561487819 449606523 725500503 688138565 478030777 734520029 681099547 493946147 207488505 541822501 777837185 74742221 984764549 842051341 614015191 967139191 81062717 845550455 354570449 448269555 289559789 9837683 108690063 981864133 694271555 629998895 595542675 768608785 910371547 552575497 208628939 65394597 449493045 991122307 384614797 486224125 320732859 472538443 444356757 944209715 398828221 486208817 117244427 145020947 428683125 243033137 814912377 645157641 865743363 35684719 451850455 957440045 618539635 390696757 74750847 674173759 558718131 160307193 127646523 774150311 447180703 220812115 524536115 242412657 346813431 514163975 362944257 422367063 794471781 150670851 825417119 934781367 396920183 881954647 965697651 623746203 110273707 256720703 267240009 610513069 704559457 137567263 39952985 670738761 59696863 62110595 356553535 685509485 234389081 108604699 662573057 90968255 145074153 163456967 565462283 788286607 68752271 486797959 731111219 772677845 537377331 789722501 43032757 154385199 480235689 26672407 977615417 457759205 159841961 193642169 270125001 792906469 539043795 387186699 360050139 700608711 129645235 760367067 723226191 946153421 201282999 835847451 77400935 59855577 514274361 559029733 38341841 93296767 401246077 279711359 966132899 198740981 659947433 36006995 794397275 308792855 857919697 625168627 927757277 612103793 975534573 298960669 332777077 217248815 726815709 152428465 335322587 387629865 870420075 885715133 751768875 758801119 279441225 236212851 183063531 348955511 570085137 405561903 582917381 148996803 185950273 401078131 614600147 681346871 856427079 57629419 840951055 70923507 815613551 529138537 403775455 189250239 21541111 872175339 386864849 501653259 92021757 354454417 651735259 10698989 13577867 783106217 157055575 586248995 237556627 306231207 856473101 892497175 182132463 238651169 107013673 608758743 18473053 672947681 720522049 581103899 543300745 273838029 570973011 529262145 635868677 299653369 128752321 946870609 442176071 825775779 584575837 552484857 302376115 492842029 735146327 825934483 341353361 824640033 653643857 749590811 926126867 743156019 867133517 914771515 731242067 59511103 218215099 656934975 55063119 298292297 648172909 72613923 52011763 84375929 194634147 362130561 253450769 521726501 651626753 498402981 420776543 39039175 491678869 493506427 110633601 586370563 309312979 576786075 299988479 19030947 778069913 184891717 535011915 414679453 89717549 456676191 512019901 681236745 767360315 587922555 76607127 863551787 982379737 235210445 344451587 577744497 166771331 803737653 67299603 81490283 961418017 449112891 422882749 203233237 214309117 579961359 172708837 918875027 554994893 613392773 150894161 755403695 70345393 793696801 156853687 909988191 350880555 222834951 156520877 617690363 198879273 694638855 100385207 17591049 800598531 106307481 337346619 580242225 292449905 618380251 114352523 272541515 438861725 226643347 976364257 326043725 962931987 746892853 497369951 590167901 698086087 773594067 545702667 521213639 183688215 87000623 166375899 877811451 91954375 625774513 997665445 579510169 347346951 528786023 302475819 724641889 201412971 272581383 399601687 805306941 289555439 677516275 270481401 365691973 546836217 186950191 852223051 869351087 927843671 355407981 55249775 481813475 258209341 781573123 835323053 478223719 138321995 598133233 501155125 136398067 895186563 423048669 702903587 333757281 637189971 288882969 277572727 383452083 547371921 73062809 862581275 581980181 113389433 73783549 127842527 541469913 884777907 346323341 976387197 730000765 325503049 789198649 738908309 197026721 326198707 696827029 735371699 159336467 681604045 625258469 180738631 51615685 526373595 963259917 238729127 630190803 47059085 340852125 682991897 8811903 74828533 441603021 41110213 33488181 360480147 87937401 602866363 891911561 140317259 447270957 751219189 458920245 483140203 300221719 161101651 507041051 233922471 247419915 545736865 373295947 890400029 854255243 230689677 598726131 482188371 142870719 4787379 519181937 31137845 875411571 499726483 671277639 156091417 678812195 892610709 605636129 93621947 581267433 682827277 723076819 99392323 508546193 485828915 663117911 352393275 418438279 895016999 152076497 161377947 165361379 886537205 983747467 911151293 293135461 328234891 231003129 712238953 759791731 164153029 129133239 264481997 389497885 983739745 519029897 838735739 743755035 866033677 428270935 403579763 85164747 427948375 15995191 471355161 41661749 608240823 914150755 639106105 863771145 62546321 616432447 846565643 19415965 257223727 911581015 933151019 1604591 558490815 417850459 855746719 601860521 752449629 764472361 41558227 811850521 537155591 77779141 906796955 217808695 314849195 960279897 836113463 52833441 663744277 279952183 168445517 662406813 675365635 718969563 621589223 208015903 765553683 949656809 921449339 23811769 640870863 977255725 9064679 158034349 850116009 995787671 163675249 61639395 706515963 142225735 724222663 687073767 823470341 532946299 63356155 934121205 853684719 961189027 933481355 227255783 835157451 213505359 880500063 526394695 305882261 29484349 523551425 217064773 372537387 872138317 472974441 278102711 355852119 789551501 906463859 409083933 669160139 128684079 97272163 963684511 491157535 851875981 939302185 690198281 544114391 76882733 588580887 174678229 659498329 88847289 999227373 494888737 889046009 306486275 613861073 970705845 518934509 774105353 353449035 450440191 730864217 505897451 819219543 716582425 809874245 69374199 479117389 324762561 816579747 783499423 487306741 218507613 241404747 810081407 296820347 808617723 735658497 724633177 63156083 76477783 52387947 99095833 402575839 343120077 56904731 42749395 987687711 808730213 48726923 884940479 282555397 965382349 792081693 159604293 270484929 139038557 709265945 270034413 879501557 949895445 323044785 574800747 324531363 150288797 437466109 760584603 45845817 679793729 337267455 930515839 808179087 549311741 534667681 873718595 802373085 942035819 339337909 781459259 761701581 52263383 62273521 781134561 69106795 826891819 536716537 21092825 313384235 299984643 224315477 699207917 39432427 878359709 54534773 860563729 930082289 572066783 266019509 970291297 855095783 922048347 765417047 580741921 204550375 104056389 370439041 290499257 550010987 484384637 617505349 818246847 391933019 407306379 693026717 67341805 705732097 961560221 868059753 800786215 254441235 448895885 280787061 238630519 681618609 714172119 47336817 932602899 111704669 273119909 587739125 538146643 438658309 631937221 724481667 13148603 117805567 647824303 576465541 129429497 26073097 947658111 6815051 260471517 819676229 454428929 890293519 253286499 950277957 655562401 765923313 284393135 614176763 237446521 661993725 17716493 221522115 356607557 895495971 287104237 558324327 952563821 106667067 711274735 923517711 984402179 728111623 280066001 924045141 794622907 641561903 175974787 580740403 670276597 90111559 634010133 706661135 446180795 332803783 95509699 166045367 659771577 722158097 466851571 118393439 764439879 901411435 503267627 238065573 421235555 423576075 803004963 514792079 198138297 557660679 563869109 290269833 921176723 851693921 405158881 724771177 408334571 267071489 644914647 660442221 398092639 251167675 120382695 364713783 467254071 386580295 6280591 103899351 289736545 803145029 955282031 624070339 310089079 185569089 921807189 566525399 854651061 685132969 640737331 155367255 920248581 886927321 524214821 276355057 661447669 685770513 938867309 95306429 3753405 235111289 903669111 681097267 848526393 596336165 705274325 559774525 49012725 910053133 682778949 679240743 937849629 527279121 732029863 210063781 189914761 445845501 140181001 569168853 454927035 835545471 73807775 440456509 779094229 888700977 562173119 827936713 19359145 813113751 14290929 47459277 831298225 631417369 856975073 342433547 377129735 769522181 712134493 462646691 314591861 960645273 610635365 74690341 964215915 905485043 167754011 893894021 541478143 121541405 127055305 856358435 386929137 179577611 656900835 658803393 999537063 995912593 147357189 84474509 934875185 917025653 352746225 508582685 556447303 522557533 819955861 409963887 811081799 153120221 433067007 252057319 60732217 570648171 539119983 409494097 690301901 468444267 225548103 641105637 236405591 341167399 425577747 218538815 663604443 636269517 865538691 115521123 698813947 956917879 55790197 349122241 309803019 776932649 400103917 604813613 254960385 267380425 513820435 203149795 777102969 763439659 332816957 95531913 531090623 925362949 696359653 359839277 987305919 88964859 152567471 752441923 28985361 817183381 791731815 447644585 760712181 295093829 465142525 321456293 800820819 236303203 188263055 734651107 251219895 305269555 430874977 468856953 121552221 155951579 465602781 204420325 565076511 831581037 146965653 833795593 621591431 625243877 455558981 498647349 932043973 918830369 415677393 843966495 267234735 195105259 268982853 860259811 376510405 288786677 401976529 753524229 34213165 661487319 858473173 172124019 287435703 955265043 696598481 263789957 726324187 691763731 67125871 387667701 803650487 917894697 549322631 709476073 581434387 166538379 856616207 347931117 784297309 268409181 901674285 443345657 919754415 969332647 967337773 894854761 288733381 864123483 750093441 354722051 654770441 273643857 718948805 257776371 848528521 925644363 159026107 882392271 923507963 447931379 944614989 268344979 557068225 744141529 538443667 653489829 769216735 974472311 86449861 185005269 681862151 717347375 933387077 110675283 210593169 793091657 416389025 118200769 793703801 251737335 674581131 923562529 37331047 592589137 559556575 2255329 595011757 60707929 326973343 308713175 746033471 140293113 576582903 201835585 48084669 158208513 613616953 693170627 84580975 840475435 458881763 97856105 620022597 83669017 970342039 193544107 251987157 672660561 194631199 593648741 252660831 186124105 185701231 892485083 324966857 181156183 54794659 56552637 177654947 963768509 351367677 947387423 846967587 436291749 243101929 402537597 375744811 424536607 523244795 937044157 943370049 598640933 753371117 950133037 554540437 660111255 74093475 549845633 852181243 118531649 123724071 184017623 131970039 898090451 64746413 378639541 291165611 478928869 703892881 891510279 724931819 346459129 652991831 637514531 501648685 964811895 612675751 872219079 719780749 850186163 1525591 455399445 918383063 891675877 138545249 56578975 701702519 818348333 270238441 281753173 67715205 858156183 236459323 872558489 947466433 263857425 168062407 103889709 120672915 962575735 13159467 843533377 554639367 463632009 775285291 669550695 729438167 25644017 796065455 969873055 515769953 704363327 674729165 764619853 657290927 135683819 107780801 168222783 113753451 634303835 821827819 727891881 768998385 528839123 360000727 284876073 156695871 545336713 358930491 202463173 729941755 5810321 839234031 245006825 451350645 772428529 732802297 360771179 648680869 740914577 708990339 941170567 340732457 865573695 759602143 774919139 931332167 920351673 113524105 837160333 874388979 489362077 322908197 757122299 886197183 419722871 77825663 388944903 292515823 611536821 327096201 894808313 250613605 576319923 591635293 909312383 366870709 365940143 603691073 561793451 544229651 743461847 335949215 836003581 679461729 941218871 478237451 788404569 642719525 270205901 293764413 832900619 976687501 108758391 291620125 362697419 862105201 324350207 309952689 490361013 904425809 520058391 558928433 200615245 665404499 955020633 155672823 600782723 796218185 274665285 609678981 160624299 235343527 767570243 155298695 657998721 397931149 902699687 606736591 75911467 355703747 613645735 155443291 656002615 650270905 142589543 652717133 225406361 388549253 473680367 613533167 468953009 174536165 804777777 283477685 34788673 875495491 435111431 304102715 710750839 642000045 256896047 87603779 541868521 983544027 428611669 202117049 695138195 821161515 747632907 782512561 513202653 171425445 209005511 251838821 386462353 466419703 592293869 813031991 655419367 589899387 667049925 286736055 93720955 717305901 948888449 897002387 553817937 116498359 90418235 100632745 697378009 528903013 172477681 558235643 897969125 636342323 713476495 182633141 955822005 166576315 943034855 68015147 528704493 40833097 349809327 794559703 253702043 755612105 883067531 381104477 208771123 848965843 696594691 657289095 382964371 893899943 795214217 367294283 346028033 862814507 375031925 292264385 349512489 355644399 424620041 170251311 300326175 50602283 919883119 156263677 410885221 380509887 928757177 653036225 580925403 738950959 291277021 821447989 27577297 24175789 970657471 963362365 207089917 490952717 448084519 396358885 16862585 255201235 206032325 688330845 720710095 775408419 358957367 511840517 330184167 441644749 418897401 526809435 390476313 214292041 817196663 842849039 749347363 523360949 240096001 526001649 615673385 326652887 398339281 470810365 719146423 930748195 562633481 646640471 854524613 118836395 193677745 417227595 156757167 844117553 322756281 614212939 969787707 106610205 201221885 510719217 599244181 109992061 938782525 40033795 79422801 685797383 274201891 263752043 941004143 524760349 340839999 386271803 171685717 726915267 787720459 625663665 609813965 673689515 135690217 811199277 667095565 607081259 54619681 749868861 920109747 959168067 809668323 244597395 534317765 968463513 955257931 345097 24024239 52260223 804716633 59200165 541313863 672609513 422934519 586576017 132882123 838972023 766967797 456138785 840859103 106137713 428639245 19260109 281712271 126323911 486531553 872678973 970448211 638862861 785402871 588480313 597799431 896981639 520655045 747471541 296282863 494394137 99251105 307038925 854428601 760842835 297845197 223094211 800068221 76523371 573889905 778313987 729462453 211223875 938607777 482617887 251249735 548924769 625223253 131504597 8708737 723908851 631680877 858009351 700105495 867602387 841463221 956951487 279711015 284729725 132804315 375739441 398291511 470308891 813078395 822817209 55195443 616260985 490362901 779230681 65954161 611489299 240036369 101491519 849831341 552141827 144954563 289122489 617681677 699728917 216625763 61271111 406848033 422907061 724129041 25621515 776591833 474390779 387511257 316204879 313391767 594553765 995135401 210197385 462180637 457100319 9987165 8757073 488415129 777764211 928684469 256785771 311051939 831973723 334672473 774228421 340739123 923113781 524047581 507895407 17320627 629551881 448417463 895262885 121832943 242393223 725961037 222324683 866521627 530480645 215485155 149210731 807010005 464834945 289753005 344826171 748253217 368405925 721099973 166390291 335282543 991353023 712505131 244083447 303334035 848545223 562091207 187983637 720018633 472213849 690961771 152772029 407587255 576116417 143464403 88922987 113703019 997029611 935139485 72364227 179839067 695415665 348841811 178463633 289856609 304112527 182188905 230864327 598051781 304789807 129218867 42165887 581114163 169730525 771805943 773204735 406298561 146239955 986338779 109349809 30863341 639486705 544629489 698412327 940894875 550245307 105127477 755728669 383479319 227449955 535501701 13724025 938332953 157406655 305185195 911833409 765187005 923002959 773448025 200750509 958472327 622907705 112998441 919418647 355759975 289815887 412331929 326432257 850158255 951572485 493294101 23440405 906988063 301979771 976484335 416842539 916285403 387569785 414669917 367789113 895979377 842856813 997900931 500122215 294618837 702362481 38320233 909130749 109513061 238421571 187972609 404256623 367157991 587694151 457606691 100202071 457784455 565643153 552546195 941574267 893337563 340111575 827619831 748762309 664015839 230312055 270230241 633543753 92041723 162988919 957086411 535658305 617111289 432232075 525649431 434441231 438790161 915475717 179792909 458738241 567411165 155898855 826412511 980491659 428411239 162242265 253405605 667644611 656601879 582096167 812615523 128030963 372059589 743309005 526397439 391625793 146492847 102038885 166323787 15791873 854582137 562952505 227104769 389245617 287832881 235659321 928102595 161615603 529450827 588016379 343695129 2956945 649483173 962265535 494527859 235394177 974556803 800696171 174663983 740599003 586671509 249661585 47838089 371908067 71838447 136528483 5167277 18256645 480625165 569243591 343083691 688040917 987214549 260756543 945393277 336540429 900749973 187061499 626797829 452832657 599408899 341033429 125958153 794436461 366842169 68150857 565581119 442834641 563829439 696397953 607990589 864209691 936928385 309065291 918222469 302480335 638929879 304515103 42334337 739986325 457001337 2542105 664054913 250902851 84290193 438569221 636491455 884714195 402660265 965089103 96997725 477332075 56442809 251181585 129872225 724674385 509900061 582662151 188805569 232103165 782442137 15858841 420678227 253399047 467608157 343264985 33825497 516992309 811118333 381362811 773942781 766190703 56145525 306502879 245152847 456339403 630607147 552590863 781612359 240064133 464612589 204563895 724973131 757367805 659523055 623278639 936141217 977433793 382409679 523188085 482810745 391137155 292357267 507882549 190327535 964401693 638982055 985612985 742477059 18256533 856724705 45455867 407927197 409027093 893617533 616337049 492919441 394460655 617408803 114514907 587605655 158354079 411634397 918268591 749102671 288863435 307901475 518490799 747575621 367611451 570770895 922773271 792252647 150342371 831743273 135551441 872887697 200628189 598942943 688714859 895178627 778244719 978350083 618357531 561787877 677218563 949536021 92230083 114427851 444102189 839933177 846552297 672454957 773716389 31954941 959675067 197608939 397845331 362008277 966194193 877666513 664155711 897993119 678057835 72271501 517628317 693899487 656998385 80481979 439897545 389624453 373671023 4729561 624027973 311692005 810522209 383894869 868600253 939250619 193916129 452899451 543089413 644191535 184494521 730574217 870221333 390128331 382356569 750092189 181672469 976399493 189661399 619449539 171181389 862501821 446656755 576315625 233504307 107652149 866641171 563554025 342285919 357102875 261312839 331700103 575071637 557359109 441132103 870962281 996084929 730441201 588601457 466595107 253293815 794251329 932294349 40561195 90718321 914654663 84710409 994066407 482074003 364301749 641953663 740104091 510042087 151909545 336318507 178201723 85026593 455956903 574856631 743877791 718578207 37441823 586834289 501324811 878031327 521420259 580937041 761281445 589317263 822243891 174254323 828210753 359622275 590803635 822368419 460106133 718774071 958931313 208534093 975843653 158560331 160685795 458791049 730643929 648787083 301742819 90627479 771615683 609609965 787962297 451200095 139464285 586972553 784539921 504217965 438845157 281670307 25617153 625804283 172769671 450251689 816577285 385543401 670559829 273723435 674294021 164152763 161816133 616379109 192260171 883164067 580587067 424211645 204443279 574897783 413220863 115387321 791347947 899904951 562934083 660259345 325048041 323766665 917772447 181583133 369626993 760815549 239462039 544098403 630795227 67769547 493190801 475894925 414013157 528664273 877001183 156634221 967520691 572224151 82491067 165554177 79458515 754832011 539687751 833778537 724603705 848147399 215803531 237187571 880361795 626075399 647581561 770731281 413079991 352022965 618864105 457486685 597061313 700302557 892795805 807105437 243730165 446844475 269488447 221964219 584378453 799842091 687303519 397801417 517929281 105374131 853880185 918620933 140198793 940798853 21700329 402212047 710320483 753792249 634875901 195351477 84556905 823562763 885874405 547808873 621395619 664818531 410366649 572555463 52681599 148141393 210078331 953657041 162020559 295024335 589412373 489408435 896488913 685548151 427377495 90554049 248291373 443959699 964522235 706739829 422594287 68192531 121200547 133609841 826840459 211247757 636645591 482459523 964110557 634544447 698411015 569158301 622756399 664885013 619595663 141219291 561710635 434737049 441046447 721018497 471806437 596689667 69380497 484026103 45476829 2978101 237769797 831699409 460349175 119355573 882421701 902090957 118377345 879566771 976390643 947826637 737288241 866131203 610260885 286566363 127007009 318441769 981079393 822918189 750600409 276983111 779409645 814827291 17560389 361353265 751904699 798815529 51723451 772665181 376810547 653383685 572389111 20983271 418317993 254235005 906068513 223999899 162661973 837061267 238329795 99669477 432688217 941834853 836641237 656723677 490621115 841232191 489749427 698831939 971862897 848690069 403539233 531687037 677964623 975601413 896975183 460376989 719589147 714087245 199579599 160822359 376763005 689427293 863957921 650291979 370890501 649200709 861017129 945470657 931945261 302646849 297989173 462230057 976562517 532706229 405695225 208713369 239150791 737277485 209346835 662812433 615077047 234367321 8776071 842770231 218674489 550207001 750186693 955209307 581659219 866082155 708612001 850395253 85426413 343425407 30979671 783473953 804223445 889142437 813903759 579917483 248377545 672053851 571850579 76284161 830276967 731910209 393241115 920176823 489379899 354154789 623451585 747730961 688497587 178354167 507943053 732582385 416625963 530749655 257789995 478797035 180678113 663482885 693346483 911298611 427783171 227623149 236810653 565614763 433526685 686326049 971997395 718450137 882482093 727825757 970105249 432760043 335842065 858029191 820427707 584393145 205461909 432025767 775293503 698676675 686116583 306969073 401859761 249253167 348029857 596426175 718773249 601482701 302708295 999393687 733019009 770176535 579184703 652160547 777590771 635751463 676726493 459848759 100409463 284671175 158465111 313001421 733033885 253171303 369445073 360052999 183886425 357333533 237375827 840895795 104201 527653031 888030927 635566019 522919027 731233135 71320863 960233811 247211715 783632259 831687169 785692837 253343887 138109083 832358435 455965605 90164693 205627413 375159825 821923943 826555641 884983289 747279689 151329829 125750727 962620917 276173609 450528323 258109047 811629155 51746811 524479819 121326243 810746687 350765041 696587249 313941589 554109745 311148579 6571537 281385717 320462987 870664083 791658413 344222813 618982465 471677995 472771059 31488455 980553461 399438781 276286515 500526297 57004525 463589631 68161769 963890847 909395479 203992213 548913849 791146129 979375883 307249159 470294381 749601677 246856713 288696007 429269241 947362515 445918967 151406381 338019449 690983701 74750821 582864765 327176497 383759719 694435211 488652509 912778121 567750725 670203721 589177951 283249175 307628695 615975715 821724669 747399831 860012199 970523977 67704729 54547689 775177005 990011541 352218107 110903321 894184515 644214149 923670997 130838877 275360881 844984127 431786687 14925069 154552741 673830035 804334139 650213295 987637297 72793335 506173107 310153963 433718741 399995277 319694967 47598743 970863795 906188315 443667137 236813231 446784093 588490257 204392627 640259411 272988357 73069443 411962965 725163473 445698377 978667571 85465495 282954649 499816877 184214153 386582869 299683915 517986081 750894739 95883345 91102119 870240569 426982663 583493167 561794711 910463217 39002181 489939591 466160691 883669423 827704663 961807821 881844401 994290753 747693289 186746979 415201911 386932701 152641107 146981781 91642129 577553693 203346069 473591441 54560817 460204297 486938453 464247667 27993267 671529997 430321637 282542653 69263769 805196543 459928119 271254995 346378511 705511965 752040433 912337675 264270695 450533385 715109717 269039005 201825311 253280469 972883027 116643115 667692759 557849841 5010821 309354043 245701213 345309759 203278121 246592323 627884963 956747011 114610213 525116313 493838021 478004967 741928201 619987583 77675525 926689285 373105931 378193437 543955151 321747415 100398349 570080391 742381751 360441923 977028757 981318837 15703671 102595221 71524561 441485191 620105969 564151431 969722779 81922249 776188979 381552945 887703151 843659817 731418225 325747225 931487607 530184771 569459971 430779439 315403391 671754647 661314925 660760775 533040641 32187791 712238683 676350623 761740317 132610425 462419105 657245401 883613591 656750995 734349881 311079429 596526305 217654781 510363463 596571417 796566291 652456893 332126997 714291823 322434279 483550663 816169751 912485073 560931275 501724149 749124585 689557607 843654857 404252167 909335631 14575561 449338779 159529637 849985073 819161333 959562143 608800867 887708069 505399887 304589021 639862969 489295845 658339749 986619141 333908231 385990741 592000811 469347437 866149271 316529537 721270397 604024083 58505883 687175705 418475941 212322721 977962797 331467771 972449293 617571429 375512653 353058091 30491531 52208725 156110307 810907345 571822939 195145235 20335043 185933379 906619683 40246501 429541539 394915837 993127409 358696889 146614055 146444447 646888249 973308457 137539289 926672885 877835227 131945329 639192871 452570101 293916953 695115131 825732203 373771705 238044577 789300179 960983785 931475585 262106249 938967219 5712327 96292029 888529487 16549371 522190361 719323901 467744213 896366127 202736597 434918655 375186285 669283713 834817759 768321699 928958921 704934087 251864063 527340279 123439365 650575489 191768039 253622573 4491179 547363285 387863089 880336799 598571939 38676373 890856027 476166867 650443591 590069043 902107857 931151475 922073681 580973525 19665893 909989457 438852327 386999101 153157837 146644331 554863767 126047963 31579309 745702625 323823957 772065993 520119693 199685377 777328255 474063043 813458783 971562557 282221531 669835059 611267837 870349361 23061141 944067111 786502949 518021279 379939395 180559959 526131075 625686643 215887841 703033889 437722023 317027519 827929815 558105227 86393869 468392385 53468655 20544585 3068689 696186331 403938911 374470317 329125377 873117847 875804871 967616185 36548109 960629673 515791913 322873877 335041871 596379629 459609333 379441165 838514117 911969381 443091453 382141083 518920795 450481981 800217985 166727519 27358689 404218569 989754405 881367709 225913873 891023491 953531381 597108807 397395085 172134927 386749801 801453299 386076125 788926519 38826589 281850593 204661875 954968047 818519319 371533047 771371943 309750611 458090819 136497093 340122811 342983845 199971575 575298691 497783257 10018643 893646255 664369167 945604369 406250221 702286673 287825905 948891997 155544623 778204459 488470873 674099615 595434493 824366321 404488733 247518623 58180705 104631235 163690427 539644685 320195983 789576483 644301917 542353029 209676005 783828991 190952913 308886663 773066209 488508333 472737421 901223549 397154611 489783531 608998579 661310391 66286507 194859229 220471049 884782703 236891973 704525839 23953917 284138183 588145701 918433657 275146407 396972487 445927829 810439543 291813833 225273439 520108811 782921421 765162181 610125931 331258655 788134315 703726255 699540907 464879767 665479843 738562875 854177993 236138333 208534965 232098249 385396821 21598595 33535301 619677283 436899273 71642181 328340257 293299891 617893509 840100103 504153981 35725077 42378965 281033301 723554809 306587015 33941735 619533025 16208021 542440111 882540503 721812101 854157509 598760671 542423717 998469959 548977751 915100937 10920251 585804369 733049487 887406547 787296103 363390197 630778637 553681535 814711783 248334257 821210339 136067581 915797851 197304101 762285953 57139175 840896329 487411999 412583881 46093689 241667367 909810065 722223869 504389277 957398857 479489431 337161165 732911841 230406645 597396083 807087947 901375099 833371731 225720977 700149239 947678029 474287985 10377859 829200565 695420381 294216013 37679623 24062929 617649241 125966789 338502909 813301763 802097049 621920677 137142387 340260199 786951709 193286555 432738715 826647171 814712589 794395971 420123345 57687363 125198645 865540637 294307479 460163069 337305615 822984849 478045337 448815725 488435899 437695731 847387819 892710585 434490621 248106105 573402567 823133295 964441671 946489415 626475793 760773509 82151599 398429799 529012435 252810581 577983989 390418119 985998209 669218215 248336511 770012227 205345975 936317865 935657053 575225241 235986999 991105261 965582407 487516789 371041517 649409649 915372187 364402281 484013549 778726813 830328929 169034733 461221745 145082685 61838407 381450593 123250141 134012547 147819431 488906255 122460347 435529233 322254205 472748329 395806145 641445099 68656499 551298761 39555015 322922875 853372119 600306925 829613521 167325851 243935135 64318593 916190221 852086917 217833837 140286039 67500235 390536159 265905287 209267237 509574023 592377527 801591515 812459919 351018469 773562241 239979777 171955485 747787951 457983005 141751097 18559297 64074459 999040715 332036203 368028501 298477185 163228989 659241251 990300311 648015847 619220359 317141659 98131763 217479797 616462119 736040883 833012027 113704897 270733311 182756847 883367333 9870983 68392801 406847105 225949013 467020711 741142269 437747007 164954643 827537199 671832053 308793767 215364497 349521231 348110795 734926821 429101671 196008295 607353199 379910083 301622041 306575093 963739699 839293369 672084237 78128297 549655767 683932649 975547285 561340243 980110463 141734169 406893803 27031281 432992185 569511865 714966833 35624355 335921529 418977501 802327919 196839095 798141469 248852297 919872151 835541407 898669673 409772129 63029377 142529269 897972877 281689395 273498351 947250047 993888029 197088123 966173323 923980071 108120085 698240149 348881895 301323265 143922141 970225799 480426617 496855365 37253183 505928451 326537635 643398235 316886385 191537759 630799793 637214155 140778771 525292699 520540371 271127113 529599783 230394975 444988449 870900655 837267227 807232503 76082333 246259717 380178117 80811101 190900785 757915761 811655523 990430769 425212589 81275975 878976665 231731895 478520523 460205573 719471987 747441377 723124525 189711949 966428009 99070533 669010779 495963881 687457623 549623841 4453061 459686349 923788419 269252191 666777031 336511509 433727895 564664975 674824865 587459331 359685549 797118691 391015037 600880899 997034815 634571071 930743403 714299561 971568435 932010025 152390757 599685039 298950103 329865169 947759693 812459001 573032927 196424459 373672169 377864849 791327595 6433883 162775791 108697771 22951675 311929059 764593653 282578083 523981443 37965687 749866877 560541437 740890195 31938955 571953135 90457441 685218857 850938945 370209695 765329317 385022509 991661407 960459205 992337091 122769897 518660179 738707331 388651487 55566165 644397365 707262175 777497923 892078539 206024133 945954767 988776805 569824021 534314601 538595625 308898781 853766235 15400755 140863405 874089585 408961335 851718871 35390729 789337609 939978401 582209461 946404555 917802427 503904259 290926805 509830509 77477825 112126505 28526823 564841295 10913919 466162759 82153281 65904061 58378113 378637563 345426659 459177445 103904889 806116171 78586227 610804195 200044097 413206435 527975489 95988149 464802271 283284697 795937091 811195465 403956091 737235241 69640731 658687085 630774125 935024955 480035599 856712153 149073195 332316953 993840655 166604339 937307227 183357241 605875119 95777791 566764489 847755643 454872627 99425713 879734375 505223201 668007549 854798499 520781391 998382297 50684705 446510101 38757831 870949305 359831891 466307119 995322425 524641343 956816885 459617541 346804535 191842895 857070219 688455565 882492799 355746613 523884105 55678123 277817841 266119337 640738049 92553769 152522907 430109639 687161397 248437685 944840623 487300629 725533195 732018665 786371209 553516669 358736979 204373321 851913387 825372249 587357573 746686267 944594113 498860131 646800833 374553875 777286045 653362625 387423179 874373383 258927933 829793025 720595989 952275771 494065091 16997657 516409267 116052665 128054905 446903907 252965737 190727791 418442963 253957543 205865115 194789943 147482989 394782481 529622105 499664853 41374473 820359991 431282779 613378031 254287251 277850135 486330367 328674583 72053535 108718099 141470029 627579593 601626853 57958141 853863923 526171235 406364749 615440645 742174281 230010927 184162783 125836749 551419985 827636831 250578001 422879575 556163757 79865355 111262075 152699667 580302257 497881655 265188705 764945107 237693009 766969033 756096303 406217175 480583983 365104019 101699129 728122307 413442449 444783951 229178105 809978789 170165861 537518239 963683859 121131761 91918147 158473483 515909969 858799749 946644331 413357573 881609385 341433767 578230467 211519973 624260403 455097091 867294427 173479663 883872307 413225391 966270955 953898569 391903767 895830567 341809619 954303237 390073711 106119507 708984599 339547421 702628343 242516349 216718311 201840243 948205459 906352987 277266717 753630159 889116493 666559757 66151735 810717667 441695835 574631189 137046875 217209415 284909333 208159585 445463641 400984701 280516609 525860937 275896743 239631087 247755977 835729285 440311911 269434861 486979903 51427647 176450143 190016689 748125791 28067075 629916925 973236317 148436301 952780997 215449691 322596089 897886805 486584291 768404533 777088631 260557801 414177825 984680693 568286639 686772643 682542767 797717671 919573859 882646345 689021217 331850247 404458301 408857029 929725555 874169199 558131405 708753961 692568075 821642219 735070861 695070385 887561911 650517031 751477469 744084419 520072107 810008443 476074761 838298343 949260167 661141735 868230209 336305617 88926541 139212817 586692765 19996507 312939371 522525257 20146207 231041675 77867191 382817159 578535343 153212811 845988717 690468203 216902689 660701869 366236725 369376825 850640685 27855727 868132633 283863009 63227509 725313395 892775057 359364349 244255873 868287875 165275257 387735499 316259265 934697107 925352725 636340529 686631313 736024253 242461205 196165567 591244593 912992839 554783627 391234731 737098953 153425565 775737079 454577367 451227245 178638669 872676925 620702665 54449429 674276119 984165547 110655151 178761123 920006877 152582645 229960035 555464157 91335337 498824505 388652385 313433465 370389679 734862845 741373137 258629387 66818635 774517549 757747589 927868697 889669887 323520031 385239537 23966987 65340279 581864335 482544695 693747761 33319047 94690469 471470875 84830915 357198377 369425387 289285391 204581095 324419201 401587289 911114537 13407137 463291097 699667017 895236137 538181605 174156967 645545091 688784759 144420749 821244035 827706165 83136543 167261273 750839089 135876849 401437147 908106481 985023645 830961591 998180361 731667433 57871067 223771627 530764465 154185913 723300647 24788313 729355139 169123009 698398945 685163065 368477395 4035147 68866709 373833255 710482597 500377483 553566455 150827817 94280093 979274133 423695333 734492331 59323915 334829935 141648733 386925185 857050853 307063039 749974671 196240875 138270925 513922585 214977739 706955919 630873865 916777331 15318669 908875639 98261639 145498545 106034809 267673625 91971297 332971101 279746651 864397651 515246419 79420645 872620069 279880299 185753029 55853475 721643249 939233807 197517769 192124123 856790021 392221009 462565267 404878771 236435401 363914927 727948037 802236223 633932501 494929681 903106211 504040821 788593887 969322689 750343839 837643833 121902029 382397559 28017615 624944211 976852139 424824911 868049075 774881397 680390827 615257805 203302001 969045049 532857383 194874849 709638105 4358941 837903781 641805789 163608675 182574479 478607055 475284609 574225711 284689371 546153337 318491123 128979969 803029309 234744475 553987003 790708297 202619095 281330013 717231573 34531873 617431729 472231431 148831641 9954629 947220669 101172493 955595471 462369823 417440213 381536265 161555107 999664829 634538679 758259905 338630313 82835415 26959631 38263327 361843683 765913547 818834541 906147639 615198129 137495967 968066381 449871427 756766437 42651655 537200653 206195621 747637935 87647317 631507959 129338603 643289009 236166539 328757307 474139079 191660781 511512401 509512439 620401941 95596753 350268659 373358119 459468247 230439477 883924075 212912823 290897979 778258257 13581145 395523959 42603151 298122447 433842689 61941793 165282387 284061883 976806485 70054487 896409897 860483977 153688299 818171553 204470747 158154519 270637059 773869425 491322719 50387883 917140611 285814815 292472269 383961327 973967611 824218093 64602473 150321405 121399971 610720517 849565087 487728463 169391705 669458807 180824067 540904909 967568805 519363133 96150863 359516609 403178423 188146233 134109287 965387489 426019941 865415987 819872597 999939661 606650669 620218587 89444943 600028551 972059705 963666893 103412397 305539453 891677527 190506635 48260085 639484293 735413501 788418169 258079439 935159387 39509325 456599789 386395665 216897319 621470477 153027615 804794805 477774453 301763243 847807537 215333855 810475831 619137343 25523755 92609499 520049103 782904715 708311293 797002521 322024193 647142641 779039363 995871289 365537527 971818117 541441149 107439609 144017483 321109499 510021013 744469065 30023927 11499187 21582427 983953721 194586465 940599991 970786889 617294855 533390167 157858225 863523519 186399763 554567437 893091325 553664009 137798123 420681761 301976985 892466261 126542399 551654041 672545579 192076991 469521135 777482209 419886341 820951623 972165627 280055247 585128985 405824215 566487693 273900961 828458251 236477503 811498493 565853433 770896161 31975735 645553857 981640423 978573643 877920357 563527041 941338337 579618591 183528781 398436869 72782275 98325979 431277413 729827903 564970193 338750825 810323713 816743759 316126393 146287447 433209959 416183925 822317203 942816219 542936255 753016861 499923671 135075031 599733529 232111321 842868847 924928209 552012653 306787431 416663463 948718583 400155553 438431913 681358643 804955937 167915641 148192937 168742705 656828623 289473193 912743323 269842983 317460009 402325963 651778011 888944641 37762555 189135711 157077483 196455699 374510015 134742989 480591735 131097887 272848533 921607017 94807633 4357701 515014721 590909801 314570103 316179477 919755317 45265651 660472331 296646787 746890887 931220491 602199639 53291759 238533879 405749925 299941583 767113499 612380139 150470043 826718991 461341749 894066035 493910443 939264219 616452051 76090439 260296835 124565275 299689715 385956549 165361071 758303973 113723129 368570357 307616685 476723827 616617649 823438469 344485595 119984169 163168595 76468687 471883907 597587345 497938811 772016847 586691031 567894623 747290669 221335855 325935345 281239919 717639129 448108605 263357391 671221701 641115987 311370223 946456925 975171465 427005655 375255527 242036845 680969489 147165451 767390315 987180213 58152919 777523709 361726825 323246553 882225023 386404897 56262009 26934371 5892309 456991573 817922779 583568065 360825545 962212831 725191799 92302413 987830139 794363755 47450329 611012169 409068841 169889295 734803771 514602209 240487747 730870089 196068477 982432289 473831769 687121147 165495843 605737733 138541095 328335477 680744799 571817583 859687569 20707181 642540551 900450343 725124259 444872447 918588313 7348191 994520207 113150639 721893951 708063279 541194671 501930347 468348361 145329051 146102665 876715659 383696553 163215241 510326471 15400649 260526851 381102923 963858491 623852363 410786717 118886683 834481121 661655709 578326247 733812507 335907807 946990519 291854325 659911251 167490427 243047157 686102411 614603189 171301933 693370141 574172941 881000217 603935887 649990235 250449289 935149633 734002531 969622853 869246651 395935703 209313941 721105879 176437245 667756653 621764663 229712503 118211419 715140985 147690375 541751029 180988545 205042783 828810725 2598273 484431815 276196197 816409567 984767419 609307437 261680833 773334055 992840107 53580635 853204361 857816729 17829049 171299485 997941439 822110007 31645373 191897581 394148941 832710957 931919093 998992875 963445251 780175311 327153411 434039771 885267611 97649557 245512697 61985455 104392375 482851111 377514313 739871229 146978271 412624461 744507857 341930243 903178115 658935035 414125269 869160363 172432383 155981389 437468933 399042947 116410773 671066501 322139509 529226947 903306601 447693585 695543457 700280137 118750353 699569023 205097327 129747869 74645253 507440783 261987885 933344239 781638311 773578275 464942479 360459027 598586943 328334149 321097139 882259339 824510589 15689515 465043231 769750655 686746877 666138157 587209663 99486397 844373311 950500559 938280425 762976187 916164525 649888445 351060315 350462107 382912663 774390219 558873143 243661091 824016181 309342963 224232463 979051713 286994605 469510489 748924627 909378957 809986309 157346633 916645861 566927687 679549485 374909235 805197575 485733461 379137793 753419957 523960169 36251849 44081729 430923155 403813021 56943959 889602965 814256309 740820387 606598751 740686993 122649907 2548191 127524585 520373677 309581635 246091295 5358501 310973769 817293131 131262871 670494697 372764337 427861205 631354597 474760885 213709587 46084503 669788431 307680687 299785355 281460841 865756801 208855079 974323993 535268433 782347279 843170323 618896805 542145913 185226235 786263829 800504579 89398835 610849509 656992627 269241065 773209595 97184989 761914653 204701437 663241335 701645913 908413095 935825859 572560493 302997299 778173011 963823535 963526357 373525427 99517705 710443547 627811273 165313927 3628887 474037831 309186955 176618177 890348659 792298587 172499845 6160097 133081407 194592875 967108431 442658761 956737343 614545773 969823647 969956555 736235429 635354695 746952029 906677657 878150217 795507901 90622097 458221905 885805223 447647363 476656495 337310583 958510311 919061555 443281745 311575291 101161689 333944907 799629757 410627377 311098101 905359927 447941469 632546517 832215899 523490121 750428421 611377933 734454991 39996855 737356973 430487143 522151361 1479079 353767037 505010647 4741451 381491741 778132925 505746877 589064235 286737933 38755809 519848667 617405383 80379215 336858501 43969887 76450095 77012391 590088043 498777055 677689883 458788795 875350399 421141079 587445225 957122589 624246229 708120879 123466399 522027593 279080359 779377201 183120369 145666461 681575001 799639445 204444209 5699171 690030709 685536503 419543395 844300493 487772847 515745371 133656617 364411379 477153507 383202097 206921431 862782169 305706771 178268491 760846945 219571557 884242541 654526441 873759593 951248233 439159359 953419439 985709875 838366111 297128201 440979115 163297969 440259753 627954541 562907985 950756219 866723855 561550647 562721663 986593485 797295427 175263831 266402939 92382351 815170207 26035691 406717169 214178897 186492001 749622071 570155509 417399371 928311733 106005155 552046089 304439387 17239979 450819269 600214029 766392075 330973245 638869335 765357137 270022789 170418509 639344189 128097675 639920037 560731555 141068419 897209301 677644521 188251121 4954457 759216057 606240631 847874511 419506463 367954719 999721503 472755391 378836051 238412895 975370839 93047083 791711909 865534775 296731969 236684643 365137381 63584203 587872931 56719523 410232079 456683943 144695275 309174279 910376265 644047043 885012275 177157021 987235545 715487355 661913655 651808085 342646839 496220821 446084449 110684679 872746237 22584893 6749885 837060213 129017579 462012679 664254215 616135241 63006449 951742451 205720729 864234771 55653407 506621031 912396927 109244237 822145203 754252589 754744677 552808279 239072013 58285947 569911459 336274045 615040699 454732271 123422009 69404143 467859311 495789455 104101581 320562117 179509253 298532551 377114799 36174337 901540221 817649773 449327319 695637389 377231879 799218367 651351781 881371449 570464757 718873185 384693533 577712831 136044225 643614559 364064111 742193599 778720781 779595313 496213109 885990085 843715751 478705329 593427565 908523071 328852353 679938857 41961533 343149961 758902967 71442753 524005493 932283363 257502859 65853715 541494347 404002167 131140201 697582105 263325857 47598165 469655525 151448633 497721085 412183413 508187063 854709953 318438541 850858429 372781255 142622053 605903659 482036465 51250973 856096579 683885651 492302535 646580461 326141921 243586605 280804309 963377043 463803435 746278027 372868251 745986707 257371511 331904993 670789767 925951637 847429761 115691601 655161063 792174703 576427631 943861407 300136437 913184795 374617041 611939645 855557585 595971003 340686231 546935105 341115269 82109599 965912099 440970091 991094789 741133365 115098679 287329569 93320485 875105563 811443201 172045173 513250475 115707923 119723033 92828187 798091071 697733899 188385911 544040051 532041071 561971219 41511301 781107333 382098105 683693159 125995279 112545281 633957499 579686251 278485833 598538043 372747521 821430185 154075601 494624311 122340985 573310423 751253675 43349913 93904381 555849165 274190663 685428657 938716305 56352657 690253689 420865397 155815963 746240075 748687485 379140487 564352623 425259857 140457465 693879085 339052613 379716383 168298235 951677781 446230589 483357781 167141113 585371545 952621025 424202943 820296397 37281077 781155491 711767123 593589183 208309265 899511005 481473577 868649595 165735359 506468557 868496775 336926231 917623411 916145567 443172055 434071825 272729103 479415397 689351339 765884493 848562455 25837845 178555583 516921879 798025149 221717395 659408121 604970279 842000087 913733289 430317665 933078425 270774501 383474437 565621801 761523185 194667277 408296513 744497329 21618719 827287583 615719393 133525625 868603509 934539155 419208267 981733165 126076083 473764999 508858321 436261023 291103485 405609669 502205359 46611405 775571169 746635703 430385409 504546775 994789971 589561209 51266519 880148235 70161073 123850183 271581723 750504411 119415745 262224139 420344493 194261987 572740783 839425875 362065993 137407205 285592849 182137175 997022875 945073613 662844899 723065203 493153077 453085101 242469005 694764723 552624269 826833603 832778713 862099395 731354887 414732145 802434815 796575741 151119851 451576129 998918297 531258461 479373419 479944167 231836593 368252557 304468639 882613823 367086255 372878297 606625929 357730123 661857899 495942715 258721555 334241079 505388835 349247827 941845773 565529687 671356283 886832485 259074099 21546533 197797761 559935587 71541281 957041219 985221033 729459427 987077477 747644289 189242321 191315749 749793903 685271757 737935933 779633679 298364567 455358533 877863069 93233713 331370271 825986603 424007429 134202563 627057201 480414189 689153265 253745315 169103837 519197977 207338567 317759833 952002333 20604017 43921493 408322069 766222035 204570833 170012881 971226797 857935047 509783115 475283157 942639263 158507691 284377357 764979177 133871637 684006679 202940533 999070457 804158173 866152589 529370119 884931933 615213421 330165365 558233707 682196429 165528551 885755429 292031095 137590643 412576529 10300881 742622247 916164825 139468633 258141595 487078811 521877751 301615063 946531471 848224799 634609705 893497163 290116507 169945385 793236275 979814173 902792859 547413841 988783173 113824857 615830863 470559581 741825523 285290171 479804513 210600245 623306809 389011357 502655073 434749681 872256893 449667849 783024841 373503431 864961933 721593519 564729081 497814301 113184925 617259237 384432445 493505919 572719179 160406955 283946947 721346463 63491229 456953255 206396839 799660375 300969215 937425193 857030121 786868397 298285895 673726249 203823219 502196939 671586993 415500357 53222677 864775427 574625509 522104773 511998601 489149395 380144365 550516889 901635951 141800411 380069953 380662359 981863761 637904617 642763195 782352445 869562275 522624751 636863651 241073205 391973563 437252871 839423399 290128333 185091801 964022391 375414233 713073979 832854315 52881321 726939065 93215329 576374975 586612017 223343659 522724293 1362829 3093193 450210685 921426837 767202683 554948179 203210339 501206697 13996877 628021981 117492987 453356929 460751799 42208665 233471945 888801093 336407123 942126307 359318717 764604097 590121633 224668989 993069611 295062383 924328201 892679251 836000719 978416751 401815519 986210297 116062161 747846533 768251483 37928233 503217083 559122979 785916829 31905029 993388419 53484127 238317999 793281501 930214025 286957049 415213699 842304031 304305295 845632343 249148147 647287145 981462211 72697993 523999677 390216573 839002811 847603271 667312783 343892295 814101877 244216559 9308917 598663643 219086419 280370057 877144941 954280307 665229863 32542915 94491221 503435891 673738275 8564215 282898679 979729509 58127589 417108513 604887173 569254143 318228849 331326699 595438873 287048985 562832951 410249635 619702449 579993015 451441673 611423807 698306107 127376135 672289063 763232865 735199363 705959257 171464757 232512591 326768455 473521193 313126209 843927031 924112421 476322075 393519809 111992817 462807463 40771833 890609295 911515773 355060799 690490041 155317491 963743875 371126085 200467571 182486425 880388751 72862205 434948717 649061015 989888987 475062925 573372943 867493225 165256519 653660423 262567151 927213047 821620311 734702181 173158345 891967883 131668029 676756873 908757373 241005533 155905743 87927355 188092439 404329991 35662219 889062445 958220749 680409491 328802971 336535545 123823097 669986153 700459981 64615453 44886043 982928097 813583769 652195845 118541539 580698297 300732445 510397185 43962145 545157141 449877025 616713037 143130835 729011587 311133717 356808965 923063321 757184503 835939085 231165751 332646977 201921999 844678093 204102867 833959613 370536401 43622327 467254193 722780199 633040937 751848415 292905365 31457093 255963499 499103227 186529061 296869377 696861593 738617703 864218355 321815661 54441235 22360111 239183481 649017799 489218985 607923199 529885465 669034865 848719249 874487087 24221467 618463221 185769061 375955391 975120047 102844935 576940077 163447383 422988017 945566081 896445527 728777539 844559587 947836009 774816437 205180797 280658537 805549033 822760069 378718629 494068571 612728149 343786351 986698495 918644333 339105063 990505087 637199485 480842817 425632769 723765545 557038005 507135075 999856051 286910537 534476773 842813507 848937003 490265385 827812599 926041657 465639559 346836083 828840057 217111175 111319561 719582523 772445347 329524821 697734941 417541121 519282515 605990585 264817239 14948265 990666001 905216933 337859953 59037825 667585547 695371521 586958925 470179135 294736155 893929875 26512379 279536637 821138109 877297163 637497769 867756867 765998107 88583685 243089845 443933437 908708355 418947329 579996321 757542785 117545451 724155241 707854875 949499531 822160629 893356941 212475379 104157251 20368101 420936359 31769381 314360371 160445743 227111383 52271829 745188947 81151973 160952617 553260877 418627071 930641609 965549707 973543171 832758011 853700673 923680985 809411983 846265463 578705503 395170515 98939061 299289605 141893079 297793057 842381667 408342181 847704841 432295511 777203881 846085051 658932989 674861037 345696451 215723029 474860643 168082755 983003669 913412327 66007185 753593253 991574571 976935631 791355013 954492993 310278839 725424849 819447785 522820915 817742483 329463133 46091789 304603771 545066181 705412935 829314275 278495489 648792437 270045387 639991311 2243481 360880377 442599057 426543063 719401467 4174029 904445091 565689385 498169799 942378641 153506167 810987423 845013383 869597459 410185965 229482101 298764719 90674501 521398599 488844693 384063891 47462209 152547891 19490701 965852793 763992909 590827977 733564307 997359751 342935251 909703553 212628105 182330321 45635429 378387269 17150451 366013775 741483969 663324769 708745475 713445345 110697159 709773961 83387793 303188305 146911877 554518747 660346647 814819665 85511981 422196955 983281603 901102203 985445403 900025209 93021023 404558669 824747729 452689927 473106021 801069877 849030139 178296645 644347637 300142975 648983659 851062361 207354835 53578857 252301343 737912781 7826799 397256209 537658679 386906775 781425891 836043649 472066305 172514069 544342253 298576299 552451313 304012813 412522739 113528423 588415901 393804715 210531333 440165241 295927759 364586117 272851931 577240967 8376173 332283545 884501459 190346021 141705867 313970249 294963699 120821705 210741351 194824551 592334319 306815191 286230627 652734501 458527257 412864663 586833673 899354143 945661557 207215419 917866765 457848671 725725605 432115675 737666635 454840653 970166269 124717947 760737479 353166275 166368881 449707521 547937193 862541307 127050659 370630463 714143303 217830811 709621975 446619633 641344795 44625327 822690559 495944373 595480265 121803695 269726641 748970261 194762011 961802361 770100269 239437441 172134407 580048205 770680923 341771607 349103781 20260061 177204679 764684755 764419129 154712125 547895979 434647841 369502001 213963241 807980261 922963537 583944221 823793865 647191807 522351455 158045369 369502503 748280611 600849959 874700521 566863291 493828141 373409143 156324791 140316319 63464091 626509311 914219097 629035099 676639635 986113367 277195559 571140317 980807141 53356289 308203175 658045047 125039367 372093799 18713729 193169641 879873563 948822747 921652877 443748949 872301799 882210451 65795009 845053005 923006169 242150833 793939267 46603971 660913675 687618113 215879007 89124629 227397177 802012723 306770565 588660999 565864909 429342815 187907669 177334729 724214995 174007175 305332879 705397487 250869767 115637589 832637469 228951413 577004995 368217945 430385175 164777665 943899411 154465293 29797555 930333089 971680419 732769235 640876121 924056395 344750539 201824241 756624015 941614169 920661387 263511965 698594573 114949075 431764873 202544877 879629997 131345445 803099925 579470307 488092785 652812325 547004967 922208617 900195461 400041489 640825437 738563663 798974779 400112779 486879745 453496399 986101777 908165029 339304701 578488073 971160231 13644239 979650541 872101129 729404363 287506155 963428111 271540925 581874287 108409661 83653447 374530433 338106543 759940207 167187753 414985365 742090957 961019035 354086379 141336611 950299701 196002107 345377387 202556987 233447035 311091765 206755377 879398871 499298393 334621909 342844011 875192279 994525873 91875541 663153393 730886151 436907411 456781645 729076037 132499477 503851821 869377987 284318089 818849437 566843613 824816423 895072145 309823519 862657061 896538317 835454929 607941123 750704049 592310643 703466603 893971869 418759253 98680891 481859619 820527909 957536267 819899317 453198699 760337083 812939511 604204247 773703001 728380265 611321955 679739387 977067693 305580579 513680835 83407851 564000461 563031741 911399859 420696271 297823435 129748221 559512311 742618943 209481819 567816075 556832631 934763833 691260125 709567733 901418825 588460321 49291353 885142713 517141415 738122437 68582013 71398965 911269365 153746007 401542051 706853301 418456255 110599033 76928457 868548455 445009589 204680239 79566229 8285797 140191671 82529765 574255447 867168691 415012291 409964145 251259397 32142647 310561801 504194831 954014273 983356613 951807449 778219877 805338961 899678485 737824687 129960065 503030819 384265927 742233135 829087703 277924943 202879845 708353317 606732359 400931607 842811489 352557697 392307987 475800157 95857685 929338723 381091049 764791221 875968703 396523785 217402079 274534739 733099917 39959523 246883699 310845209 357927819 243272833 835134855 62046091 844290231 616791713 78568813 789909211 904897263 717511203 354353109 184924127 308052733 836527125 792317665 434485527 228046739 412985257 122702613 526430121 957883465 903418169 725557339 454931557 159675043 665811787 923840781 685852867 917681927 346390409 604734693 120919521 9485767 939511237 853357065 897518983 199699999 825935613 742987271 83497253 265467181 43978833 685485267 375161553 3913979 655142927 387454411 383951945 510154619 715182761 676649653 306958839 855677317 988642747 946167485 929190889 986225627 779879687 856626553 724243671 434975783 474642809 952225765 809313053 69945339 70273061 839140201 483907527 251867597 895690051 207410383 450444161 257243649 352955707 380232525 363328933 772271071 994716053 371233667 284907823 683832985 637483013 881568371 182488519 837496391 346048359 725899405 597055167 146899179 202995389 315287715 165995531 827339631 991953459 816450293 880375629 618760869 68861981 701639719 615456457 931130947 739657717 912598597 831165553 596605931 607853407 44687815 92860123 69058601 45156645 783295625 776895047 721367917 598787131 598236369 121257883 457795855 823200957 375048267 5325159 282760273 796741871 411569931 724804835 69992797 605962809 316191891 26611949 218613315 509704241 355529923 527004941 754125823 970130833 553353963 561936499 55938413 703298877 645147839 817829619 855088731 807342399 114970975 487067665 514754681 378536909 754735693 635152369 805895263 396865599 181563511 533434467 740436111 668918809 659074355 925255645 400984179 283931145 661251391 969089665 406795611 983610591 722966975 364798229 85042049 853873303 102876479 956349447 814444805 882263381 252013239 751992943 201580275 94223973 380198531 332498701 715390011 404435767 548754279 799780169 785929395 806707819 856902035 146357807 209210915 307754687 714764185 155281275 510898989 682604067 570433401 458753671 647877735 37190311 636135831 559657821 426118473 76870535 338451393 326963629 184114485 83901481 321521707 749727693 859185777 62850835 168016501 532038589 544525619 623191805 707477663 206145571 201866897 815968193 206052381 930260815 109497739 889075551 851998397 48238137 444242447 903790343 910691267 786334591 878431723 8061963 117611215 153187945 919371225 328322787 195417843 417019879 40989817 344729653 852726175 703789453 971974487 83809229 573662133 621186207 304235489 389336477 855934583 822831361 561118323 506513601 441720469 944824387 826779981 380391035 887045409 293120667 896713111 568388919 128051355 251855339 917963877 782272903 106047975 408054455 188746671 787884329 304906577 102402867 965097813 272994815 25953681 417285169 170116641 336512787 270376643 572401203 318649543 205187481 867266925 764790369 139353819 449133547 696460155 60505991 640928739 698320017 544550211 651758879 206964805 680420657 3362433 907748425 854858837 290859935 963725659 873869001 438696779 47419609 856402783 152080913 488835655 599596033 661395075 751031863 681881427 555123553 319649825 701521145 502160481 399672173 422994945 535467203 310781003 757232065 545966929 698159519 802250705 192615967 294557091 705768519 596640411 618827637 744569845 375163161 915578941 818039505 413121455 469910813 409036589 771199091 225862045 1483521 695169487 313802941 358007537 335861791 276578155 184538427 774832717 647368563 783025461 768874397 540143797 919106727 247199041 319501505 71091859 377973513 927223189 433578411 406440129 391380623 679765783 374180995 832843129 88413915 162144921 366988191 995365729 198185011 341852119 745072249 886474887 732861573 219873391 165975733 709857631 151134825 835708651 889201439 589910983 326369823 281708477 884843687 995941381 509424269 75319869 62722411 361821637 779665477 916648367 895261103 447275805 432729723 32395833 569719005 323958155 813039119 731349485 457664135 584699121 758839435 77063111 26294633 370645665 518165273 607481509 339878503 88298059 243956117 357398609 356264333 844065553 444857213 502160507 474932493 930260085 991778551 536658369 412508225 198465895 699360211 63065247 344868527 365899577 831494281 544114817 658891007 595008683 196648247 129972407 181938185 560379617 739565733 409195389 346414019 137342569 518951235 403905265 515207763 26129463 190196773 566713885 774272773 191291561 253617679 682231281 520610123 982878851 84919907 916782667 969183169 46155765 923002421 394032359 284604713 219349395 961534779 675258481 354335597 737054041 419535569 167595385 184297125 837884335 975831811 963910521 446991881 545239647 419638653 592838611 464590587 688240543 783585431 780273871 417293833 432646927 936677969 656224413 539158501 156247217 870477651 721154651 537373291 724868083 839447017 14523141 531214749 858020011 29295373 709885575 716970663 648631319 165868383 709196977 54737627 490933211 346167843 72410173 562942647 331089667 688392779 17100235 191428317 130127623 15248235 656385767 615008023 585931971 420080327 811194113 660510553 651135869 696431683 67785329 490347711 226180063 215342959 957915513 527053451 83260163 898194563 752677699 914583849 430528355 751530845 307243231 537540397 614872037 853113477 720268359 162295377 50171095 99217961 247079771 418440825 296091885 594981667 569139431 283497135 340446279 338551791 121569689 759202855 790890853 494549431 111790861 521211709 551999547 400283465 207812803 571938933 252073753 169087515 592046373 990348151 920374717 807876431 168528515 28718105 277421135 472730793 871065111 454521173 437169241 493284763 289515777 585692239 375400403 268555325 780657485 187909971 235122199 164854347 177754857 280816849 965538031 824562733 228052657 507691623 800679811 689499123 391139685 71843801 902021997 352344663 977205423 463518735 605046693 900090291 211394589 523579935 172950421 28568849 214261293 72168005 186160649 920196385 748515645 658822369 804383285 489615161 973083801 93310847 263024823 146328151 996581231 265477589 578012821 373599269 696983003 891539131 436016187 729078257 146763741 611080503 459591295 872998835 140853341 85010803 766281117 448050441 344995375 199419841 151112253 795917371 381265675 771107741 91573865 470731063 113105041 618478251 822664855 398336151 691081035 494650295 761162407 762966679 933303213 913085363 836746971 178103329 994751755 555366587 395336417 848533955 352173739 453164303 614698191 129232051 415783091 860212255 832384547 355853267 307482935 269690237 2783937 355570343 630044975 409531873 646179317 807972961 67103611 265532979 361668983 402947287 844580325 820953209 731450467 796514697 940393503 886099691 741949503 134430367 780663491 660318435 815877109 657944037 530377807 89341411 564764895 57331157 598783537 383333015 135757239 65229453 821755317 263304147 249022883 586169559 13876505 128791951 544801073 818060061 839939195 182960115 263087447 805558395 760527077 333108295 853151855 956362159 689533257 357138943 249094977 499165727 808332161 193294263 532738553 607701723 875624267 313436209 784226605 612290459 716105043 931632985 883775707 130842555 667738667 697701699 675724645 649635655 925252937 893091113 260331165 13898221 352604689 101748333 127334067 857015297 596139723 879714207 636022089 600954245 731878825 68630381 404947553 831760161 960372677 185446837 149049195 837827363 42013725 367226489 948032569 781996673 658495645 17917157 314331659 506913757 255112981 112005709 382900357 41638523 3425345 700450603 689033909 354615117 150607039 679894051 392195087 873245161 11603481 952762625 797625713 60299151 257300929 203553205 619503137 814535719 521439247 169026909 360076491 237275453 77954373 247612221 168458373 807509259 965980301 566103997 328951755 401805679 236439799 976309619 40936837 989219057 699396223 451126297 825089021 39138753 940675841 59348371 860708841 886071477 100073803 575151853 549036393 209409611 856636429 373673303 444400383 643663277 593743583 365755185 883573401 862092713 996628293 29734649 419050637 397315511 972378531 954239071 668537497 602923765 502003793 797135667 98654945 189722923 624541315 530364017 596928243 455544263 442371931 957433663 979886275 472123619 635241701 156299747 453633967 443122747 951315217 418870997 124148091 530368569 188098743 12886957 486528343 356588777 477237913 245560369 414713557 166643973 791041121 17106763 373528311 573546733 149666207 654934029 147136285 709753255 162917069 664765621 931642903 365384161 304735309 100273571 339351833 415702259 136904551 597803109 529922755 724109789 595663179 217631917 943382549 702045253 760292373 203008853 562685827 429621115 138998725 167836515 92005853 974349175 609110853 83218689 654130017 66051031 90729317 151647363 301625527 282138339 831045599 806655841 400288233 113357451 57309779 26773827 288714095 433134949 489432909 502763761 132304165 751390127 473600827 115473247 628351823 513596499 710957945 669257897 51729821 517125087 870596935 955466001 520240673 239595403 292432591 374553091 697278555 630932021 681139745 576421137 5548591 816794469 672963639 449602809 634229483 250944073 549560817 920954525 207248451 888981177 650615579 567996423 304292181 959252023 193239395 886065003 945457575 907702501 274773861 115636773 55080997 998076567 913149857 341502903 153711653 179325377 991350655 65518799 516667491 227903109 236974675 993873467 648636423 146922919 394949205 473620987 617620379 34397081 319765413 94469169 161318935 260065649 456020815 312761383 76263893 912950255 295629889 248259923 132865437 366493817 238480471 870565453 264561565 965475873 492162383 835767257 80555623 86667417 545548759 80709605 412023803 294725447 433323645 439931521 152797373 98794029 583713977 480892649 346883193 631399163 3416559 703219841 853486439 199371275 220274793 975666643 872014627 338640219 656038485 208041365 76930995 342580113 989747407 280461215 51522691 905715453 288577237 484255733 503936871 506026645 137161813 884508101 156898207 829862651 402796827 689526879 772235473 901068661 152666597 237817919 861977607 607891697 345387345 466097675 668907703 122702087 409755369 138846601 195485631 309080313 712615967 315230897 414197861 189635241 15270221 580548763 540908887 646420395 341866161 50668173 504641959 93626931 58366841 230638321 889981907 281090593 352552625 824220761 206879939 890943999 104850519 644972673 133951681 343839225 274472521 701285199 568091269 182197991 245995857 766456777 385894443 344981321 219611681 16599335 600257079 973365317 750454865 577650627 64023705 886073003 789552997 575748127 860914083 440663539 573602755 478439397 700911893 347979579 283753917 576896237 261798163 525460043 733948047 867621933 919354155 591473811 438322519 467999949 719331153 141320745 846571039 660146453 126718693 238845131 926159577 781794169 880077735 303565027 148042333 25691539 981309643 795052671 242747759 280411433 927652319 254419541 118314933 756383525 72358375 918705863 808665793 271172251 424030275 427182811 486634253 763944901 865931205 820531519 427728123 471129349 882868637 889214285 798374867 973896169 598841453 366309377 197824711 734848549 216161079 534062851 825154031 153607823 94175337 250912165 63151949 393559601 100407515 422777819 688732107 514571057 546283205 304574791 908388411 367053285 699746001 286169645 611035731 728112581 166968587 745483391 890325943 52343929 534731751 927600851 120762607 244361929 131127619 460897129 535721067 892813227 39838053 104258855 455059847 641949495 979031543 622299293 749755781 676156337 204062995 132960003 522091657 750625925 376022579 67491127 762892459 959264583 689748287 894489281 741573855 576779953 688076673 221542609 5280263 885624231 648912047 231941947 435675631 442307637 152611815 75991939 630099015 76550795 979353265 49719245 611724711 932643847 649515509 292556265 406875793 338531885 284668171 68593229 746738799 251541413 932223151 902543643 846514833 440393541 140081673 368761625 425681201 873644295 531154341 42142901 208011375 538107665 550956661 519301383 233282391 253346473 812948699 817854671 226263769 197569351 51354011 724540789 703309517 73930115 159887071 155318277 18147573 884146723 899590465 317566521 222020089 499001103 153967291 665545585 797157997 574096477 715037107 324495793 709882825 804774217 499824119 316426411 713966447 236143411 832699835 532509365 721528741 510199977 365754525 708182479 370082465 350811229 828278435 9446559 256909177 221155369 384744761 177276789 387006255 6694931 599586869 916785481 438779819 802770757 966759637 207417529 514798273 196516625 517634235 240222477 936760105 592658931 265381111 743064885 382278531 46199953 74187519 193546437 941148507 93500083 837259183 377961729 594477087 431098957 79961163 267359181 978583083 530798201 597433729 462624439 740291519 275086973 8073321 243283963 236623875 674211523 81340283 570433909 949344779 416020447 644480417 38884779 79747535 972635017 151915303 939545809 962026799 758411689 267003073 669561785 245199605 333034823 541315213 589695205 133918165 614901143 311922961 489119099 183049059 971026677 256674361 878195789 886873893 991389155 793714777 107974863 528446851 680386573 593665843 722302497 897536203 829235015 154595047 933451277 30615099 987762315 419752197 18492415 414162673 530891515 239718273 418690575 854266103 939563749 477802427 759980027 749941313 767670461 325635957 449127981 750934435 597435931 204143581 646356661 474459107 522093251 388718217 315467845 945393319 737121185 813848695 492975939 24008579 348995529 5095179 380095663 33681133 873190773 344036113 692778815 938736969 812441353 737430977 970761799 226653153 666385935 256464311 23467717 127635427 116641851 428088311 504266339 347587433 632078955 993723633 279906927 845715575 648349085 314248569 179935967 471894003 376187391 393695179 48408917 124609711 759920101 989893773 749965845 445737575 981816523 766643661 504162067 45541561 794945105 200041983 378043105 603313199 49235779 975906049 735241153 620706107 715410071 551857945 234030233 734041397 129068645 657042419 145731067 734382945 489294065 356101541 773396763 640510437 993174953 457256363 838532825 459890899 276109853 124614637 165759167 928016167 449615625 274183093 317374455 722041791 588250963 820704443 573832797 587148901 199518465 878070811 42481519 326502091 898582091 272757593 763993427 701403017 185276041 994445667 139378649 964393249 28255041 588508049 361125753 695415549 477426973 929323677 110176849 877716079 278718191 426509741 682085673 245277613 299044021 900538189 150740591 225620187 120906383 13451381 433340221 579485441 104014283 87419777 930352719 922344207 877134811 403238711 615052047 504446179 994022233 678300099 969429643 644648505 647987979 705575355 62128249 771287997 181512923 534312219 603758139 217281535 581964507 868220489 152169431 229706873 217963081 785461013 548527355 77664909 806446213 3452847 282908159 707061379 918557725 303685047 181758179 641135757 130689987 356837173 194705487 835164099 626397523 104661393 180650127 556605223 548425935 529584803 642165917 882948771 598478691 914761129 327412503 420561927 779951715 109493317 97562439 789997581 599774793 326345097 960557079 218564439 64188343 951742695 828338467 920738155 555177595 742007101 992071593 726864831 895305351 173618127 248286095 447395497 96116471 549917005 449520741 371027563 339158287 944417993 295970915 15651887 61959479 702519493 545370983 616642821 165879301 858881057 636336121 255186663 472090417 415589677 786719815 413986741 253994659 8880797 718341419 712495675 798919525 947430031 360934689 58276137 483446951 965074825 20627795 119213589 948917447 567199607 637518479 945193605 418014791 424942767 880463947 304866017 163994837 814103279 29320617 415161209 444624447 805528665 931566701 431940487 821288839 235647103 837039625 24796715 937631691 237835089 990493333 141839217 813645655 101689905 427702733 228684615 553634463 525608161 686207513 306791049 938440513 915846289 595239305 117532663 755464443 847809747 233563349 696298811 55351997 524006567 187486301 337438693 764659607 992925041 559718181 969477741 306052037 373757439 833566687 365133625 585460651 546788741 923008993 35163021 238656213 319190689 219968041 176559773 990222067 533053529 610229857 349922947 936201445 218134297 596506583 289254719 500383145 544495541 922022531 676449209 852177775 98708591 507023875 952028357 171198599 29086695 679842463 727504923 243273327 867393069 671260741 4136283 134271687 324586423 764235151 940741905 245259869 606104671 641317561 55344043 382151713 806447213 440118445 353075331 586381363 526876559 283198969 515461341 195606227 348320727 487936467 220067553 607596909 601512133 851808029 694825117 556773779 430183483 921368923 932031247 845250051 709745035 681887167 404193045 56724893 350678631 743203871 288930937 842503279 103008749 549468667 945377517 232346283 176940961 566670715 660268299 706319275 565179507 709494379 885817683 465036533 489599415 595481413 933785901 387864371 315668009 376380967 845831659 802845497 271801071 982683611 199516105 990458625 164527767 302840523 509215461 879133357 402216469 626169363 76909641 323605899 414886345 594283633 863534311 398186253 638001781 913937739 619520153 690904527 351278151 284572593 259824925 387090579 723110357 211144025 84031263 753445189 358181147 821615013 798498097 674027001 671497345 250445979 386285257 472797673 871675857 371166699 625134923 18582649 595149635 821790185 359381247 643104819 174338163 745134743 754432535 150272459 411258725 352177309 746193837 223718685 828158343 998853705 4218047 562633261 510682289 765524113 876223289 975872035 755247133 151150615 6361837 887391317 190554993 967901727 2542737 134226749 741807547 983418779 389002953 473670527 388448879 295279137 681145117 423098085 931392619 380203249 478982399 71169891 532994293 757093875 434101447 1115157 80451769 345612467 679149239 338680895 971808459 97342315 125961721 959016521 574577581 815158265 171934111 746373833 456355903 950953701 998522271 700931451 893215441 999674463 568147421 239510591 75834393 522955069 340612385 277049889 87618097 391728637 679066651 357304407 525876131 581572553 683797095 723533625 643483735 997333359 865963911 726592845 524499109 755060839 678929377 384531515 851093579 307210703 683858375 641232857 584334701 332233583 822660723 407367971 884980119 771724469 820164871 969233209 793010881 598312379 321934731 920587881 364704839 706461245 833253359 175086371 595583983 217417891 92966671 728314119 8491235 369711871 182996395 424817109 635825853 657355269 739181 874481783 338424439 918563351 707268069 652826117 481553273 62926905 794671501 903843509 393638541 547673885 590605511 468554989 586392809 174522395 735376603 763781177 67302187 983858733 491490553 873316427 185049689 384206081 410876733 762865663 104627423 304922081 373668263 357142615 713171347 688196295 936374561 227164543 105876147 624638801 489277563 553514953 725146851 376672199 995011951 177034419 517712943 742750745 833801629 277713885 109690127 1656541 393605521 721213461 134622557 989808209 882476987 701172813 717604195 673905503 761973107 938054817 861419209 904978069 10747385 887364435 645665705 257905451 439854459 868063183 490000253 229171711 838317063 877358505 939088427 755678361 678007959 110765979 664374529 690708007 761696779 877715591 165963699 250014337 700406319 243565179 102554463 90852649 316175537 437595051 434753419 567940161 341035053 37081967 951094051 678406557 6562083 814915915 283245437 305289649 456303355 856709611 910595413 970520735 921029385 316907555 172191185 769425195 241774469 836796909 961538945 124627399 713529999 338546029 681721685 845501833 446004531 899615725 432777135 266049329 784271455 61069537 127274833 321347621 984461807 223610597 12387433 362445173 707124643 89977533 278814095 599261913 359042595 308399185 672533179 748041137 693403139 439685559 304111703 573475841 509672633 841231913 147542575 631847801 883576747 717337355 48904823 243076211 947065117 866980073 307054797 699725037 890242883 971073139 302605621 212163979 125749047 679368583 663117087 177281697 781397495 881411625 100883551 213418789 91095409 978937217 972791857 443973557 44470129 764408037 753851963 257658777 661066421 530439377 142018955 490607551 383640027 828322789 931164055 525015487 291245165 543349743 157308729 455571673 788469215 392398559 517036985 542186229 507480709 310152149 532070851 291526561 475084965 90026511 499695213 575489299 914702181 338665981 400670773 723800875 557938135 499439151 564300799 484698227 883681271 685151843 204935191 496761623 658367395 357466745 672123189 531088879 797767077 49279871 447861109 167930235 449051823 760516775 643405659 19799265 567959131 855870027 573192407 705550577 59707943 756048625 913089083 981963555 872512639 155085891 324763463 876656277 17751989 587997715 833225247 320764175 823767295 415360863 947659857 761260033 808064385 815301447 915762129 756756353 171593027 126865945 364287997 256731981 602947639 207242823 692919451 719799759 661791029 45776749 966688983 483748629 678455553 652839757 954600519 138060245 345181505 337924307 455549415 765423217 609030535 988346641 486275359 539352559 617509965 437560901 213601465 934879997 555669493 321057489 822759917 765987573 284572615 133936703 810796373 737161427 507233525 131992643 960219131 242939455 615223703 678390713 702577223 664103563 434283441 406046115 304709905 223125931 723443241 603984429 290494103 627979583 882782161 376098219 967410557 915240337 822674019 386369943 888318929 368455309 967582593 553375125 29528071 27971275 719481779 23183983 174392317 496974987 842038121 219256601 430000631 890882227 589117953 636909487 14485925 164737491 674182327 804666995 192026907 649635619 856366519 97155795 576337365 955882369 566977297 255697503 803683769 617856629 209542079 762161107 68483093 44147503 261858979 127382035 987183263 479677315 648811907 315267369 882066545 844954357 274848789 851962697 79970579 703117737 323634927 638628305 780320113 875470189 159504019 281180223 845235939 977961661 293162603 336799043 425468449 367027125 561390023 743180717 205289557 545288987 660657889 895882617 643029001 208118115 618528731 343559883 678334005 263149983 972643259 988453101 449385781 657445009 756345719 895741269 284455885 311344033 220242149 990033051 396255277 517055963 628627911 944212869 201464041 996836089 240921287 108891133 767051261 573823579 179824243 8158229 917784015 917724677 195861065 883751689 654924333 511795113 437020073 135443005 727982411 216654749 996476635 11527229 273899719 108804065 515862543 713385915 282165415 707021083 827759713 418446481 789311575 457356699 738328785 586223813 199445421 437162073 697078087 120061825 713796581 705971699 303736215 795363351 55341735 539154353 408625273 70593797 708477693 93774467 979547277 428620523 519213151 383900669 325972831 673626007 594241447 336458083 308131421 269692667 337552925 6262425 613716963 504772147 191044719 734497581 676419633 78038145 799425967 953060187 276370031 522975313 153792605 478707455 64652209 196247605 462457181 454078111 220845551 910108651 231691005 580381293 624634121 467487059 573455345 955303745 438105035 197602171 543856727 200589719 56805091 355916181 477938867 537075863 309693421 956219389 916911349 562390803 541536359 244862261 973828977 225544319 724129471 867727593 456814563 24173051 907412801 241944813 715020403 957924689 912123691 162899003 16122539 238986733 1907611 385127415 428175489 694981607 775968413 989402219 430678867 910918909 62038047 313782283 726288617 763923353 643511547 668145779 475597419 143896011 147700213 922168165 928117105 922479685 772478643 998129613 684441337 311834475 763996361 4478655 304274533 334210627 393074861 428011637 646170759 479012733 487868101 30510931 614873745 493927023 427499093 820279011 161759521 456777239 664209553 990584027 467432763 26386463 5152145 957618195 252867407 215507925 153705305 691890575 563900975 224374575 135104207 724706685 419882011 829221327 164965063 699208237 157298103 793544185 862824183 463595803 701174545 822367135 116512003 976793067 78509727 886493529 241372019 147584359 879669307 571651939 661500089 723516549 121036845 60573349 867410479 935904605 752560161 600194481 127116051 976587829 185181741 952157115 660812689 547137653 735845837 521750947 673610683 216302003 440135913 641050867 504429191 664217259 983739595 296881877 548432089 669971517 645130027 522228517 407191161 558191223 39440675 554012001 73030425 643348361 648526909 671506863 703096145 620292819 794170209 754209759 823397795 847054291 434789863 224634473 160486265 330266937 292841613 142968683 580422693 193944533 909575287 347932077 172502493 975351205 401264179 137387933 650940613 757762249 909486261 105362005 140233701 325507727 595739227 993856145 157535791 130311785 624074219 661584315 624722299 967932147 429018513 497676001 331254667 866084077 320314849 495891385 51156745 56669767 371199709 335077285 362222213 597124883 125104357 605298859 947928953 219178633 695596489 456664185 45941063 285570065 525806015 204402535 299916855 786622003 77681249 641740661 565482107 977068963 44019639 464688969 322793771 25928765 98669869 222746421 860354377 26863619 558484123 141334061 420070079 661445153 366499129 300638929 370604893 435004905 351458993 987790443 565166045 597775833 873556495 148357093 540308193 636387475 613042887 410659035 907610607 348545505 607298997 363398283 217922173 654457271 676256291 385299163 264417505 678638897 972332219 653426011 847502173 696151441 783087249 927129667 500941595 403954499 270818853 501390705 448968491 217077979 891436123 917917037 167031175 440139283 386709889 57485925 113951247 259460303 836539469 952017203 34464655 812018201 654671065 113320019 897916087 894796581 10359213 878886639 482734879 213854799 947380405 264616917 904033865 950685723 209929287 214536315 578352285 544720945 480588831 318783491 420885615 409327719 484633701 18141745 642511095 546594231 942716579 802022007 762384727 556846917 373085905 116570859 845890965 772754267 94664267 407006029 492138407 698199663 936580309 205878277 814696033 542540825 121435549 651187487 61807753 753572895 422639163 330813781 343148999 216724329 656893353 415034631 9630123 843072269 94631245 866115385 181479085 163890501 533586931 177490077 800228147 623246967 12783829 458458247 593944705 172430889 984039563 43262971 809482189 554015763 195534363 818733725 189161259 504697101 606994421 696620477 160789153 800176669 477814509 633735507 475378967 491277675 862934335 284325629 844181851 611314511 157099411 564904195 42770731 640260415 859827699 822779219 767041573 803835617 173193941 763226247 360195285 559228673 647432729 187477723 913044393 978948753 839048193 617004857 757996029 676904875 222541883 954132525 706065167 921690261 463646431 749944563 172646669 819055801 924778341 100122725 118430723 294704553 904462775 962517007 267682031 731014179 64349985 807626013 851680431 500369671 363063639 250654055 685356301 1571427 73633653 755264621 300593597 658047593 487927045 614585943 822308691 311539317 866101489 332067057 184013909 404355593 121809037 11254453 252454953 918227921 607096473 559835585 318783523 519239839 325686331 757840605 709254777 871883889 799889405 111643769 695351631 524164457 464947413 22485419 117224365 866298577 682767137 825351475 763225221 312436765 643060647 384918135 342597553 662834153 228323475 907942023 888305903 961881847 437097595 354354969 958072557 743043379 977811293 470928271 742662711 733885617 931129755 151320559 185078857 797042857 224123655 306083815 356813957 738281091 718341075 313454033 556773173 463044807 622268827 840345001 799925383 981012011 743119465 426628121 236777365 255706759 93732773 232128879 769655649 383389663 400023337 504941217 842729429 982987103 280450605 96021585 666304707 986420827 511376477 133778371 707535073 671744333 201772735 334476265 546587859 731077849 175258829 889926745 365013537 82734793 984182629 22629459 993858109 166568723 948103623 970596285 49107327 301313743 365353637 863502377 28614185 647422273 96007955 977722827 536320357 521883863 218341261 67729027 63328837 260867105 813484283 391389401 675761343 978813659 634466727 77786877 700609719 281540841 90420297 221363141 703949557 791705943 609730811 15323567 65065513 69295957 783961157 785786853 38222321 567861057 36345365 731246389 686035401 420146591 617721533 571202327 207484445 915965465 171638269 534576297 291054909 154805889 798483447 759306163 315003491 161655763 762262077 431531427 225604785 577580851 296374465 88066705 229473327 491291373 548858081 636829247 880991437 242386291 435618401 984190735 807784295 74557535 663856241 280639253 727526591 147388791 64786085 277306117 342359161 823736229 265498105 427775809 111570987 536494587 297426387 506575565 171080271 803321015 771907329 71002715 253054273 785918009 297213113 132583745 761933391 589313039 682807189 850513535 497131175 145217003 555517085 938472893 271883877 342364327 798926397 648077895 892060553 403979593 135539019 217241623 74992381 283082747 60438021 912657611 416327569 519544591 391515405 266105003 187870463 197210115 998943349 721191847 692648681 858187897 861840557 368925781 42294229 891845947 595853719 522269939 156391993 119534397 264071029 837405291 637630315 759223449 693550583 132224843 556103853 707391895 207189809 520114891 926932519 793451421 111027869 249278409 927518189 233629247 705401383 622078411 401848055 694846011 515768085 319142917 339080741 761288819 645244193 602301001 510271299 474781425 965560169 968971801 151998975 401789417 107059053 770445725 538869 860046007 539548703 310905507 653896357 974652637 87251667 197297569 458215033 530580743 183806535 203801271 293575103 169176073 656531357 820889263 639630005 800235997 344899941 244710389 351514489 553735335 535617685 788593569 30364439 453849009 634580871 984506483 354412669 588953201 128384261 156641233 15584135 30590847 563718455 464053451 941518837 485723551 814412981 543814425 165733487 287973565 519500157 556278809 479013257 93567213 681282547 886113749 173347515 855406443 215748579 403347959 473970021 484338071 503702405 4865755 211725777 448239613 574900341 571110525 736472113 252837713 567144633 827968903 273554335 330072945 579129789 748734535 205495579 753491035 568749909 941295029 633782413 35417407 526394051 533121135 830687177 960778093 994678695 50158525 918637445 943732577 148779793 246870669 654610533 531962303 800167541 548514935 943160819 919473747 53916339 603540155 398981533 104299791 208790285 426338625 652417469 103776525 709376049 351844759 547062935 714330515 973041461 280449523 615310161 867369225 166067863 847574069 307966719 516041223 402558777 591723239 907131799 988551235 890824557 926771765 324253949 561447331 184890851 347967223 281842681 375589683 250990269 299196845 536932157 738341925 273226367 490833789 833493603 905079509 540078867 215905079 123466985 928595907 194014419 392231507 239701307 111359135 265940857 419622895 819241387 313938747 773857579 204183507 247340399 174122639 171406199 622270831 805664683 773874115 384661073 800624855 580373095 208680735 117131543 715366351 153552277 77601559 787058575 152074939 111975437 959210821 712359141 631950763 909462163 192412527 343074479 330495829 773455053 758743167 534105577 464672283 140559437 744294793 454759419 623058179 56294799 844172999 876839855 396269755 893676783 652489371 302257723 505021595 295043515 689975443 555256383 257620901 277813539 796877409 820271293 418643323 214712127 533616865 874271781 954163057 628753939 537209109 966528329 685669755 111503493 100664107 593475177 138134841 913482087 200898417 396303401 527974645 449669747 523954023 755788949 774685339 14088523 724509871 563644453 68644035 631415415 118911507 43650741 447305643 528737897 529510025 767207563 703625791 200220793 583713321 396019027 844183305 247024617 890599735 167029537 154846531 596016867 699649823 744445303 681350603 884297079 17017717 461857845 586226729 964832927 978453747 314966699 87785867 12893501 204547709 447763597 928690635 423996697 925782557 716813051 639048807 980078051 529016841 766129015 750061955 523504183 642658201 839904495 76122867 1904789 787592787 484552377 765965613 385092199 766139103 730568595 45087311 898860285 92389907 744870559 836220703 649495185 484853225 393025135 932919313 165432133 717250693 243584501 361737783 161761311 321255731 985904527 799411283 538730005 435281251 719873537 357559245 260887293 445128117 935868795 17985969 617601177 352047335 756628111 178546105 314973075 620598505 111352125 748024133 25204859 122196427 583769577 812373593 565213387 519835851 298503265 656555175 106328035 372768585 549912281 163793541 607503375 350816723 461698289 615148531 907942269 349265689 943486121 327941015 702392137 520617723 201186675 438804929 912752243 65121657 780285731 817488745 479620835 887166397 947478775 248967469 637873773 50209055 652529809 215994965 427698633 362543637 482244867 573878737 988382617 476455751 202169789 578623285 332838243 61919357 936006049 909109189 433033371 886636457 675395057 351529827 316252059 405025259 766259549 481468835 786985123 527696515 271704311 503421627 808511197 908455389 493291839 595339401 768599895 600263819 294373657 111600531 987689487 621331019 724435665 822621707 280844003 95743231 592407327 330629321 938654367 40798641 901474335 451136073 358062065 111771541 104982103 803052467 62001269 622041863 314887091 766332377 108056489 941387913 788476041 487973423 579040763 659911111 562329237 535071189 791736249 59019411 491482621 978620565 502554139 397416939 937801295 313296345 102145605 500481265 686462849 739958205 99595841 46925295 545061613 132605439 411222525 303949657 656575067 776779013 994012755 590112971 119167735 7318751 787900423 867957769 548553305 892199493 675523775 360434171 669037433 66562965 104548367 426604471 919412673 826373079 797476463 491951479 776760315 373030843 954910271 127826335 92687199 407692437 353360585 211168697 389576841 37650281 527932223 579821433 903426175 655244251 936451513 79283131 660083115 523468601 49708603 860957059 673086183 62429567 849426859 71302393 926113389 828975177 364302557 100847219 98800355 165319133 605390727 598906731 608440919 52529197 627535181 974381957 850146109 531027921 917111991 912498061 303106931 158545157 541668407 860555891 411513151 561364657 884967719 208535639 92664909 55113063 635645637 346878839 306981043 259978331 957277501 235377475 406138863 861296237 77292705 965545291 645597667 783385893 511563239 412727371 469521889 284526003 683936755 301650727 948349337 55770605 576193165 821264363 211970605 525056339 913081191 473223369 467623199 468005387 473429273 495584539 855416159 927734757 943149095 373405799 988267583 115521881 975639543 853911383 676171391 456926341 414699995 247652029 706314051 37796401 640327693 169796757 542830873 658051275 251543727 605171973 273346293 464844141 290543305 700586323 703093045 752007891 501283149 506919159 868927133 431951463 962536979 80510603 967659357 584604983 39837917 503501009 80194057 178990329 13963349 378578869 820728477 878443279 703090955 482916681 427284353 808249215 270054523 7371979 880976511 837207543 890981377 612547483 147656141 799119055 302445035 907012167 443498763 497356807 125143657 896514433 792655931 51162693 870475923 438677797 497365195 873274331 94160747 284370229 82467473 684593597 351536859 356476125 518111435 232387211 371057331 684607345 368822557 482349453 251413421 926278505 921223315 996784563 617273451 662293869 588787365 526373523 233459317 411825989 342494767 878091629 682266427 30064357 316314743 239590439 539414809 232580457 967841831 307962449 428580943 207830035 891279449 70587939 42395655 93195089 812992391 588066683 18485585 929211825 225774231 437232865 421385255 267336947 443219927 128331907 434776171 190612217 195968507 241548091 33391843 483704013 435455779 51824517 321306693 197435301 776990671 23969931 104807463 404699097 348333555 165016345 818557451 481768941 660429791 433652395 487981657 858517901 769734993 577845341 982370149 153371789 161217137 173852661 341211751 754510823 551178953 288991973 762420353 191580863 10652753 695374659 374588857 817587553 820949091 661928655 761018885 680968253 520525001 680500721 295988283 230305009 757183659 784464053 198929179 70968641 561796003 419556821 404804179 136413205 487228073 117045681 8067953 862213253 727083815 390663501 851999983 642608327 181488617 264298331 136464173 503854913 133888547 676625711 824187253 349006717 276046963 296500685 441485563 215269169 281021919 578953433 281069525 269610805 824221907 538943395 710724099 336897679 828451365 246384675 8121459 303173481 893798929 306734583 973892595 334220821 357530429 997053287 449921083 840883215 996288953 589825121 536319215 69901565 224073205 18767743 826219673 653200805 15707603 65165565 574692263 125186815 412388757 170494405 549764469 971345701 636174057 482943587 986315073 450321497 351215589 325840915 317364537 78368773 339043847 389848495 343335787 400983489 129891123 257555139 443799759 467789379 740453045 943737979 878195273 612564083 486112325 2504367 783486371 617849433 946223871 839893215 546153611 517130281 384449129 133403953 788410779 543565629 524177773 29160311 419512663 188989723 553954149 887572517 199113509 140606573 410716939 657878875 477470809 331494407 347537797 622397409 531270441 867015137 234579297 175355943 508745145 955787299 830523285 723406147 42672915 932571157 344151163 247894003 552410149 916603179 17495771 248196515 961976521 759073281 593101537 683328349 38530243 311969625 412244771 368154841 136813753 299200287 205098911 463349625 499364669 369650023 853379767 345933123 822924747 422560107 393322555 571172837 641469889 270915215 859582049 984084921 812303209 12939101 129957061 315588283 905012981 489647241 445708651 84184469 810031485 103738863 727206339 17050261 27361283 266955153 864384415 798303409 759132787 140055197 584077375 718562441 37635225 193421409 967674695 115345255 971900209 972784479 436532165 213031479 547864797 335039027 398215469 781089937 269599525 579470511 287514205 861291445 439062395 710502593 423123099 596200329 326768183 994998151 389712019 972362655 688235421 313315909 191919451 538660907 800708819 688742755 527743343 8377613 176103659 458378615 85951413 828744397 696696799 186181691 408914045 421001627 545482641 479933843 380732023 97666125 679392969 690096267 969043909 416694113 344749625 902738517 898070761 40118785 499219833 757216587 990322641 16559355 310683659 832278513 931983571 988470727 343071833 334784501 599692205 177563011 701158579 98081063 776489091 313364983 640518227 567487621 752145123 455342225 918832219 641298735 899346113 520543081 549185235 270948721 852231545 221532225 477366699 116908993 76901077 947743611 47603649 432247225 921014271 965276971 837520849 537691929 927328395 562723333 413528455 413385937 697635195 824401515 151711859 948055025 374340143 175078241 703943439 120889015 881774967 418533785 485325755 493587843 864612487 972090473 810436547 289536483 505492479 995324113 868273751 992257929 950220511 534622841 580516751 264276305 867208091 858032813 3271021 544849469 876797699 919349095 204994777 542798455 882338645 217652293 533867687 445086295 363232569 376770447 813889679 275679573 361325241 584564533 869890611 911441171 649023053 38783949 201698329 632332895 646558673 491849109 764661431 783230507 685339017 765313911 337404771 489292947 762217765 829512193 98678623 405284825 526063287 445846123 216614099 315394409 977605055 561200019 414292947 263248087 778560545 895048959 259296599 73125595 38999851 14414307 878997057 416939613 262060689 433113105 958495319 770243941 606273393 729151755 60952399 12957735 782495057 79998713 774911421 421919743 27007261 108623273 789446695 572721777 640215083 87570833 42436085 372932133 326909751 209264337 711088759 649555441 397367145 371810355 806889957 978530255 560434507 454187043 523985509 167705569 401736149 868567481 370302203 697686903 308779873 547033013 119530651 948109823 119614135 88847229 606707999 472066071 237202437 577360417 781332039 168510083 362315741 624370521 293888699 348915499 954077759 933174403 79734543 774331941 153385359 800185255 136281787 499252907 37214617 878292085 997079327 194162721 68946069 796042563 48309893 143691025 193583135 953658895 300671775 862516273 386044477 509515139 520623111 755415897 871443033 288378349 558430269 247505039 386060877 787196997 76920745 154741499 92736851 64275753 983244831 934309363 835614995 615410655 958746709 367674867 249862807 31738203 253633263 160453019 990798677 197485359 392023927 214502583 165612587 985550493 232501595 833481021 466852959 683763597 419429621 587311173 137175199 308278667 299555465 763573525 575543293 298517715 952750397 131167767 453673719 722428223 987735077 103064541 174638709 960433499 251364663 387289635 123549889 551199059 429225047 598683855 873108115 389465087 597595725 574559465 750492679 614001117 463556043 744192931 929900449 41626649 398296683 224019805 491819857 941723005 304988587 105720983 817338729 224263555 640066039 304334077 254730665 117693769 664759713 293787233 630689845 146797207 133550559 977532353 763263643 144556253 990750165 91960893 645976271 672213551 674304395 727232547 60555825 3081297 541707507 589522405 646359169 248016807 743330023 506362143 267607793 184855105 892656165 493863827 79574293 556860117 820893785 446851629 671043563 730632645 72772371 471580671 168431829 342361111 343443663 579678535 20785315 167219321 54097387 197098599 833778827 88006723 133200817 96384233 841659177 249124469 115066705 799006337 590211969 820886199 561336041 622067211 950501377 450744919 836041845 374251145 474896769 57694027 904288481 416052263 400646201 131623219 362990333 476037945 288159955 21023833 725460099 609613625 46603099 559422121 274921237 708993481 821835333 442881211 503145787 158254009 31257455 215728845 853015399 774966263 948400927 123838411 287843569 88049313 337724671 282245695 709594395 94522361 109545769 828981091 913541647 31308653 297590039 943012373 69822429 220978315 197708465 517887965 3155839 36688405 518238529 709978601 556181975 903021799 297810557 665226259 929963181 303096595 770843011 465162713 396477873 761126087 328266713 234686815 424434559 72572769 86045293 218143353 228110487 301254245 995691665 425592733 298074211 705744507 367814915 988047593 505850931 167794297 455562475 542248227 209539649 24951899 403042517 27815613 719884975 967231553 96268723 355057359 141707397 34232183 598255079 132530197 797472947 632902003 811344949 129986039 690040085 670102221 207954631 384271239 690671467 433024075 350625335 258218105 62891103 192774613 759881855 642004527 83272833 588452739 172003845 592050861 909165387 320974475 616788119 862968229 833794077 778322515 550583913 795807597 469045059 533210983 618013465 347695109 951753451 358080121 557933229 772623379 558200881 110762851 632000145 11084263 128993813 479820331 530184347 155307129 757330561 614942715 122707463 872665191 149073221 445894693 580807805 26690297 428374809 256944423 654799111 218817821 213670563 782180257 7882013 652457069 979228519 136374113 23240091 199824935 768110811 203197017 951265733 666364463 576182099 525709219 908073545 705086489 343425813 634886789 776284735 155209755 855803209 145071465 76890143 289834001 975966975 755565283 584176851 460380295 807142447 58037933 571117223 583596457 898842303 398954665 621142607 202357329 355772275 571293157 578416617 856815867 829085439 496716179 34261499 762337487 692238589 416907791 516458609 364420255 790975725 922465755 291052447 858123743 689301815 741639331 939982663 87287215 646661167 220554299 690200969 736421849 759958283 524941213 699121653 261798343 855400177 864430059 603818623 602207125 136093157 454419317 257023111 2279681 410528219 54441641 130041807 955452017 227041709 273649957 64525189 702465525 11172889 364261547 545050943 359826501 842090701 662111783 439177723 941658559 886015829 128833709 569841949 119616875 307985455 241804407 62737265 456968697 62790073 955678185 102391343 993234621 188033853 763744397 299167219 626243771 965454317 723661337 110859713 150551447 79202275 729910629 77257737 132415647 363465501 443264885 30838175 522282447 85340807 306772087 738192063 173421763 785638131 779290299 415622159 770979777 778219543 897787325 415853981 670279867 524202391 991209249 909257181 525039177 396732413 740490161 786845357 578742439 739564471 598565475 200611923 907687613 187215903 612014927 190936699 141133597 142432375 769772731 711012155 756744443 582786793 581422095 466275855 547247415 95197575 22237409 805007583 781370201 346155335 916241901 702623989 56930961 725840141 807909395 698033673 560189621 663915681 299391839 210166071 381605189 796831669 631554567 730036227 598651495 704859873 998355301 914428251 693134315 557427369 68869881 521370775 855944265 605329011 924094835 198576753 914466207 617407889 820127651 873202191 112622261 166613565 515935623 117969405 233551353 626220185 910934847 184788275 180434053 242830253 951475737 225493005 623267093 126428267 242772871 249872721 782887699 493264555 853092899 423963435 435734925 236768303 304715955 480307249 396367417 407078305 724994849 114247775 507844217 298384787 432226177 874032155 455208017 706412411 19659531 417249075 442680693 75390139 968281383 411546077 599518775 329595807 354160733 389487027 689216665 895496279 808786785 647924925 33525569 856118779 977420813 773657193 492014209 836479885 596611687 50377353 710261581 878467831 484878233 815461469 679562309 643716105 893982967 212034951 927120049 411789181 485185275 947527449 601531777 664411637 674129991 833090693 299383883 805188857 572685995 38991529 68202575 738956281 652944917 242020041 303017843 361353553 144596387 301310357 184482119 275122497 603608215 338960415 917897219 612442867 914418525 306092265 525603717 129394039 249907849 116935379 242184277 274280647 725550037 226601517 787932321 413937349 742972707 734264747 874135875 318201911 762767235 143453547 871798967 649526739 664836643 765402611 870914087 348276527 978901857 527392047 462275679 243119053 733147071 369448309 901701339 348464663 661433067 651062403 348348085 896283229 616852149 972208251 558685625 66991063 979177497 874853615 97168211 935230891 820272699 149839311 6575003 329326045 290431845 135720061 359645265 528742499 878461453 590474939 877318109 576299027 212419019 291481529 341292619 246551471 302385763 892041993 224926293 940171487 3196099 806168491 187568217 11309879 173749755 259801859 37545313 51177775 969326663 362984415 757023767 506833703 677547531 712968051 899977175 209173099 863904467 33819229 420734879 738324009 342971985 864821155 530983701 914065021 664293215 902535089 462167433 727510373 458514691 344291163 477572339 335090127 169624933 145759971 990450417 413214345 845846747 121022185 762361803 62776139 364217569 895663997 858095471 617298875 956097815 700698901 975336055 805528157 845361739 12321675 187258655 399024037 592389487 833476391 553281105 898687213 416167581 571801495 560531097 897009013 241553947 631764717 155892531 126206309 739119443 312766633 590933241 913417937 434260439 819775661 114706295 456093871 618334309 828765259 226585561 320255971 708891101 97561397 854802935 632437303 361729613 535284873 828317521 33262425 753455591 627262923 517960205 241994211 701068807 617315819 304272381 485318745 861396015 929809469 866722709 630204961 401052427 136241533 71647477 79398031 619896173 624027857 527232229 883937241 830565715 671393991 553518037 129083427 353398493 878187091 918223579 775222903 235611481 694405589 100501173 943538627 266632251 753765389 941403853 572648417 980312601 114960687 397146673 706550421 882344893 84281291 827934361 367625349 999670541 142738399 363315555 638707779 244524061 77126611 426929815 460338507 845830699 984602993 859592163 770875643 387322521 160387825 665630113 920790429 878826993 104855535 162688973 184678755 775807719 273756783 515711761 562453861 341870935 90909663 731473849 346752679 479957829 451580439 42638529 365272335 888644569 111990865 345481923 641636463 873617001 831058995 548931339 469266817 185521519 104136907 373113989 608672487 398673295 490788749 83632841 421424681 620467859 822205271 709650711 323074745 205134961 705251695 287557461 416302319 957216833 397746817 33479957 639002383 356224327 680209313 340484235 531817535 843302897 950153553 886991255 373823377 286535375 358853233 951180993 898257151 795415965 977656145 536582713 610559595 281940031 884314791 788879061 175353501 741141951 19226765 410808083 899449927 232646995 539469709 460118557 319055617 679761747 571272591 787924161 483170381 675833413 281447659 499410039 681812629 956914641 985159007 376985181 830454825 120705487 835150095 624713785 757256771 688684853 317748103 813206911 819212293 618181417 942004927 414645825 463360375 832042487 231542291 438837827 176047755 765110289 892716873 465254375 57159193 71434001 709635979 240166209 658774755 190460605 739635315 879002373 572640403 182021629 247011579 993451413 206762169 400968169 440664713 391720949 643267535 212323511 879342571 202085079 839515189 861958351 519597143 794349969 235513655 138954167 963898983 458316579 320999429 202532135 674661155 112236851 163912887 311765497 51742455 803161363 546077519 427206959 215402169 221672631 677243573 666913013 347053735 365887935 204400063 545620893 480754021 144040051 286375967 102349989 633811199 227603651 89960317 350522797 266571245 95969093 868213343 449766787 108774409 161236535 964480309 882887961 49181597 671091331 791481691 742989451 802159185 908897463 649587217 330518043 873209407 146197515 71332737 86961973 87872225 43922267 252584377 363071341 862835229 182299187 57156023 47597437 214201665 723977665 789823067 450699337 463439873 8564185 384642923 731055067 309517179 677766141 684689053 625026663 102200117 950799445 766675589 440477001 491377179 685637293 596666281 471711235 94948227 789227905 544765297 729815873 578785833 439260907 521009453 719229399 442136883 893711287 22180629 996196799 631070001 513112145 701078863 659339549 650282259 215350737 387785439 183411003 221058875 500742903 902654139 484934541 683357291 675213609 852824759 898540209 693149905 788267383 222616729 2431333 178382597 466647961 841579271 248848791 540240127 203930349 844512405 34604379 709112617 480195451 609318075 200849899 687588687 509717235 505443545 728228011 406795685 388301739 781318969 198598183 621770185 147718561 808404495 138972431 744231871 157219711 433770607 948556611 551686903 685675923 400581471 510464705 861397317 729049301 49770181 488029369 66469349 184276963 604322933 340674171 719101565 8847363 565602085 301141123 923449883 830323241 225715579 477100917 747620405 715445735 364869883 725533469 874242981 184867967 216612121 620825963 29386163 96767449 948697647 106122111 999436043 402497921 414065787 856590489 18315459 779956147 940740905 342939939 411371865 257475145 401443147 746856371 725515185 48795087 881963223 12972037 382799383 287372911 711270321 925464569 153675587 532718855 54464675 926717085 108561745 508207631 430385243 281739555 943029957 686186677 625213555 270142437 305365391 466955715 568692845 299754857 546010113 620790451 79793333 289170777 961167323 973990563 871619991 48535431 609941313 359805787 730897999 60242673 246603201 528362571 564096511 927870135 348310863 890426759 525097649 844938535 921081673 867948243 679933009 598881971 592891765 825195667 91037631 768374519 271657215 69582039 953702327 451413941 509451133 2679381 435825637 61344729 188090859 576970095 14937051 273599607 586746289 200416555 10373647 871198663 751211929 149995063 990054117 105662001 238264027 496633323 973802917 448683837 628228113 811063111 445513089 97303711 686121541 499828211 952550545 266513203 443339743 202092861 784345815 504374779 817821623 277959451 581314877 911264035 906586123 425671981 192781459 177763583 953753471 419694013 883482259 153386761 269069345 857521845 944831199 940519653 488855141 415290033 211451391 749845341 387390505 475000815 874120805 26635109 681615793 304727895 962040681 524522265 754210477 989954421 833773133 705657533 520695089 22371715 681953595 436678073 943463609 320367199 188075587 84566435 955626283 310997905 250930271 499623733 708757461 88377415 599587953 948452691 34677869 545332315 506275905 228180999 927951885 467876169 994870143 782600071 826625597 371958587 317855945 756725035 844921833 805029887 832667291 112893559 872241767 180026893 248290399 501667353 516723317 758838145 209156457 640129249 333589303 553997607 729996785 670378187 276905273 671965035 871640089 811619323 606591859 501690727 945028329 20439485 392897601 904429527 4902737 14867841 850814567 306376739 303205677 785263079 881861141 872644445 604657213 461302701 939829725 340925241 232045867 163940035 294690239 221228825 353160327 70131001 851048481 720747777 798298059 903265867 275361483 293622947 662919255 823456095 212287993 354709589 25220215 513525499 21643075 307306007 803568729 258562007 580751025 540457615 252449561 531854285 444082607 252564493 435826615 378358493 287404563 718990217 680111645 164062263 924580121 534997409 349579803 527513389 291654249 727186333 503385707 773315639 404836109 723256427 580801453 809613821 61295741 199621541 480572267 263377477 118172051 980777607 61077273 21024007 603839895 681858299 713556749 783161693 980323639 766637199 506600327 548126345 83646853 417537915 731450293 155253495 642405633 462265243 80887973 130423609 365748367 539280251 764404815 522665741 951937661 250952519 225656473 953026645 836440447 686858199 998897223 190117915 847456179 292849069 799991821 664606611 775248285 428939755 452671365 728978711 578445101 779699557 854200367 781323567 124889271 769174415 250006131 530379649 840706039 812597641 559304357 76710369 38039317 681763099 223284733 660507469 362174875 234411957 471484827 626244327 810770303 270950253 358198665 554170617 2635807 79106051 314137529 412097015 468759363 776737245 527080709 459125117 61471251 165494539 364340779 834982221 954437159 870625349 860768985 32575061 708579453 770917865 247348891 343216549 274380919 417611007 336401903 904691577 148595943 693344823 773668147 135160883 746337535 462440165 986660273 513274723 208492379 774190605 651567771 791093431 505813765 792664401 260541963 992150797 716978791 201171973 413109247 744606057 265424981 371862559 193707877 792230899 879865615 740040507 210577161 240466689 229629753 806663589 33851049 119434765 742300897 570353993 1264099 460968635 231045757 423582911 847460161 889493975 42342375 556214345 913410869 778358865 786302823 612488393 893247255 272675399 952945321 369285841 368143403 534492157 889356739 263105435 287895 879490269 333500465 338973185 82295917 902851705 212569563 652778381 824045735 37005709 893373963 782710639 792071207 785741053 810639993 463392637 198830261 782582997 456542783 558687031 964907523 53165383 966325479 688476867 499910827 897593261 468217177 15186417 430582571 906613645 108584173 959533881 85867247 767252367 260732001 506659513 6303047 172041355 286846681 393745721 431013999 328873591 440055523 213877543 56198787 162971515 202924403 612255133 38679185 860653789 39203047 445196119 445934473 274202645 409555973 451510207 730999619 696435133 766765305 307798499 729191299 714719895 6710871 782778233 558768879 895718029 115217953 368613347 77945881 416781239 813778615 318690597 228611195 641943373 380062185 915027697 591454071 353805489 159504877 976269215 424460117 723144817 305023069 278434603 452803141 942170431 355519297 501101629 846537571 515699959 828596741 456822055 947177903 981944219 240224897 675618013 450253587 488219735 542619117 489517567 401340255 727841917 323536883 308244437 830501199 472997515 20585375 707590479 607113087 896481571 470898787 263657475 358872445 128222735 147924769 507958577 315574457 615196995 670888733 468466879 690545035 999286747 46126339 54337085 59592245 13927705 67441127 738936803 763521503 490568553 17619017 752796047 396986781 246410079 308352781 81185735 981749095 416701109 327122049 73233599 88910623 663278415 388973403 196347209 779230093 810118711 623295925 738911721 862879585 911249569 825841687 374363075 474445879 444241643 541375085 210663845 211428751 307085715 680829709 291096331 636305363 80485447 854857651 462582031 950255443 440378075 713760903 674289533 187966281 515499081 266280211 606666177 361087701 900716981 831238479 569076211 781813251 533573483 405759639 768871891 468594881 786817499 49397423 973639113 80231915 399195299 234896581 667896801 410722369 162175367 118466673 522383061 666495339 485205871 917366445 921678595 619585789 471011697 950837983 130046837 190812527 620325833 713530835 557932757 163945761 995615447 561925315 529306239 333726047 461944359 916093511 276122481 715564887 6627695 901732709 263704913 214771493 942225799 482662541 984853871 459991241 871847285 713854099 155480003 627277611 631616355 804358579 913466347 524649247 251093923 749310101 176584239 704707677 780553649 185877827 992642685 24861829 15735091 98918451 546837869 944703009 942290159 878415173 807409985 343748515 331949533 690729147 927610587 863604325 736675863 234480195 518055631 149776295 54927837 166151669 770301011 352567697 564956831 792872777 992428099 893199415 141204975 619020841 893407787 940535439 173548677 949680097 944399671 56557439 514999113 883671589 884756287 400942283 492651585 553780753 556593603 113124903 601333157 686675759 572268265 4171309 851635919 471694953 61929091 786043739 403779393 742962963 941692677 480500509 926000551 483830765 364071567 951359685 55180501 40801309 593167337 336329867 266548419 313130029 886567811 547146895 144666521 158013203 446416499 766524379 147831967 429925165 161370487 690349409 59619657 784962881 962423289 449473785 446859827 283380091 835812103 68288103 716971039 759394417 257869913 679288401 353806073 372779553 854879565 869375819 321197781 291576557 328619499 889059531 683840237 774126759 342968289 507121717 908667555 983432065 609140105 445970385 545206407 415696663 92060895 564999121 67777863 912704371 639702669 932204877 501982401 486921213 444731615 785640777 930174711 631098511 616898769 862266795 329548053 848774753 644264189 511198277 563062895 442428701 10613423 463198163 260184959 383282639 610929875 303700721 975735017 808120811 750626049 436945197 33393785 149970513 749944953 34757623 341536287 532650561 595890465 688086441 993728249 573425773 408140939 802539649 95496267 31870953 173716715 632785323 838704253 753072433 543391777 921967671 812581413 905305389 857814197 775708191 707925245 401277991 332821719 163512645 272502505 898452181 710858587 492231793 764978421 143631191 163333829 939666005 391859793 387573295 120047161 40444041 493461853 536528205 638329991 877467279 852563095 908417283 647778599 128351953 688216495 177942289 546029879 586191263 633092213 931526553 724683901 204167733 119638501 102059053 645119597 587913135 956985637 723140799 460110617 573391899 816345211 12283565 856948291 410198889 674090591 255463355 714031699 781699185 953644649 959392025 751016791 917980661 580811871 787693147 891024901 117836191 378672939 986195581 469235903 356307199 827797983 925284069 69724297 340600463 245380793 400066657 84688917 38549169 512123929 355480613 290604217 340577963 832059277 606184657 910740853 120034739 16374471 153957223 190905327 139658207 627734177 574154837 702538617 120023857 167937057 770582641 242842119 81834643 246737777 519620089 644909369 919081685 336115429 216646543 934882647 129214897 675652597 743812421 425427025 838056647 728743497 108791179 694509243 859252899 781950121 702996547 544851161 524650419 250282505 473699247 255703439 819467091 996459141 326954879 471345005 330524355 472827999 339682245 681053099 954035757 691933955 568624641 97075493 686783905 321945091 141850135 82500455 81584151 369927197 62794581 395288477 968329333 878664755 746735471 295281569 128278655 566327375 608386437 480039663 272872427 771792037 365650199 708393393 258223439 854650001 258837783 835894195 959522091 833695125 355104473 414873457 720104685 647797855 810426651 294927621 250645475 168550333 676485375 627031355 264642119 647696815 930434325 241792639 993191993 566884951 241395795 916693993 534464195 444339967 477878035 255057465 867587289 135757085 342641695 123175125 328281167 900638537 840143263 2806477 842322155 321899079 919501355 346551257 786371925 497125381 689205697 462665559 403702811 477336211 568240325 698659663 43420347 346099501 772201219 709371249 392376979 497633079 289990323 503011347 334226927 327655227 658903921 974282547 886260477 181835759 207530307 210219899 91418839 492588843 982192021 28034873 909377153 749633269 473284155 564907365 753449441 956204661 13071991 150543515 735849163 554134273 506682345 917124647 302253047 933594899 237657505 97169143 145547269 184959825 955457299 746942623 238920831 690298753 331456799 485271649 970371799 328236443 233523463 387404325 910084455 995650231 950443897 815919991 641387117 833374747 652734347 745484947 901523733 227170865 306662843 531770707 873935473 565875083 388556011 485605441 525276793 107782629 139223405 343071117 548641037 117694757 964138481 543398413 851308791 961749585 50211993 446970945 57984745 435548321 43244521 199288655 946379387 542188143 516890059 214648329 957327665 532066365 83611801 475383779 164042097 612878773 705472013 129327613 116873613 637895855 148027469 883578399 467752129 316130849 674478311 563870647 615012907 849975603 182444495 974168799 725108181 14664237 544846947 878169429 822411185 412911491 169885289 950340991 399832727 195167951 773795085 751972203 109741385 599544793 849401317 213218261 625943409 201065349 328647149 999274777 927021729 502018797 138586765 810958911 477922639 895527497 233258639 127246325 903828959 828442619 19092265 352853395 590580633 730928529 223887099 375452697 293757871 470824639 533118215 514667311 745175609 540567131 804608445 717730337 303405881 924847983 914019311 483171563 313575321 67031585 766266333 316863783 995553833 530593991 865650731 210571039 627490981 854218457 931495653 264233155 678961321 451754495 369075331 79646377 923559107 819881217 413442273 68709137 959828323 936423125 854756421 297960673 332866529 899848083 979187291 478339243 750293375 483545471 611148599 145602977 535031399 508575749 799823451 392914601 483447977 396628153 29815207 624480069 703865665 887841877 267682923 350306981 270078219 476554173 45140059 236149923 731733461 320213757 421748375 73179835 195749711 947365445 432026785 427170583 6805009 233019635 314058599 511112069 828197021 255929995 557463615 671555197 700194397 29642165 697585127 468147227 766281377 128915783 606258561 52543275 609109923 215593275 687727519 685674521 30581123 729296823 743731507 760733695 442477389 71393281 185843867 303372185 274496495 927573905 61824155 563596367 384282437 500852991 447067491 688623923 56124687 591425809 780101509 342833657 450190839 573129135 228537089 59171329 294391949 59603695 190492731 261428053 913771595 473630221 170002177 880911777 115672721 99137641 496670599 211167037 600530347 886837393 370488173 614460455 749202889 569444151 877249203 181160203 172084225 837303349 709316299 232577587 821771609 387102609 590723465 315631257 158634425 506663029 337680427 211972315 290359025 360802867 826482259 184008257 736425403 870924617 510023955 532700089 775044279 261810263 906460123 993318109 734736241 21437227 791554445 646325481 700795223 851318711 970251115 700962247 227407557 932814101 157939749 617342213 428329467 577726091 375222989 312013529 928525857 543869571 397086691 191688997 117759051 262400401 493100619 695687279 585825905 796118893 217930321 562150117 528958579 624312831 826032813 601016159 776440091 306455631 433607547 915866205 831981341 759374225 588254529 688213255 595565581 835836961 438048747 886570025 451057521 248881793 463887311 603090239 566826415 411348061 533506217 313096547 727361819 37900681 261861535 316293215 730968301 928189183 150845759 670617507 30670917 833653217 836303999 555540293 786408749 209110141 157719993 640838405 34570135 163502407 395825845 417943369 79499357 937233879 48714399 443143201 574096447 45685233 592380687 490505285 98989797 899835521 328652541 439351827 448002019 292765339 522165715 633576083 13115311 76510329 370306651 274873971 161171629 526602879 126877133 506551053 642587685 564318263 776289477 821003103 653054281 270724437 812892745 350332685 487477299 179737271 809909443 308551019 917800675 633593691 835170573 209155183 174689345 819503983 296553825 645544885 891042591 589278023 202296933 878573449 956422969 902541919 215706663 597159383 594246189 356074071 440014107 29986615 215363717 46471163 490607391 123455465 721430195 171459649 876620921 68208853 232733199 334925633 601822421 831496327 434473437 101091135 942106697 608749113 972214339 662147497 835121747 755720907 932278611 986168847 342356693 286730177 351009289 876497709 482296097 708806733 770362689 200028137 724157159 90858053 50183883 120212041 825858377 592871721 998709841 690954885 107190729 482130207 140974195 961399285 723345239 106940919 676777901 938131999 132916549 248447017 642473835 259118509 751704659 796436435 467544829 803297137 643985317 832044989 840810143 242165609 592268745 658570837 960401005 70361013 808539059 198758581 548843381 30729123 140104129 226188697 324119719 118434981 331397303 755832939 950602715 149948245 895609541 926958649 992514773 7672441 676031103 494510265 506853947 758951419 405688801 563907405 741420191 800299501 696495955 333005817 697680251 951601549 665194655 177603183 422422065 69639739 583374843 461831431 201987849 88396933 948260103 95041469 552309299 105846557 190814149 764373305 629705931 986422239 314962851 837029837 304196563 476799693 780721783 968652909 678078255 467293459 794747263 818130361 165212855 841856517 274423903 262051577 361047327 199683101 738196003 129242397 540712201 861571069 447288387 833544635 501928449 136299379 350626203 19858963 390918007 317442675 580316015 47926283 376721347 12475411 967154287 458683187 532783399 57623453 907453359 794548161 159536333 255681911 95456171 929596311 395267525 37176887 124356425 813230907 389756937 292525975 694787287 671368925 957564281 536472441 987060489 25066321 444504289 685127917 857307135 49027355 282444015 320726817 99002937 778521949 136609087 949645939 327484843 763935979 286879057 335532901 237905061 44054331 785831311 620508069 641089765 642258281 351020617 453465859 642421395 671612737 422955193 307679867 598643001 427797551 69935103 881670449 63191759 491717195 324405799 880260975 477205679 167362389 484057887 73005993 859624611 966903219 172138435 231516029 645754323 580817783 887564499 544557737 637635545 737574741 352234487 411481629 962680237 272790445 92350147 96628457 280290489 281902471 691742127 762474825 458518985 629543827 19633947 788704673 902728721 127200039 381642323 67815805 522242095 713782595 919345285 284777613 167575337 117725581 710840269 485544881 597322603 35629397 627327531 463584231 215594955 167654035 64714375 699562335 114500741 962299621 979223477 765443177 244643391 965540497 609152877 28070531 785303817 68070795 884468559 452310861 702458707 587815013 410971109 82302357 735511295 897861987 997798307 414876747 282116687 635597671 24887773 597923727 248369393 267574533 935601625 999796641 455495931 579650929 159909821 29081581 487054315 703515021 928099229 379953157 941447589 141116639 63665265 345490599 14039413 634570389 804001049 46984883 512627987 888160391 428565855 980493879 705637787 750198325 35404533 714175845 382808211 511294405 938230901 773292951 994391269 335311113 915206237 867634771 496040427 335666293 205415963 701764675 162682975 936287785 859898107 427699771 55361895 582173933 577140027 509031989 943480721 234046257 62239993 637642835 569889235 566566923 938544959 690944483 247104647 678129721 436002047 650998359 513611893 877540645 106547219 569471051 707455945 195805149 520823353 961352833 873313561 514762777 819173405 520258277 288365153 562730295 121210961 391529867 725543433 934096703 799285835 23004589 137028059 124525023 533970799 15853231 110491663 56627569 712344581 787023643 152371265 924697073 681602111 584804261 467982453 996835849 716295991 748063785 876544027 935707141 434087915 64103083 540688133 798494945 989955143 143567955 599143539 351683383 646959131 636020855 953776137 256337491 746939939 515780497 641572053 970957089 318218493 68764229 705353803 306999097 923579443 115345501 251627849 676018651 321824567 451038669 652518677 713571053 401918049 560477619 981099611 748080639 270415859 380162893 368084529 709265225 126368023 468721929 614065939 895728811 924222685 864526715 459703271 826740905 55399233 575959135 449916157 796338037 472013855 27526549 599923461 261385699 538438725 871302185 186888737 890266743 675897443 635774801 463459539 24875605 915651089 825712485 242394889 92363341 518246611 203967211 447185689 105989591 868745485 15447435 728459457 235576847 115736855 985402139 751193125 243579073 409620517 804552855 867683027 511064923 254879065 935636767 582832831 175841777 480672959 967170817 971303237 924448837 443040327 819343533 247977007 981963455 235761865 238350787 19056295 134500717 751896327 252265475 236983873 24438533 946229419 611220567 48007679 846317545 790511429 340977623 308296513 942439709 986583887 575836857 259272919 378677075 694775083 885309795 483652085 143057377 180770847 924765025 31721785 93136839 512030561 931429477 172965289 120274603 334890247 765150027 66135987 74725855 393056531 63793941 539383337 460338519 889246831 643387887 414747465 231682227 510732267 331536939 881683387 74090555 465264449 386008391 199636873 423470047 769322513 779283171 980054315 637731891 461660903 546040781 550748285 914421627 812945969 246872311 736217027 852227227 301219147 274493565 541660845 548529187 152605557 121437345 16535885 760483657 618118873 663763151 828068131 9710831 601544583 946791067 790192147 194324123 268038265 252172991 504658283 915550075 703276175 136035869 19366623 550340969 477752725 886201027 916359053 331766753 996838201 807180517 863283451 696401677 352077847 972147163 535951381 62892217 111794351 530299177 504206385 367560545 23870057 652799355 21478923 458811679 555959961 916525477 87598795 522648767 52134775 506333089 71389435 519900331 690591523 788327827 563357585 982907393 851923113 41793221 75118317 117856633 546910455 717290155 200504785 460297345 418516969 418799585 868175469 178224163 226435389 981969707 670700883 779218969 336916897 252396657 973986435 744134081 166503329 954638281 138564193 39186211 230327995 491735149 896382649 520225775 419970125 273215425 449979843 911866491 142114467 485677649 473202971 614082245 59288555 518876877 590922439 748801911 479486273 850102035 354457649 785814751 534618019 932152615 589667123 272695797 628311295 471153201 797511431 708887381 480003361 939913609 248808277 695160907 842328263 874490277 80732967 227454403 578780303 448363307 218610675 706326359 279932419 696344039 817558167 889130051 891680917 706147785 928005209 218363505 563387551 891709937 165128679 918869357 723274847 713788829 138700371 225749361 328172291 176608061 296467995 445388893 389281175 917813089 488091175 839409845 847402521 102812615 333789889 516006059 577785447 50765903 841014433 298640149 477435723 969222663 787963875 996986995 617106295 889158177 371239179 406034411 724639363 87543031 703857673 649135183 435313139 814986511 483540271 930774291 378354221 1449491 576782397 826060631 787123587 172795349 91429207 159511779 412743985 799980371 689877003 280495397 754340437 486903213 787942477 23240759 765149945 468116785 777989501 892395479 1278735 998066769 169727835 800761449 504384367 457820841 413243673 458632193 446316763 122925051 394448971 614124373 279322879 653763379 234570735 540894915 717780327 260233571 782519655 497274193 867442319 289851593 863147907 881622451 227900121 806665671 578101113 647395131 158292365 919022055 877307877 512001771 906451933 878493405 86889931 384993899 946217953 476552069 255932825 516218631 301289883 522359521 161561639 911577275 871034869 235432221 985358765 392229665 732782017 160075405 274372821 529540227 71306421 821119147 71872427 144608465 252958837 266326299 377446563 230239905 995602823 986033319 521384347 729862195 358295137 336106051 945661657 265782381 809861721 289145355 397580295 369009121 580849843 127474243 532212543 138941889 654311827 480968275 173334011 150219507 131041041 554019793 133582371 116370681 468250657 943970679 635539201 382970627 36282277 383805993 596354635 114371819 945900393 779269617 145065759 826681389 880003869 489731845 674142467 154009331 183739225 509678781 589438693 660018955 89628831 311540893 664562199 363482861 399650393 986421587 499981655 678905013 123637207 604375471 979345869 748642095 535570771 114282925 957922821 649129671 666843885 557997937 177379057 501347479 436405169 490216007 143806195 277499739 69544591 307349919 376579791 818631291 19223903 47758871 803118255 909073161 41126371 858318963 477114157 848371897 865724099 348797085 143472195 10716907 426744467 929626279 948832855 917317033 47325387 938614221 795461431 147161759 244593357 25504117 826657559 897640997 818963167 428092965 233794965 159441465 843387191 920038549 372989623 894634373 994499307 79634077 619200489 739044953 736629501 63129155 918665985 623668649 633251669 623033521 226975035 401130005 654487495 730090297 337284159 572205285 151823115 389421657 628413719 42327303 371088833 312140977 898517307 918214677 887859061 366875151 434270597 608902475 204781973 376113765 608791359 35665043 548363389 190490319 394693393 438619003 380051053 453100175 651688981 577946169 649654925 113732625 78751427 677665455 471676913 398608871 470432773 899174243 638016657 180833743 429680167 904836227 956803661 587690921 766698973 881332455 578736111 150507139 139325765 950900495 75301419 344940943 84292837 314932771 373187221 826157865 262667945 928207599 16284851 927406035 780546277 843377391 424790763 101498169 158735193 250242877 537436561 454286127 687503915 910577571 830995421 41994415 767487205 240978833 152837359 345478877 200367997 864302365 73330897 830814211 739244883 136061959 945625463 394730645 814208553 175996085 658714549 328727599 75542317 351952695 376170065 129824915 744867829 183834181 854894321 42605231 132731263 481270845 567560489 89913233 742080303 21508135 459477359 94961017 773391313 394270897 307078183 981294793 55913117 927388469 40126107 182339853 11996207 138444975 464836601 121478645 807915403 164164809 107790427 75833951 388768033 322927313 716317637 706468173 598539203 101575871 88698653 468295917 583863219 767414319 719218997 750756751 754976145 422080877 479886281 116885167 233800045 516776037 617516151 170471409 520402875 18922927 778249161 239158815 843098201 534118795 641975857 729260591 958442893 916450017 76494087 155294777 863268611 568477245 532407183 49240707 550250705 314839257 251961839 744257141 858700915 556859285 650303033 899241383 907676113 581383157 913717609 707028175 859587637 602805547 488195165 246736595 765107543 169979149 847989471 282157503 851207763 808608537 208154273 180260291 401780909 843877243 850189883 916585023 586888531 582475261 189018159 445116083 977376669 535802135 260247015 626128329 482234437 475381997 408824501 623864409 591028849 548342335 785207503 460338265 597536429 208068995 799924825 650706415 90426865 719171021 276187227 543665767 925104793 504320987 473433541 711799603 478172523 502263063 127448181 795219695 599461523 669565069 423818791 808433755 983362215 456767481 998704007 833084775 678289315 889246391 158397733 665088037 220428269 731061453 324462203 275171277 467911507 872351213 450001643 116817863 635764235 777573487 995718333 335442587 828192175 250478671 120091171 108996349 88409159 732795445 652822069 682233033 723740993 821586545 177467381 928702977 740327535 797487099 182163789 573219281 317195537 803202419 267709965 891699083 986492105 664104477 386607855 624509357 168475817 491862251 920281747 443283673 536504867 363143539 740233861 364330713 98231317 367038195 712700469 81976225 998911427 353384791 89745403 759724621 538810333 698554921 556068377 284240415 99794293 474227617 942860217 183402883 807104269 965116321 269211627 689452301 718444933 76155055 454849705 775078007 791209773 490629883 827177939 348525477 475109049 776149849 384228917 147678113 980567111 377879629 708654205 986872735 94357597 849127673 66387527 302379515 361643751 295978033 613759251 711202617 744257595 54146921 453415755 178323713 970241559 489470915 895247167 587173161 664922781 171921157 20458025 959148715 985247583 60294813 91717417 331506859 66161229 874299043 567534667 501949299 666513609 413767383 547903357 113548153 804506773 214288287 267584411 99049045 273856225 255447821 173573989 445294541 495413567 945448405 774885509 330539209 604612783 416363095 99122825 983163999 976529557 346080667 794935279 752436937 454563775 574637137 317469463 327209069 17598817 804003791 707549511 836404433 400422937 114516757 724970931 726280621 557784813 382439881 639474293 18049497 348523593 363251515 128549261 641058907 178295553 812593505 707813859 135605595 620578647 253663709 959569995 613413169 507729899 615816437 360249469 156413779 330904781 859497625 911514137 118622055 306653299 192043357 790662571 71977017 894040247 182585221 208303009 373460667 504581089 19357171 612208981 306113287 947179935 730182971 196310539 835700579 300403203 114143889 610152425 185591097 522106509 594141911 681612035 478071323 380746015 336887187 760940625 176274119 342750475 474749427 270450355 440562205 20504579 592408527 764424179 545975851 694782245 65318567 261885379 326293283 365836789 370135713 685416125 644206177 391967075 278103437 867352417 645232487 33330371 280865251 140750103 553752289 863920849 830581699 32835377 536844193 663933619 803981297 124228075 762543013 474794231 535877343 845012323 131341071 672927377 827705251 452486307 228323625 432273377 69238011 293973661 258508647 812553639 4769873 809691435 878519397 757050391 263540915 419947019 189136101 382412737 763050969 415033833 17416915 181096611 461369633 443672407 819237955 68233509 237035155 453074379 710505581 669599505 776916445 23578793 599334073 383595679 959656793 233321529 498842031 602714987 440301315 640433325 546133509 35096953 676435331 301673247 132639123 442239543 692835627 759970445 139333213 838743421 804585711 69073123 482711439 398895237 324130673 192388083 158228605 526131445 751601143 464438387 731706273 476804059 848374127 697233159 252159903 615957675 286719345 617400631 223672385 398443587 780688701 582175861 625740157 503530985 533484729 407529241 702457451 795698249 243754357 673807205 631114319 519581815 516495273 386022019 56813463 390569205 774786357 115498373 800063699 645863075 16440989 583296609 540160447 64538577 365105681 163473659 3300415 986526005 975934059 213347355 470183263 601641193 817527337 79409777 477099599 96730485 539313265 496428953 595244909 326588615 922882579 448256277 32825149 900822321 16773765 388535115 434402665 196165747 338168553 155507853 408179139 541658289 733375237 741732373 38332743 248570231 320840777 850054405 712443161 451094717 790295241 547362659 106161029 844159967 919093319 67474725 687969533 302907555 45330731 193764129 716247835 347981875 736841603 306317337 970386853 74007593 234573317 826278839 358890373 454689151 359520529 478380939 283136461 437689243 33666993 223214095 961382587 322614091 636502673 470867365 251909807 6462917 392764681 239374741 111564599 719378339 275726873 512554255 487518213 147765741 130373991 867194927 567429107 569442063 958928963 854140149 172297735 21417439 1829541 450341963 448174699 157724827 362537005 700705025 37814643 187665383 688511263 108858577 231848599 739788751 646149995 958891355 816218495 675694283 300823467 151188267 949645043 73039029 284366877 367972529 234115559 134704599 212842919 466409283 823042677 779987929 361031385 716880935 856017125 114441429 315718377 706398597 406360221 992997957 61841593 241257837 625427761 401551375 116441551 603189977 385748319 40569217 112600921 241247401 648974857 318294607 680117553 63078057 190236985 817744279 778555091 977595015 555436323 945790175 60500585 450247903 450490147 700111635 870129599 407767601 723597499 985514889 280538447 82308581 141199511 621654781 272684857 784392015 214786955 321887893 162665537 73350311 947463569 256731873 48125145 272451085 212616397 977334993 432451607 381746829 398510217 119239879 516637371 284296981 165863483 728760197 543314477 518009729 43648635 566211897 229590393 661457295 846737421 687841403 49593433 830519277 742603999 87211331 31875627 712055593 949845247 160504827 965766391 450173627 484938671 306612335 874673261 460892681 594729037 360017107 327197409 128455511 267742565 343465157 597662295 963116761 659790765 699465801 741785459 446198697 954890493 330300623 926806149 84955845 794968409 339257899 659507843 884512283 73415663 814436761 587044879 58582391 444132879 268303039 89864303 859456407 912263221 110727339 666684561 980487449 569337605 302288083 717498895 865126791 520121931 304327185 380736037 608635987 17489401 860030381 131829947 988535255 249359145 7327315 883725667 50783827 526733089 178290457 430376529 943956207 625288265 758867069 137637735 682390205 459849017 288198499 149071145 514437561 830180775 437149207 723507145 647272385 591031673 12297041 145010717 652349343 769271739 46831915 973223589 138380293 556304287 726933551 970619527 511745675 524564865 402442823 124171413 736873141 870397921 39313351 778992193 208271593 950678127 305385071 256218289 609748347 422498045 227262563 928488871 284691361 995603075 165983537 229183635 131640447 526643753 283725517 625836943 357195293 358675511 757095573 718062679 470718061 30355233 25069135 434148693 538847815 826384001 529739047 535785623 340307567 206223389 890972851 280344789 763395211 308730079 748233711 197420653 757246509 890873307 768447043 112330853 539518415 60133707 216084089 785707377 214876627 601173393 137258953 62462691 741117313 586953275 17031373 661764029 658901003 808916731 11788941 631285671 373777289 558145709 839069047 55866861 727354879 884111955 368585821 501937289 424686161 426880539 407741823 648866075 66454359 761044051 422290305 282290663 157917381 633416827 318124657 393382623 391256639 227994165 88144067 131677849 304361037 865973323 551329365 601533781 658453855 416310707 842235755 840756217 622697681 597588613 573296565 873507605 806875621 798011653 204109639 532590049 374087361 937635487 882266525 991912251 384284023 55139047 321897629 445593259 650373889 589619863 322140565 124786017 25166911 515473555 895226939 856176947 488341245 335105765 313437097 34754463 578706667 653046723 383018343 348337871 960219297 834158725 688717409 45697169 740163745 851865777 567508461 8676187 392008789 477936367 914521801 852500303 628663053 147309077 149589017 174069043 488519427 41291293 751567465 972572021 890825817 896222507 807422129 973076269 498078741 358871691 672730957 15075101 913589549 851291567 318109441 389495463 201480055 16606001 448530429 440024287 436097717 126076373 56531667 73192313 576716687 239529865 22572931 939788245 979546265 642888797 285592691 32788989 69026635 325268879 628414827 425792923 622864647 483972223 804156583 255116555 14058003 31855547 300426687 53690443 413225637 419012595 762450619 400385 687537619 431874823 245617415 841298559 758855839 23766775 699430009 740644023 604568305 604928749 277561421 778992463 663762077 761365569 164959275 818554761 662441563 177494889 58318109 706681429 114456267 544042765 102161051 148540237 736266105 177685237 608035199 451773869 901647827 935779091 36463377 468272991 465904181 140790407 865514495 472137201 992941279 903662737 513580379 946494873 28172537 708944797 374003621 179119673 536776087 297769023 971888065 377510999 596112049 928032303 947258365 896854049 136602151 119579989 485404941 644177519 613682373 482155705 869494543 33937857 791665977 215424911 592965255 733172543 508119839 866944563 708094309 368946613 412761077 939806503 299094013 222701213 719506473 986045975 266810379 516579095 606327815 975513813 161447349 385368295 172893901 236575839 615853195 265359231 98124697 730095063 602779773 117168373 939975287 392792967 302899947 962147593 549757781 892368355 447005595 219166241 389843725 953984135 891756475 657249869 907319395 972583735 47698141 76773445 196427517 940110043 562160129 20919911 95674991 367737993 773074057 674496955 36073775 726772347 173175623 543736559 524248993 239948053 755413869 296577373 653520143 771384289 353191319 467056129 572799655 592728723 915999951 233106565 418936451 422315527 675179903 343758903 117755559 259983681 723406459 586857741 406214649 201263209 585672195 521848489 246515533 239869909 299982011 333837137 436650585 281540351 474833073 813873395 957300417 747919755 977097305 364550695 901288205 85228613 340955027 931278125 623718831 283537437 320700577 609905901 73304577 758574387 550350129 201837555 783639361 258098117 214908249 501512057 601963931 308571459 342126229 962149471 531087649 910270781 373563085 434894889 447627977 929562223 226538827 702610953 243366775 642476989 901162439 197065685 470531827 878559539 526965595 32915723 584707311 653849859 541561745 808815063 790332931 172400263 145792337 355353091 551784113 170536773 15935475 814586887 274985571 34464743 862033461 594819589 596684395 484347711 714135867 783964355 952897791 137591113 128972691 212361393 984653891 792955947 188596785 12971235 791977791 112651565 800151411 348238877 537035493 290112449 612143647 649076163 245948173 282239623 478379617 322032867 899538809 801228863 4695245 364557625 353548499 977283285 745265509 558366239 447627691 383902299 24454793 746652577 670500219 989516815 564374537 632178027 427245477 266177361 458188315 814807509 830666865 948779695 813551705 754646239 561580561 880418011 724707019 546019121 302832029 416422321 946944221 488861975 564549143 374085939 367370855 140045195 873180521 726920845 914678433 711190317 110497635 251631379 440902453 270349121 51129023 715781437 669989679 301207737 500380703 404925363 162980353 676869931 91272457 289283133 892202637 952892373 379335923 189802703 263808535 397344929 209031731 636727429 124931403 306070303 400885003 893510305 405905725 858947457 606566565 126871441 719550061 408729515 302374417 150863331 295331263 728951843 732545353 525644631 566395265 858411289 195619885 735594959 671047273 966995809 36497289 547587157 975400081 10753919 822327309 584188447 653114497 489609877 336178001 660407685 572016165 930348919 45910231 165015307 552770003 464104857 654283015 830624349 581637447 255613469 960500277 81081679 807615145 745266377 228975001 524689115 8829827 294338827 566958163 708020773 889777613 244763899 274386543 211242361 639952099 486354521 683230171 114133831 906628233 602654603 910790515 433638701 758424557 499290275 414546423 177709295 396890279 981717077 523037969 251286903 565919153 6323969 659236945 123434455 938756721 526250415 331295279 227398731 526028723 355731215 669799697 932736823 829017777 762566263 905309243 692399655 389242371 988668647 438457571 810705611 326647983 227624965 417745693 101745155 197124901 67178273 631602927 461791437 410093113 47134769 847185729 10412889 738329639 784655063 17097953 181316087 130753431 562783577 311051661 795238435 321950867 22423975 10300643 858427779 245556113 863364181 730359663 349116637 586104433 984522661 624447391 278711081 946540405 180882559 325556943 346428545 946033227 126462321 712822333 432759079 672310539 604495281 747139607 798134405 186618157 63939105 328839273 233443379 410989211 79390789 429098545 297060583 35562145 2326863 873320525 11314057 435224819 613427479 457633415 287630881 934692013 587169561 332679315 82060515 926199641 192927101 219595013 362018601 751367649 324514323 65169507 958898809 737841561 171304787 331853331 758725501 296742721 28986717 416583017 463414537 42609663 200429813 247182491 771215639 510894685 722947213 715412941 343878089 427267409 709571897 939867655 491232877 571246905 343089085 437106235 417452661 614881499 851031933 133253187 674181757 41259619 124920713 692421597 135760199 191851623 168059801 675519927 3933375 914434277 115234059 946471517 686629113 69105215 300398567 241136971 123207471 46461511 301824987 668746211 70209221 165417773 449661247 734430319 865673285 755077267 160380437 487186203 769984611 368778365 818152191 126497031 828736763 674993237 495000657 332706095 72679951 593723893 894506239 190160255 737332429 352230549 408959403 558189001 494910083 781804511 662415769 998873795 756650419 127926495 578107323 126013713 998779641 595588361 813688745 15247931 236368423 451618619 877416607 725318579 556711211 832886459 257041029 84334545 55482147 560927797 367027947 813833943 766671699 247804607 795996169 673737199 687202339 239503573 149041087 590443051 976884777 608245599 765263505 435562881 13544735 125861031 136323247 325694933 75215593 414908259 491518707 416330735 842149523 52650931 760083419 890385023 400719 898398745 198013581 325492003 719903095 854966405 654474201 742495575 531337103 322723657 573188917 711982983 961521989 11861539 395646915 792621059 551070313 329272123 824376137 320348677 64668665 7325725 565141813 343131311 736161557 327230141 873589665 374854153 215863817 57888377 819149385 477432323 366041419 143353109 192021399 661206393 708600949 166287809 604776855 718001451 569144135 413919249 886824709 235994819 220525233 458677505 792314427 29183441 57156035 802598391 666692165 590945999 458307771 695864257 50880463 269621791 942569977 256460691 491734065 511278857 77026059 577050637 309630059 377294525 53630371 392897585 740793891 383840599 117221533 886595181 463643817 922949335 900781819 734373783 985945077 654702119 321699559 882878957 624504743 321819671 269401785 906645521 683833859 592920673 732249065 881613845 818257657 471971495 401898009 590017129 77046051 684996463 319986199 681840367 626929343 197765935 163405013 257580009 89730739 544708925 67925615 246992135 778127 435493595 726555943 793742939 356314249 91887665 333560937 651489125 252070531 960894291 275356105 270131721 747010307 902879545 632898047 581369237 274671927 940293315 613447667 670555581 421042425 52987837 199154605 845637025 656460741 985450965 780551521 732777153 545338819 954742695 297901163 778011663 752066757 380708275 276177999 412234975 155832639 359873889 528340405 721180143 718580563 873315333 862724979 785642081 36680133 16980439 834839427 979706565 116204295 549681911 677484551 572122641 284674607 45902961 296968783 486506655 279924221 312841011 708255177 671594297 579661273 721750809 305558803 543348743 934282447 143440355 361193201 627810721 783392409 125128761 117360971 431060997 61158037 440519343 545264183 572427671 361494731 794182843 412125935 907706915 405619947 28075971 924487383 400851425 829223241 27816971 38730873 368619117 635436521 523821511 413758603 159236045 969970543 79015953 449412837 801733997 930406443 199098345 664960909 790516001 694230291 552339767 93981099 928814635 162051785 393896911 321436821 665944619 976797843 207135335 647329991 105308721 519589727 745489315 122281697 451052465 254175431 140642573 920009391 652964747 261944327 629716499 192565799 657180929 29726983 924680463 824029281 541390529 841579353 955604037 702135459 841470433 210142513 541435099 777051991 670912221 747825265 147397091 840123663 2628765 462490013 962282841 122005897 809372525 173352167 734325531 203818149 424569343 489328933 164843507 61527921 689523317 241862871 422240915 111487773 370639699 888977187 440347285 601153545 660426883 993512153 485652343 1079989 103813727 743665009 788635557 776490701 31632033 961642507 261799281 87865379 980847 102223979 451711505 667334069 335720535 439350273 297501865 717440163 189741901 111954663 863403329 217533755 148433839 684139225 23631819 5915119 869072707 267045441 619302687 271422043 172568885 799973677 278284801 674370113 334510875 457657941 666749975 764808333 2456561 871938583 714940147 386754129 944356127 850760057 495885583 313877963 927523695 331702061 58002637 132546397 798917143 399877259 642468725 949859985 772112311 385410191 147569209 101401883 374082385 132871395 675121969 698054103 66090837 26067667 600247905 297821639 334191253 510574169 154559663 592426263 39087441 323103509 769138413 959046171 440307245 775539019 181013205 100635725 888111925 136373997 39446025 779489615 706566881 177222289 906481425 77372913 325314317 236863095 407947869 709326625 491747839 185127813 471363403 10875645 891261283 212416075 259617047 673801159 8342349 36618241 986473965 531647213 933799231 506530181 478530525 116973053 308068121 510305375 955496417 576455097 528777259 642825663 834016475 777074429 20007465 838258043 827275409 248049115 648864307 252044561 62166201 791236737 779802571 814169771 139281897 444877901 117943263 701327383 364282531 329427139 119628741 309674443 13068369 910490763 880600123 381031913 518218819 138003579 643781731 159198007 695367859 680500367 510692047 125607971 582728131 752535783 483421297 24436677 549465721 690034383 178564519 754688221 219594699 324897213 759254325 312792275 427069839 937767497 573296971 178471605 527539591 839689017 884793467 2751033 560735325 464231031 857954501 991718591 121873569 982212117 69847693 200490063 770614733 10458447 753548193 658235545 652838721 364996489 451065909 115540979 911343945 353454415 29050345 307107421 873187859 285612883 491838653 228043901 228079803 997763951 70514723 318221987 876971585 236157353 711026671 644481991 102871693 902954795 644854623 192913031 69662067 819852615 171051541 918236715 2161579 604477051 347208995 450623395 399967191 540952423 121692665 398131333 707506557 811216857 473535353 758204943 69676049 912861123 512072933 11288619 419696621 760304193 934239979 908352103 478185809 359341715 312273571 917735161 446572901 893084969 11623559 826321859 57004349 506480277 621282685 289177419 186461393 750216337 232277457 344953791 275773953 685306111 390013499 176753143 771614105 651219181 537148119 270394483 200612423 164944269 374583851 418221147 782311847 337320763 711530019 742411387 75223863 196872825 432665365 524054093 876263269 781945075 417187005 543367921 901535359 122575997 761256257 472510507 894584765 935493137 458548783 414322541 596991043 154847953 212787069 602846413 158566427 426239757 985271429 858128907 40897331 742488371 145969935 323734925 697490533 733241057 316448327 286155107 313340021 988826585 136671173 714587717 11665161 790165255 150787201 123179153 582248373 349251967 574600677 436473167 334573809 917654907 16209083 976237869 425031453 43274079 498562107 236069765 546948995 596916405 329957121 786610515 933145941 292698419 742133779 607318081 367669931 173177265 420452827 529868701 550826889 171791155 8871731 783630685 888164565 388558823 537848917 905943843 356078947 152481309 507826151 929596725 521432809 685387089 507365879 383186305 867714315 830636839 904917241 460131999 862286929 211390057 285570251 577624271 743984941 15879181 560849843 200242937 923153657 91228203 688253789 122989993 899799283 717399817 27133407 698969113 185681735 409187855 592062135 30446377 118510087 936757971 43259335 146450525 529346601 406344721 203543137 895426279 813031057 412383913 109030965 318614173 257375495 49240743 685712997 307965 548863805 285781057 116457587 591909937 12711883 976301265 426749775 689838601 588790581 695571415 631601739 137153783 911909089 420114435 771131431 247361823 378563617 294716453 710044167 369284935 152189743 948768315 209504889 201306591 394789421 625291877 302422641 458358267 317668899 709071345 761124941 415635551 678729731 80151633 16217297 122296429 811159461 201633311 201712173 790394169 895082699 901366305 876273397 733019257 798113311 9422913 69050149 16086409 649531441 39049363 558547749 963387509 425992317 241306191 449334975 979410665 457019487 48434397 823386153 294901565 330821157 993802949 183136515 78723953 622984703 938844347 743859023 403947565 667195653 481635481 936837755 437870525 505177145 660473445 910180445 683803419 490967429 549835593 452162611 569316583 735503545 577325721 149385633 246796901 557921935 894046415 430471091 901243015 76857257 449549965 972305377 608177379 470986639 678571427 893227271 770752183 309369265 262702591 232785513 552047597 464695403 518532287 490382007 61619219 988857853 434978085 426323205 509035361 763345809 760245661 800807887 399743925 520114231 69550779 828644859 289839511 179389417 556213817 490994135 281977143 690300553 983137787 111392791 713974633 881579229 345252107 156755161 633963183 944542107 735960733 224492707 756153905 369077849 112405773 554141537 140420797 206976665 700264159 367025513 236789705 173461187 312439227 735246457 243293815 753513771 285352311 797362357 713428109 297006345 889140493 782695337 30689657 755797887 750417313 123279181 583295827 465457811 990688125 543145211 432681435 144220731 741732631 188573309 9824631 346491211 334504455 29129979 897802809 328136329 37049873 259275789 511262421 493805469 251922979 398523057 407039403 151763991 560582989 5921355 965828547 122687601 483771339 418949545 695223245 509102859 465616385 558953983 284064031 449166127 141387643 207689707 127105207 495363089 506014699 420814963 592861761 453688773 510757931 355714051 785587975 206349905 932087617 488928625 989907713 842729629 214781781 192015097 671987153 34954103 403222205 834552641 703093181 165314205 942975733 206497881 751070901 716353965 285290909 964687537 746767693 696775475 301196675 122134059 266878919 844201885 671955353 495898889 223054603 984537671 624044025 48957689 838787495 606831727 379681001 371823633 290458321 333304899 929846739 727001551 881313131 413658575 213757001 736446487 156205817 183465489 749964041 703830069 984889005 970661863 475850995 373759457 678610527 377440541 336243733 419741751 681489803 598991201 524311201 354334909 535410265 661366093 575214067 90248285 567976601 563455845 910455693 222778993 308496579 644206863 432540187 161309107 813022455 768645535 587697775 828762953 11958777 763349835 619959431 554064833 264862265 143577655 463688323 442348561 60683473 433235819 843046835 590616211 337245311 679390683 55122309 32670735 973574825 701906267 887858837 938983601 386490463 804617135 964805547 27808015 235890009 877684611 288645805 10175781 798311669 798684515 956393391 196206427 878626617 144120013 297199087 573458299 442736089 641628959 19446991 118117821 588784423 848696483 132781273 469152701 795348263 447423371 355987137 804653951 912338043 406882031 359198307 347201139 591403383 140815825 720705987 524275819 584901391 203634715 999185929 734181543 453522917 547055519 191158411 701956299 325624125 904257811 310646211 902289893 785531401 469698331 11677269 298874217 831940065 733577535 109755403 92484661 139402239 978321649 575283931 88297871 7321681 392645257 544927197 861783587 539440225 22186059 626828373 392522503 99057769 653418333 503476913 239462583 38184007 42677457 522486145 790797849 992454277 868229793 956885633 993954685 18282317 996153519 819177365 122101651 214958459 756313539 935991239 283008125 584117133 490154127 299282509 137814205 955620521 655106219 767717759 285375041 50958751 324095385 541002723 826538335 37582821 16106947 682535201 444553685 830236829 404641657 644619537 619740103 847399309 522624501 7634089 77385923 453252131 755016281 755034895 850804411 64246393 265054381 108883087 287794961 602884683 645684961 820015003 672280969 78699523 882823123 835274189 942365007 563885485 192996415 523654379 473415159 526457349 473518543 163744223 611896451 789588837 402887193 296114107 2739283 865315033 920682897 952958139 834610743 404459789 343647385 808580933 225417571 831721305 950083197 806090977 844372597 755517117 592136301 417858881 803796595 181563615 71703169 737298757 478454731 628076303 447299771 255551981 366772559 369521477 673319939 555787621 715498813 715195679 754653997 241779199 469014077 846130407 621205489 457499961 654064729 115938439 793761777 440332981 117328905 350623899 529798579 984287547 217264937 375631201 430866349 396198853 711336957 354687935 116490037 674195559 566832693 388864581 619045261 141893481 666139107 343182889 237533405 858313781 340402311 150859341 4845369 984908383 989623301 984187959 572881817 804652705 927321003 538125589 448025311 284785119 753372461 559873729 676467409 301935651 584346537 400512183 671097123 315808161 685513893 784985887 668598895 162864053 386279181 442398155 205031733 769218017 457823799 97009967 192364767 791497937 790019295 778532205 469655227 360243545 235851309 436346185 571716871 142791027 613941419 553482549 992419811 71880515 897794895 498672199 296041557 929712147 172799609 416110911 746019665 580281175 620437739 596903299 894535345 615286189 349317333 497818661 539782197 679879635 285189321 556006617 318816389 194543543 288099015 45717247 290774581 994033517 593221425 989848735 644029629 300347951 475828185 755009897 883610493 862496609 695922417 830788017 54121151 803785103 537014295 908136315 847348405 829195625 434515281 52363627 654304889 326828239 840640009 404667857 386211083 99206591 371639321 884470179 242977875 624604521 825742523 290299267 417295397 757180189 252949911 111907511 678610743 278191959 243172791 711030829 29372461 699670203 619018385 21154687 184215697 663421205 844288771 517047785 172953553 443092053 287814227 104426323 32648263 301861787 831669037 392951119 529304119 259858471 69551273 355571217 143364807 835739747 360356159 355007355 289015563 886647013 775842777 118015505 386717945 229509993 801493185 372805125 876420725 165544399 195245743 157516845 324356679 366640421 680286655 678124809 439953697 58378397 32987253 654471615 472261789 415022225 953732289 901360927 885304889 518849927 311334645 727402145 775819361 965644585 135109329 954492771 719813991 929123657 540475513 140189485 923070593 700012773 842076027 701176175 581355219 508049183 555622347 590432831 475101797 198070847 97628361 367865179 683118889 292229821 784575029 767208749 819652089 943368755 690507073 717036995 56230803 131137123 241245569 691328469 467397539 399682617 429545971 89721279 80511929 210122441 320027641 335334029 687064145 57047115 513306211 2769643 428990407 781757735 964913255 60432435 327553385 453076197 981157025 243610977 637183079 244555577 898374677 239397405 156744923 679441151 859137329 705260985 408933571 659215161 866515149 756631593 821582603 23894547 124301601 172804367 511860355 858983393 740738263 513946799 364993253 511655453 580590587 687420667 682725843 534375531 627021057 631480457 678742485 836876181 854283207 368858521 974551389 876098191 722737297 580759825 55847875 724629365 685185295 707857281 360255049 744579211 625899349 582255649 134288153 17614649 565306591 854469583 597919811 717274901 976232341 139374611 600486081 826086105 756225729 824292893 161656693 295284585 836826137 497560003 122398247 777539279 26105019 784925315 861456519 429059905 404092461 655892103 302805297 529927703 74640733 181622173 854989989 615850709 233614237 789147707 427796557 569884713 568694699 16337027 29164409 375849187 868213423 175551803 15639139 596175103 429055285 338609873 332303661 24923809 465002543 725103709 42216159 565668117 947636223 513770655 980532841 835327947 102538089 616087295 450209191 521485667 846766231 689671817 491373657 563764891 567573027 562252025 325916457 891103587 342245895 560113065 433755303 910286283 350542505 474346147 132736077 850402577 476705751 177909655 387054459 370124437 369293253 250609371 733781117 697518307 638211601 621068399 550377857 338058417 25435841 67916537 413137315 899115481 575840065 358764233 549815267 27181147 902298471 133237975 748383787 198801255 843120751 319413697 854750281 99944015 208067073 618159311 964228859 689887627 784361255 959780081 153011937 595858371 841936729 611020733 187840385 974632637 412616561 641143409 567159377 408495729 902436025 96317687 899734437 573379577 545603545 809064157 757409219 849037463 698631145 641929305 747742675 339423927 387766631 468131661 707906787 373397227 42432823 673036351 185741041 18224881 764425639 567492445 181598683 851736747 546724715 945243007 960942189 237711651 175825057 646069541 503602517 287103373 519516623 554918775 37963823 224420419 559990495 222487873 746934907 111963597 704974379 300232189 850920609 874411473 459768685 572965067 339344629 835568163 342449357 802307951 535016621 253781953 348627413 307218267 679380717 649391053 910076539 950820005 330497471 674468497 752114207 921890573 682264337 492443265 984900227 667010809 646520255 277324601 219036373 174826617 21438087 962194555 887707819 582289477 898234647 892127541 750022403 441975995 465716987 155926135 695161153 110078179 416076977 475626621 126855217 4106603 252996759 952115113 336494859 326528429 305236471 763494795 379872363 238675621 511115779 351143377 882266453 866641917 71576789 881386841 427108921 169621763 34178667 439158567 493268457 468861869 424130481 322007907 455103141 326862237 308870009 3557987 500374803 704983321 857090937 428397985 489005885 650019343 534470485 843278529 698168729 390404887 897762197 935828623 687887877 787062385 651958955 177164795 575832775 840668933 26544113 887599395 670942603 253029727 191488677 596751435 967401063 437412025 645931763 339437789 426779863 451828721 477092589 366521451 91351747 904656017 794844553 238854577 701442421 128707013 135247787 692171155 595618469 731448163 77767451 764079645 612273007 247355119 451828619 190746497 776644951 766979213 970550163 746575641 636323147 29177869 893556151 882807915 788280995 77387239 916881757 359325727 729819673 304462905 880742871 435257613 515612883 66275275 841578847 877238059 802695517 934959373 30149655 336148641 101595823 595324691 304910599 46112949 794868517 415418529 901414177 308695263 853683077 650003225 807494205 784287673 678041595 40933263 627661341 392043525 84153117 658187705 190348139 79117231 632720615 236908787 583371961 293733065 931016639 444229961 972612477 817469073 488889203 957020775 1927961 524874855 803583033 160382117 829720537 74627289 335361451 872873475 529866221 213073561 711688657 155783465 603176557 391676291 884920857 97682531 688386139 524811161 27150421 406686379 56774049 663400967 204680133 754616993 945421327 234006047 793616395 49907593 350419039 307478623 107971129 207791189 994204979 40977257 628146113 981481625 896860179 299610375 663019905 933565337 720831599 401811757 464134333 829995321 936664739 321476855 879382053 847132937 240724207 518440871 922488523 804949825 16850557 227113897 797733679 68429759 726631005 393141649 352267319 27877131 461479049 408455961 625591341 148974419 869340387 77124645 254335431 663139185 417820209 309594047 27601187 12148193 875732777 826242333 419504839 782385613 546007905 825376919 125605023 270910979 180995675 338318001 120803585 745128441 607071359 700460311 280972203 994353873 70956065 430528925 250449087 467476047 62986873 415810365 180028367 658500583 868050089 736621851 106745035 408799147 502907575 832759683 512679189 51146589 613198489 253248741 82991727 322658659 990252325 472724703 844811785 37330383 179756317 737667381 497211253 660245845 865712169 341355727 235244979 853333589 827120605 236211395 957607975 48353239 419118769 48162125 59231135 145566347 968370949 666559181 609245007 879869895 923943973 47805647 694371285 270366345 201703231 172159753 684507191 878123643 403609711 157793875 755468001 147621099 511698867 459280819 34032295 708327889 455372793 510854995 397372363 793139403 983650831 785060741 391180525 241920545 746408877 169915845 681760797 401452993 625452153 961559993 507653073 765198405 156623095 75571239 324166115 582793193 295592859 615165447 750112411 128249751 699205567 205040499 170560935 617422301 589968035 366716587 489996569 873065969 831595631 454956319 21780081 556473525 171423543 156643937 421125521 686648237 600647665 336977193 267433931 190022155 210085761 449242207 513331409 993819045 162896305 661692937 572447169 774269947 421063727 997934175 420036127 331140917 574531989 591500987 624209115 502950687 185926247 952425631 221851977 726717491 12581899 151444663 747715109 455170703 625369045 999532503 548299925 590473981 942318587 1694199 678446375 101546471 949455521 328505663 747600591 430070377 683727057 185860343 486262251 350548801 262958969 697781907 109593921 699450325 380445811 409662127 50280703 724086069 932455299 821776909 495955383 371100953 820112719 559888025 750884711 775552735 400471145 120903271 899509367 564365453 843183693 719923889 26751665 841593815 515410521 337501913 203341901 107432207 310686935 424925551 143356135 346066999 627090425 643004705 618098819 517747191 401119447 7631309 530745487 161437 933586549 811319157 408410339 263761183 439270073 189195589 819780281 23763999 491363701 321749137 917934519 736406241 854219107 772064211 158459115 985441879 773294373 284354991 449733577 575954455 379807811 422341105 592308015 859462497 439599151 662977161 7926371 985736221 592258881 865971861 62102543 361511895 160235965 821381465 775429453 114662601 467438281 308450109 846853785 282036945 198073719 614691031 227401429 685661815 17712065 82684897 19852881 928312299 622390665 101539391 635585987 262623747 842220439 622170877 86129989 685493055 269085853 167863115 15924063 936722117 438051379 426336649 974119935 995773797 636831195 74153013 945018231 953713813 205552127 203816703 754211207 782752631 608368879 509305271 660570707 124224465 947760613 691816281 221355879 475866385 235270659 46988555 541765819 471104337 589160273 357701395 550848939 608305229 595331521 536990697 621827069 112869999 693283371 426570533 896332507 660904899 807807825 257820301 187781087 698735877 906281181 598483211 217997827 945906319 679077471 232060849 996678317 132690797 333776465 372968637 964244651 599507019 595739923 590654095 725236531 633650817 140611569 564224181 249371359 353927951 532385307 940155617 976412343 742077339 398181801 911338477 27925799 680339317 26735261 294128351 717713157 681254037 976674271 400974817 780873359 230678681 172803139 350296903 757403239 721351627 597981569 525649545 574487199 733413397 529078075 484834127 873094057 386164243 742242297 740089953 381732705 263480835 725496363 174338227 784907281 340791497 1358637 247540833 663155041 676582137 679679039 852532141 822684011 576329673 905769353 505033731 357364137 756810775 147184927 441389301 734612993 127159659 599868409 353191745 809397185 80613619 832045305 439849929 833902749 653173383 383660517 338916503 447350707 26634665 385738355 506095071 873280137 224604283 293311799 943021821 611859467 804360401 884321975 355753843 86186895 746357535 325645403 346014191 468080593 263741831 220337011 668526399 558160375 952803533 135802935 845648739 601467025 110976867 420613837 413407357 43146383 33540191 173747257 79218137 985092691 53208193 166740335 299167975 849159327 631643951 250971721 212755525 233475489 997062523 855573127 547273909 496734193 292640025 559980241 833316901 940888967 900690281 192663483 88011941 332082893 24371315 450677949 236020593 325858191 555749349 780548919 119342061 326493185 403073049 941934963 227272355 417896897 236754701 278877093 895152201 681061587 8998759 250487521 699912887 228452519 299305335 404618797 825613299 851601169 507638323 696265583 936022821 370187085 588944445 341536891 6007715 291890433 951653083 118342663 4237799 592436027 276447995 467078841 465836695 341197169 261955637 851536405 526809977 440013949 558480331 746826639 160652421 969446823 667916703 401404799 788101331 53092763 480024389 112611881 929316265 693264751 546607345 353397939 133846897 624381857 39127173 321510961 666663101 171404563 794772101 804540569 464167241 593713175 649260835 221613007 61153531 971423071 77037877 739813533 863595737 462725895 267808571 512597425 191094299 633512857 562522203 850717349 234715419 330140413 620576101 439858427 855141979 964431757 163382737 194085151 714448773 756168963 776611005 711170909 476302961 351452037 64678897 776437489 456946709 438617249 804842205 234303229 466844569 551501899 760044951 203749257 942059333 31713761 858087389 592782471 274858381 614291241 701881881 854948049 42984973 713738063 923647577 930520357 871772295 127359465 646238037 62451503 803157991 281939443 855396713 233033345 54308159 504214741 709469601 234405777 807210701 309401945 662697 631663299 759836401 967794871 136397787 279653727 201160507 482771849 797037107 203562133 487750489 770549975 60388697 46811267 354760745 559450895 672260255 222385957 956522669 64143107 77328889 905271655 381886737 88159475 614168329 177766937 676336553 994094979 914809875 132201717 265934831 253681857 282920201 335977373 635897221 944326433 998293633 968240281 872734009 849693825 541621435 707962971 278083583 371894053 840084637 725439547 224033775 750059197 170347191 880671099 179951437 267451741 409255489 271439429 578290053 74415233 854464025 277291689 764507691 90911759 762311 170986913 90178553 454048085 787474555 434540559 385686995 253102089 30906377 12760507 593968581 388319557 888556021 336820309 519415295 776522385 309629539 553312377 857408991 175437529 639379235 317411497 873210601 753753459 140597419 561926729 982039493 978452253 970645277 628555951 61263689 289425659 823308095 847576595 873225073 179771289 371632511 839884439 251634269 771670511 333659381 898297667 998446937 966789209 710781537 190264071 728978907 870988699 326946091 186020287 408712827 698165221 870619231 134745387 342267391 130534345 327086009 320144373 739051087 758010695 89791123 374716077 619997571 296238789 848030967 716933837 512413905 753918475 507142293 637929397 99362207 391829845 911372227 916450225 958610553 996642875 705987201 679396079 786557969 689831621 369220981 680870539 530116161 543027295 221164271 756870021 834297615 111508703 594901991 152288711 173270437 27774849 365586171 471019809 727629653 916391405 973754739 812206667 512610973 36863789 569077823 588541931 582645789 507456183 791493363 23920005 85534115 585965931 974302931 82446479 53501217 715517579 796114883 636132701 436989361 823320775 535560019 102049333 93126297 212936497 319666617 305138239 312054339 350830153 423726295 823365771 735567683 789864691 687567665 329338129 34494289 784157053 961154811 342906807 793749589 473980571 655952135 901170497 771320151 339708523 736696791 501070435 85571979 578524017 747208849 817790135 206853453 780612509 342800391 511931325 706447647 178455363 924162477 658702813 270847149 534907423 917016229 707386219 644520395 452021335 935774387 932624285 615001971 629590907 734227273 314985881 201201351 334213499 629666429 638058339 898868757 620397495 200990221 386378479 467539921 695932405 656498789 541919511 506472339 418612067 199170447 767343769 418131743 756738451 105526341 924080931 504064353 193200005 691490021 996497473 821865837 144536219 949308023 291355761 287033213 361728935 709478313 629530129 707182581 961498075 480353749 1599595 716453471 42057171 683408375 22790321 846604913 61002393 770789817 357794557 809463555 736904343 421841001 697037133 658326297 634920609 941050365 894656655 662211807 762210039 371634711 467390863 8580777 989428797 496396027 377575945 679835635 637612673 619686557 322263455 117997149 742119991 539593615 594044123 65122995 199113535 412217875 305349675 419300843 654581211 702467343 912633577 504217117 942706617 213565717 660785239 65758605 827279087 238004569 855726753 513157033 853457657 45030075 961805779 416548353 231147455 727285957 539317481 408953681 50181771 870553249 687684293 87870079 29110037 701681195 160693039 43281809 720123511 799020257 773461465 22159039 342244409 360082153 885987677 200997217 852419913 47700499 640496185 894320381 279047417 987125975 574488025 258402877 37231113 448670035 561240461 995809779 127066013 65047631 350018447 187779101 641023555 463822907 591066625 763260123 136190703 382966315 495801323 205740411 487197695 484636387 668379199 211559279 596354617 858734533 919878357 39931217 216977865 680196069 623896945 709213671 183680835 835070711 29351607 4242203 667626153 264625245 888543039 520708863 251058267 182853661 581455485 44542673 988881449 206952421 874388437 115635697 130228809 842168845 471997325 256647405 429407317 18339989 97722331 93183607 493505621 762196005 198234581 29124715 93271989 366798601 282566269 404558539 376674893 926880315 670177725 108157635 857328469 593800281 851468645 176830887 534624887 854730413 212828207 25924593 590737087 735647777 818075837 882261059 665513887 150880849 985349271 329880171 592463865 204466299 11623213 118331485 645689105 72859269 474671837 810030383 996543889 793701887 368557027 283378219 964367507 956317985 398874473 620737463 208024209 563132873 606507651 778814569 780463217 110582399 724266793 624041467 30771841 487311729 889832253 473843791 705682807 511756665 954658695 71841397 22504301 532135699 296716471 939599771 268266731 753145193 400644713 998575647 163356637 385126217 882060317 681442435 166986905 661534249 269824061 720679029 59680475 350121771 700457753 337089989 603290827 217723411 946248169 989538159 544330739 378017875 983986131 124428951 69675083 539664387 808259805 839622023 394691887 790335199 104224503 563923637 193364579 428016975 505911549 469050809 135140629 194806627 286033327 464230487 917327581 213166035 416254645 68100989 798839989 768937727 594060707 253715003 641803779 737372139 632388849 207944397 791881619 899475273 369502975 96407447 82242207 121608815 992794393 336343077 277828031 799253595 932783725 597233703 833291257 433056951 675542807 535568509 429105085 81904337 865783063 100891173 263606751 321025185 565659477 678850895 488728219 154246085 216652453 431733323 221989529 15664773 868669631 4172439 306374627 757725903 171579715 81694675 849655535 354094909 576615611 179332813 793079197 665273867 867039129 478837365 7150639 837555235 169549623 814723307 644553811 784489491 263281365 743340655 7304225 592071441 115024539 316981357 907300625 848788991 495825053 749408887 349164813 449258593 26167761 749513547 927663969 385312617 368745757 357649865 830649791 286446317 683247685 993735679 497762121 890473069 30484733 446790687 413741443 725795345 190270431 649297797 140709209 162617253 346230121 136303539 48779295 547610019 473291015 851425619 465672853 647016489 214575627 489271101 847631329 835639297 891883693 762095465 206452877 172923797 303696141 827278329 832845711 477342209 732926005 831833659 724383557 100944899 642063639 991312801 197847669 646158593 144246155 889581767 574181707 444767243 182567765 451151471 433050717 669727959 950688539 806367367 829190057 671645895 990197615 133810973 167706513 351288801 309936589 717919089 191541223 721238997 401994643 315856101 83249883 468775671 744389387 696921603 355971599 112885065 71880807 149770111 563843461 714665843 966472895 886811957 117639341 790606787 989987607 491530537 15100761 379327791 388633429 458481283 174507209 847418969 912396619 242868377 581731489 830577285 231937973 971516901 964550639 512765093 132136239 460501771 513887783 879185487 279946567 241026517 812289575 440993475 437761389 151122999 39484725 794721769 242459131 175075151 636300797 895043405 499421487 489810523 167005077 804165929 788739637 117055433 29691513 609842523 459804189 81509421 951937937 883748971 259658465 752743747 674205991 673163401 762526819 97179371 782327281 750885003 273938283 130889265 666386447 59048175 138193579 400260683 562844163 86924511 816014267 144173457 978020283 202412841 55188509 442605193 902391183 703546693 475412027 251357915 371634487 256315985 89891941 204840029 68048605 634968597 664388055 121671691 782737421 722651647 924417965 770330885 809483451 664282153 349592565 783960473 812805189 223744079 170488991 782910519 715089519 352224473 456938627 563633791 376964201 242058713 759445603 656824369 253068743 769055747 832423913 192875063 538456965 565381049 646891173 88008617 162972425 22301695 71195409 194619581 830801697 8606087 757863823 29500891 968848129 989792169 676725605 165535881 921101641 375084897 154244041 588482687 45414651 361915991 541114577 552046743 226064005 69704155 790482047 423844307 424501437 578492901 625178557 858637919 683646943 868563987 427162459 930052749 672520851 505634989 175789331 917053403 971320037 326183331 33577093 858515945 21422407 277442955 789040701 144812933 605290907 544131235 679626409 868319137 75746851 629390293 138537765 683210841 31463567 734698927 338062065 447180783 543338737 585956201 849991223 276603855 640262857 760003553 862500615 262813581 688725499 74082975 509231193 490573283 437925845 840553681 509768467 753076147 119051787 487699535 352338169 869910283 848127421 80435867 259421121 184694303 816710251 309356503 811787265 705961543 361828615 562610135 242293817 377728775 979819237 797376783 514617815 588268299 755010755 977260961 661706793 997029159 620138435 656547409 397930345 917742933 16425077 728611217 304399799 411144121 369344463 258439799 130670109 177264029 218753067 379478979 688480143 100731509 299890257 411962587 655855073 859423453 45040751 927980753 548145369 527984025 338436375 978748759 305542431 552070801 82059849 489999827 785579841 190917083 478218345 48670791 724456637 656260273 294210883 30679139 351439601 576440439 655237391 87577217 315246121 23886777 589550953 921640095 34932371 950491943 764184663 979527011 733865289 381956767 267249989 992174875 294056783 590164517 307898887 951724739 412807819 299860193 366862815 24957687 687904465 14040107 243282541 551466751 208997593 14931065 520701121 320571337 273559875 132872817 92347983 980863213 929892249 678618079 420958199 259955629 859815245 146896563 969922299 23149035 761065145 268375565 689115657 993768251 857348123 149474603 773538871 454157777 964094111 276241533 610872833 759623565 749597015 537864339 283447887 10978041 471782457 588806443 127000429 90880065 747126057 637382181 990132749 954197053 310587121 483108495 420192849 586647917 740092479 483622811 722976957 208034551 657148589 157946275 445442875 385295787 3153855 312735533 107463717 134085377 340067803 228250083 334649141 449194519 502856019 968984983 280391313 326126773 431143779 113423687 178397639 250080843 995841833 171237907 526497483 729629935 411504815 902364745 215931131 902877279 955590631 30835803 380805661 957925125 670438825 780956645 591035741 475580655 627845815 790495913 518072913 448548051 40501435 643367315 402009077 592696083 781772103 270978485 806184367 996966581 678365393 980396877 370370639 688927335 287406525 927110845 799334149 19529091 553911123 348998543 705497715 606359301 323553477 610041719 535343515 936453781 172458539 267942737 319366893 85888389 119504263 76432927 444763963 120978377 867067843 257714189 645884613 344805635 617753519 516007279 22757423 593368951 707037959 172998079 834796933 826645271 654343527 517748385 762340671 661886073 660791133 111142111 852172601 727394269 395060057 866675565 728149945 945478697 60510387 405225575 829659243 691812333 62176941 850037265 503408995 338267745 49782129 977322451 468303395 496078435 700785423 65593155 775478923 803719035 183352961 871238939 293852139 599443161 830849193 73416255 356123639 413962321 247992143 726580409 319817167 398992743 839462437 407191743 957334261 238620223 292812227 444581801 507278935 629311145 944038059 964094715 182672203 886693659 460809287 714165603 339715727 885214647 433636327 864982449 373960005 753858883 409554373 555270625 375702015 284216877 985671681 201998359 723303343 689582477 868846503 540652447 651007665 63666211 902013349 122049001 467129807 191523671 208849879 79495059 796842291 627345973 633576445 30252897 350182257 393288311 51555521 346594109 396850313 735123837 174084275 963456825 596142815 384508235 913919821 733095057 310133825 697942931 448964591 143678123 70256355 810159787 382825189 672443405 793207395 862212243 776253535 568947567 68925127 622308849 717711731 482897577 154537851 504436501 777105191 693938625 697565269 426501879 464490851 807538145 773335187 7952437 29688311 187750491 858082263 31417367 100106653 382614957 403029299 613442957 42012917 683723895 243196951 404226603 122649995 141532295 965363557 170117429 133054669 230424015 919674975 422668943 717857559 55350635 592508339 39060935 373478567 821022365 377397369 331405593 261132459 954564561 57735467 942992993 498029617 61263257 307525295 81185829 103480625 750760371 753084241 544811673 396146577 87249919 307271113 416213135 81606677 832058763 882467891 7430793 283898737 525299593 291273493 290510765 664505151 562202197 259383899 567683277 284306175 702207601 547653723 358706525 785151769 356468105 612123857 997746301 682711521 489528177 476060643 494175735 45459599 544254243 354492703 186044215 524713027 438904771 825277051 208617045 691680007 313072027 675493201 664657679 227552973 505579295 121781609 529759695 158105199 31510507 75042287 56110757 277749421 131241409 439814779 649693763 387345199 44949391 921664517 576862989 553661319 758990435 420899831 747766281 611444273 998099069 946221339 45833703 798202763 339636287 475923113 859105277 340479199 970416437 445566269 561862473 903727455 558138127 763711965 378959733 933843749 800823467 391595251 95536079 558049327 407459083 771647833 558060109 530987883 410547293 994523977 336843921 433377701 982002929 636461929 89906911 86128795 488458307 572073415 546661163 596675051 908617207 370824919 61726215 417845791 447141079 530705015 6229941 712192937 403231705 694037229 528780571 281411041 965872917 8088037 335758539 318804491 413643985 116924789 639986169 867948621 633742453 289339163 269932933 116527289 465619353 517616313 802946297 449950793 718634739 40986017 248289663 588269535 25642857 95766403 366771955 665847619 386408199 422742401 81294035 634770983 14328317 693628701 124905285 161033509 107666859 820322631 778587161 653325499 191669137 777358161 739740615 981292629 223276633 94040059 731306605 665954115 57173723 831075945 546676435 136004033 444656397 98116905 27307367 137610731 385509141 195515695 79865155 812308687 200627775 64189657 512065827 913232733 305970173 108035307 66504305 123686253 489899243 188383125 614214715 939206851 716970953 660913003 659189815 891662853 763580039 327675497 774251463 503924677 802283831 207878903 643249905 233167741 709456657 914380511 952046435 126939791 411685245 396193367 812470645 351956803 724875011 573240575 635602727 252629449 816496727 314357977 192004897 719698749 326887765 523194195 143719343 566686881 336147455 207082563 812244427 172558809 95477633 984625895 943257619 896600765 181089581 174590179 878491089 888068097 778455425 246371651 290056687 233738823 856324383 149102463 240277001 652396315 417178577 132694643 986851165 800802797 504359819 874462051 652880337 748579605 20147561 795639039 202360565 763411157 749652653 553523291 394812673 803518549 375153091 769497587 604058067 194140331 464644927 667758765 867266547 924298187 35089115 467634391 103739279 899831191 48686715 513559333 376197505 801533147 810980649 713723317 778697285 528571973 169637401 911473421 553786629 664609649 388939687 23701785 426756239 283628511 271650903 89541679 239317081 647261177 39721937 930312717 203139973 848752655 364234219 702368471 55753687 24459099 264079775 527628313 99039425 13933309 63109137 711886795 776206427 333608193 3748235 445386567 338066529 136021 331689091 841762391 84105019 309034709 233795217 248890403 195810553 493276737 221538683 745358915 5736019 323957057 261197865 341745589 858993577 412552553 836106161 948672477 646619647 302952753 199277133 833254281 739599367 665621753 666703971 900427757 631232791 540027405 632203129 907245479 634176045 644807067 30609223 232920509 547055859 96625599 376918693 8316059 627643575 987763321 563738265 55079191 374770545 644068529 900015435 1437037 862982847 524602171 558720787 628715075 100846313 544375247 836166503 588647337 765838813 770645517 498491885 675449359 436401717 423466111 349770097 299695959 67460141 917277081 205326053 864469443 324309679 924727471 998528611 675992321 330374217 458018055 798775857 244996903 268124721 826408135 99701689 381703603 277506889 921702915 80384141 344450697 461811477 36631987 678986603 894848245 398598855 974636215 926722355 523582127 881970741 577545433 241998323 908650707 976734431 907113931 114228189 916337383 943377645 491487271 585995341 546824661 811240491 108203627 144808133 155859703 764161811 481750021 399179761 425408263 730331587 12359233 146752163 303877931 509425923 591185245 474466009 930815473 529497411 385986935 268057781 478354509 571660185 622417305 153379201 522019487 716444357 529154229 452941489 400469417 431199789 97336483 618756833 709717401 814304481 611259175 836640467 514057477 236844183 307230951 887249011 117589993 589747889 308799095 376909781 639677101 473191733 935090509 488179763 963605787 124643283 524751565 674132719 590833003 403220703 764753727 663463575 86310713 216281691 297805525 984950751 88094345 523128047 789374631 699451039 889316555 511426793 8091577 797771995 661965777 959852863 501115377 907835839 962815195 780878995 732464929 918712479 264442765 175176233 480846853 356664821 508297973 762679539 1296699 362788453 744937607 446431879 750963789 743291833 23695649 877325861 71222443 721754087 220620297 917098421 123688115 107164167 939177451 501321411 200601249 361529693 978877917 667643273 750657441 31592023 645410907 870460389 443161795 580119941 408354379 634616415 440035331 167957155 607533565 451575591 573654845 372964757 320001569 197140243 840260927 51198311 637325529 41282209 307976889 500144969 448951975 949918971 451326275 539585945 353895289 835724015 912363615 949138651 51539877 830839797 421807735 791271609 266344169 272124203 337355229 551702277 458458473 881280601 801390023 831339195 994453171 803919597 852402519 664267007 583971001 581787393 447230617 541039645 390119133 607338065 993228669 463978119 564587235 393174853 769223899 986832343 843613175 653570543 22873973 734503891 895012269 573129987 29443317 964865893 526225157 2454243 795978987 266838943 801850725 147882131 254291409 174714559 369224599 294789317 783141897 685963557 67641553 591387345 622604505 345808479 108235185 370620849 63214455 722791967 205725501 851118355 267386873 562204479 174877667 785049665 586355809 941454021 346488949 889419573 499377049 400471259 488856369 745565069 520495729 85948373 806550719 104669585 58383523 40208171 472488233 968852273 681878479 704623749 6947047 408684291 546972289 765801131 299911125 950590789 421796647 10431121 361180727 853047521 808913181 467276881 715020733 295403109 485692835 206024243 29736569 893226249 413529315 287373725 786211307 748975019 275566829 546551331 855716343 13563859 697707195 88080003 23235051 705149103 599123757 291774879 166425467 620014103 913027087 34739585 900668357 987906443 574060303 406046301 456429135 83377459 736613577 40802191 252814341 520131805 43297213 936964761 33336381 772737791 505146195 924564519 231353267 439843259 661848287 606421773 187813263 839231445 456856217 632890181 651546715 55861183 523978913 672628467 854604557 842018447 678712321 886710625 270689285 52616453 954398637 31880709 665602565 273948807 614242169 324897143 803174717 487053861 733168427 366487163 775707711 129471383 464666987 919522047 703726859 898726973 298852039 94607633 610254851 535776283 436974269 937931251 515899129 641874145 119138987 534311683 823670303 425799401 618173149 729340621 860456723 193850929 350114689 684779015 729063387 753786205 892411825 545988233 499232225 663187649 982793841 830319703 159692543 14784851 422891945 106470559 971184751 155243953 558577959 565604529 139501527 897490723 504587177 629277449 916215367 468775575 83757517 455046731 767220527 352106405 625674013 775681091 348836207 33907597 29436683 913025763 36439629 371532855 191557617 437863749 974919797 765786929 445016077 521092783 21488383 938036401 408274573 356184969 886815843 655804567 667922045 37812331 786115979 515047789 473643995 804322571 282070721 914478431 490435717 769621839 778854589 725495621 525985093 814230595 876674459 30507423 33452237 439633689 211878367 374821267 794008245 223063085 757486457 659854321 249162881 613513215 572668603 901857841 178664599 523488319 250135909 385430385 412182345 628675775 54157211 545799033 435175891 32751223 413956843 527586745 596429139 240817295 820688201 299502663 699761619 601142607 77315093 70437089 675025221 526617899 696637199 413160945 990214273 477661629 961622377 69760389 294002761 302172875 809951415 882757203 59426887 638770495 922575351 306247357 977144845 253977133 834689675 700980169 131256849 863978959 23144771 859250725 639791287 134871687 262396245 401068329 453738823 111728099 778389341 292500439 671949043 989456789 268060255 636342225 770889683 271441017 540379849 755155051 349131753 606148499 577280883 724799385 6618655 602426635 42382997 370850555 894836039 593476405 17881817 155826907 802294551 812173199 712626763 674610469 302892337 503043515 986976607 186351217 513556513 160734339 273691123 129502975 394579031 883715293 158764619 239056821 761049387 753388769 718976023 723030307 505822687 633993939 535404395 378849409 452908189 149192223 975307715 829129901 403240823 8349785 794455303 335823151 333807459 450615355 485965953 147402039 767997763 485148329 2982887 194251929 586760931 965384109 533561943 512029913 20073971 626185085 536452439 178475035 33893131 110761329 686792661 594663981 250060461 50577167 894341411 550106507 989925443 711287551 942580223 442592337 31078685 757227031 228619665 788540229 860581749 256903761 510092389 187118299 880062827 13236177 519274861 871585829 695961099 144706531 277583115 281332197 58426437 360933369 54251011 117768579 613689329 174784685 341828223 746267147 454236881 372198597 601994009 105166135 87651213 872384041 762486731 180164711 351636665 834064111 470030587 667386271 404854221 188796499 691317367 263600785 111932971 504105909 296928883 608087955 867472921 673328035 896637581 791119525 177092045 494408397 608922827 155738221 901569117 390880531 781740185 167333691 668331721 863694453 327900109 186859015 775529727 662789661 465413027 974248815 213832397 725913443 484618179 196392635 501557485 968718525 421291831 427801819 387600895 883557075 823404407 172094819 810038159 919079789 241178973 212879767 628491019 749951615 852041779 988482393 395668687 934735651 37133985 210535997 732555547 61626015 561465791 126894713 989181719 360215901 886562315 755174379 416481239 187531761 809165417 482688281 944069459 888562707 150895399 424699445 779821419 188525995 385169145 342396439 991558377 359679937 777389565 554649915 173166209 939124617 978329273 369664713 839412679 148945759 813889815 259929491 507834945 991957445 755386737 746595085 955043413 677396583 831769985 536866391 1736791 720752409 841944943 218394939 702919551 465098451 756255429 461887781 748571885 50492093 262953849 737145899 143969963 88533279 524305131 890133009 298176683 111737453 455863517 293270843 389998535 182742083 7418493 801422779 99478207 935491685 342540129 349990979 475589435 473363899 469264007 872526647 36924623 899863899 63715155 648869789 207245809 486132095 225340561 154673189 490979077 253067 212317561 384221219 266437459 680269321 728492199 554325659 639812111 34601901 116027167 971508017 737441101 818499667 202741585 939464499 746441491 282797311 992997903 857624221 42837063 817550297 166754713 339203339 929071035 139305271 392509077 621401283 506635051 203397779 219799309 26191799 192717365 418636177 739355511 280774783 716263267 59292925 103671729 412686167 291477287 661246919 282618881 260695847 652996313 638133775 671115283 900441729 586727357 510526995 397709821 754455193 735479289 345226051 852181819 706036815 116358559 730721583 544448437 20756779 342584747 509498003 593734837 268736605 263456507 411007059 583389683 223030203 471515993 113150587 133607563 340297925 207092855 820667197 181488129 96545697 488145133 244610547 498321731 186615839 816011069 457572899 666221993 678032055 421880017 959737463 370210797 244985223 832771323 709188033 274053427 212880727 537526769 741817341 196902925 496046741 190244823 621526353 359327597 465247835 715120565 702673669 402108337 916165989 758489723 647874699 561052575 130046749 112881671 143920259 791288163 99721873 620857877 749727149 62158227 645683575 866315089 165968885 614021675 629710129 940255819 211727213 380105617 298447813 719488637 249327443 981296019 534760673 632251721 3991815 623374951 621824221 323782903 373873431 746172839 315458489 630215607 593221685 449620827 935561755 434898087 577610813 647597297 907842133 409651907 757037361 467215931 750254939 783111671 656863805 152052857 760921549 491521555 381809845 104738637 235986677 869898193 224852241 544018889 325561277 885173713 837052409 93278559 364534209 795868063 858602805 845426925 573536831 605887659 71098041 298679735 873009437 727737165 587642785 41532013 904713195 466528199 946164527 50370081 219481825 23342403 993687505 49140563 40064989 174111953 98773525 57073385 525699431 27156587 653586875 5801773 316614061 466495473 967493285 914996437 893476745 157302831 876829661 56468991 438145911 671219667 20024985 978213169 549019297 410299513 905275185 643842647 40004565 119924129 10695209 61481415 31273097 335503797 93132077 562903359 275119583 782826757 443019281 924732641 21936027 836568267 124274639 173936703 312259887 927583783 10456971 262880073 416171185 500476709 17237905 801349473 32346593 683770291 651655761 341217865 887334695 644356269 507326315 816245553 677014159 827665107 723943069 497487787 583220435 186446799 588779223 5820087 427615315 301929263 215435049 786453433 279250963 252675953 309533647 528357247 448587973 169588469 767459629 756087613 99983805 440915201 860075215 601099153 155935231 823658185 841276005 18064769 40084271 83930215 345391311 424277881 192820893 596800475 734510859 138259021 927941697 870630413 235977545 950208575 395801529 970515921 390541785 392447983 822257485 997925087 134646841 336373101 30078187 27465431 355196937 609536815 686791469 44270659 674872341 25791759 812808783 993950103 335958867 209973077 230114107 74793511 592340957 68904879 457582205 655611193 813207029 63932463 542006609 719142131 46121733 92428885 12061329 923644777 357519013 770477059 203361225 37815187 688155019 789380235 416570405 625041489 292173471 568837535 208299389 595419501 16621033 509039197 237886289 582025369 525004701 287552073 958732745 580705391 110329621 49117779 71935665 996075373 29434327 27643343 300070531 792860929 30179981 626568057 507280221 836476535 933159435 503198327 442207751 558083597 633780811 335741271 640873713 306725345 779026287 542725389 561540913 974682365 453619397 764471799 25571719 378483283 318483903 180234971 30925145 625156541 418008825 117198311 29178295 435740409 893552437 695349677 177522775 517493427 440539743 18265131 965640347 475024765 633020555 594561993 223234185 109357261 656729331 718079569 583171535 106164231 584196859 516905979 272396999 824936307 159749933 32274529 827950445 650044227 68307005 655133581 382271083 948246673 258838535 327724775 761635855 617568347 868016781 818492489 992298831 977834637 388892925 809549549 81562829 583430905 4953767 187350649 535186893 385153621 287802887 447752187 770625345 545400133 335417791 267828967 161474239 699764049 876421023 617409563 341659527 857499627 595623317 999045851 784471935 265547115 127221951 864251863 661249593 415596051 165953121 870948387 265422313 265368333 186610403 671064125 194160751 832729449 348597979 331046151 558023763 635005219 501219331 290485969 779850693 613895191 103773247 554930257 247442331 440561427 903747227 322934177 737611347 578869959 441503305 354550089 590928663 186187979 959446435 748498743 258500277 53159587 25187629 685982141 127623333 59963573 839997589 288243867 72532997 147427155 489987499 88346613 493464221 26369975 534826861 729687383 399271899 398981891 716273915 504793785 733486551 534681917 270711457 769190263 446906451 137863771 247163093 893418327 703478193 284939059 606478641 696267651 421533189 196130439 196172149 330307989 66288643 786442753 274064529 203543687 911940621 95346993 111181205 171365823 303035687 423519377 79982271 915483659 479940099 984435331 300753519 123968161 710575095 162044495 38769203 119695899 200692739 215499045 11559357 53294465 439713743 874453793 555031529 796505919 165067943 484217923 323580857 411429931 741701765 779300213 396627799 501659779 748199175 594146695 503782171 700462313 124658293 239967283 294572669 586299759 436538047 129125145 46785823 874160775 164112507 662619333 980604879 886602765 155615719 139912101 81749375 49757771 584074221 131577109 84922955 508817129 279789851 944779861 8219765 962866177 857510057 888499599 830674793 622518541 294186869 40840403 389972667 820237811 73956101 280622875 238152997 766615041 801724557 577778503 320314761 182929131 546426847 944012067 323927541 898834383 64457853 759188573 413498525 501978163 881250447 769286033 904551639 371761923 761320419 290916159 84956717 699037075 674466031 642067151 230637381 597268645 923970515 227425173 116225269 547857241 101033305 710823881 665934647 529759297 433678317 18917259 496874029 279197261 504137895 679589351 519718183 726716895 371462727 17720779 798749075 588941241 945681971 110545171 310381071 877739529 50631547 577526141 217325919 474473829 140329431 264079799 924377963 798005195 880215205 72387663 342670409 247454623 539613679 859325629 937253171 946953903 91530591 605616229 874372493 424661807 839621457 355086737 58328033 680243389 413987777 551528047 855980261 731455837 61362009 173325339 124914289 645580927 809816679 399986067 983538315 364862455 84808675 457319109 627478107 458184961 536708203 396512637 786690871 731512131 626053957 678740089 507058075 137543627 355473253 283454551 135412263 79808015 379970141 785534113 815610023 204465897 754049903 874749641 670755089 667925921 16019075 662231337 692258941 94472931 396601127 36474367 602753585 87975877 608897937 589078137 636882583 309646021 576529825 110882211 404582465 593673413 285592033 236988283 583096045 418995223 618282109 710176223 443843195 164554605 687173197 524614553 907293689 326101731 474607055 73493851 972862103 839884547 58815535 333693117 57461429 802445749 97493047 391464771 359740627 584274259 121037665 135165267 266790045 232915863 726132939 125239105 814574053 878968999 54513213 147613251 509834153 488796689 846644007 595691901 663059721 23312329 997605277 370426615 320427091 171555117 339034467 723858083 377959929 575332355 253935837 879139673 463402903 45617015 872541211 356197341 591471855 638794527 485092307 417369045 568079597 275944951 410743911 907774675 345933475 309063015 845310173 962703697 984564303 92087865 294282211 10716593 123830355 998052773 82836689 453381435 943721017 420436037 655365289 734633761 575882165 94332193 210214157 729494395 738354083 264245927 18752337 49532491 252488965 790475689 537104233 145103483 827466247 292364391 99464949 910236893 304093949 580689797 798321215 522753831 2022241 44778769 191868211 346832125 854644949 491895679 365978729 873632487 828089385 834745003 711152159 65256277 100726347 81324767 883064641 475831203 173697881 51206597 765993049 632789267 821044117 574109043 572808865 423120329 686717037 611644261 962800375 338600925 800726897 31979393 306325219 147742275 519721309 470913813 369768851 543784413 526400789 220715991 47954145 778696823 740650659 433993953 482826827 529345985 829808187 684698043 463777269 358433363 582759227 920541009 919318963 718418095 4283681 152152825 943954427 904177215 430036635 957523825 924297963 418508883 357518463 389236189 997847369 419032869 902127811 195804361 549943177 412296917 283847565 529790253 539279037 720712303 243273767 252461925 791276455 593111267 672410119 274997301 543311791 85464585 994758597 933181389 603732449 113423779 932712487 141829823 738623991 936567897 715193623 616838923 980312401 666384063 194509479 915632407 750590963 990514253 956896275 203313323 76256143 729700453 361548479 93745667 957234811 874764109 506014519 115413687 322739895 287343419 662570029 765069007 980505321 209323333 717541755 316647351 218935649 110546541 260379943 241804101 793645847 235309723 839817819 678526645 351062697 304613795 6828649 427346863 395457887 699225661 410058191 279384893 287715879 591985417 484171565 373024469 30092955 163820435 467001937 855509847 994379257 385759049 123285293 250779141 395478565 228849799 950192861 811483023 992168627 441680269 945378979 877284103 316788697 922107267 552979689 404297453 700092275 732733821 172579399 849311269 469658125 217715571 399637109 918558461 509109715 180706629 383034709 654257705 781068703 769632703 224646133 578656711 954087917 739110799 881931143 669807195 468997093 295292495 474862695 321080277 354190937 446423939 297579799 34920073 400502973 234816403 80128323 753301043 76218417 221896397 568736959 815258361 909567103 572607599 202121861 708063337 762004241 546189207 894785463 996360825 853774339 706900559 857987237 132588163 556197651 792179851 773114813 130827855 414789287 2978591 750862493 675093771 191395535 677811921 425616647 91676233 981878851 367337799 97702375 277342983 352025441 5228053 757946961 152052909 446222129 490560433 568188031 124991495 169346659 901103231 249875157 51874377 447457355 373336009 770701533 900272655 511917037 126994621 465116749 312869987 898081005 604761973 714946045 912613295 762635929 460729845 871543537 406594247 87027437 371000611 875559767 523808235 76323205 376337873 756220799 499940799 766372007 52401083 864374501 89098321 303713861 535337087 500850989 472214037 760832759 485692071 168549665 629471467 655043321 911525 973907895 427847445 991168819 436930001 417136391 76592193 349355063 466631535 825499479 170753669 111613241 331331493 411256847 139098461 52458265 915242629 890121925 725464753 398491999 332545803 403666997 909718475 750694715 62257685 490255679 178240611 356700291 387580269 124097521 437028243 600994999 30538949 85550715 805812451 609586685 679397045 789994557 742278977 604453413 132136895 623909557 729675263 794987943 531535181 154612883 625268701 160646305 708617393 622588071 272353279 433641947 713595937 523909871 20561139 169703363 48273345 198466443 177700781 968527731 126204569 724552137 667666059 944564647 778019739 233854747 418182227 256796617 93035167 642946587 224723761 42749671 254837095 72604047 352828345 190073527 520809629 840377697 509742061 386399899 256033489 11215269 107131437 202373273 200933757 340505491 265275977 177935967 83124739 893589139 3615863 93139013 891846315 568523565 227001937 768321099 746491815 942091285 174669279 21938455 140844047 585546021 256952973 507340539 680365285 814239331 525020723 128901867 813534227 303174393 634641417 903183239 549503849 263832635 366483385 264059927 11816353 393672355 970898509 467536267 268742493 407881941 673315133 476723065 271454755 900923035 1927013 68433185 345422697 739812841 16241675 344721513 662904197 437891547 508125145 492242657 339280569 712907187 276601833 691166913 790653487 90246621 425032885 830592487 990884087 47930605 263699235 175070939 399452939 850373789 286755713 813069259 737880139 515720401 36446339 479451025 921340803 319720083 793831497 385701545 216569699 874815255 190077781 692599869 479914881 475351225 200215445 698243353 834722659 611420157 786389343 410329273 829131633 137470603 388252783 227519543 529544699 983858233 236481261 848115551 101393467 924392449 835795555 987729309 45330257 534846215 362220233 80004361 680062281 393208725 18270075 261508451 58609169 600858657 534446141 305463059 346545285 80339523 296559165 804771877 716404581 275729343 579317523 11528531 781220443 239622531 43500985 188982525 111579895 495096991 874478997 368617511 432078769 364807503 742843251 228193665 493750511 609703415 170676363 99486821 478226421 174844963 197995387 805584849 434577401 398223749 203776835 422694763 165107983 583888631 419260501 107090563 121606973 20542335 270956421 868972305 715823979 577534789 579948815 99611827 806316647 493377695 515437467 716811185 343139311 948371721 997607731 325561849 67499937 265372707 926606925 669357605 734910985 191414459 392376009 454458993 695028629 351811011 751696617 7662535 319736737 261213525 387198555 326442675 797886315 665791415 965230389 423274097 375790881 440535123 226523893 631951835 36490447 687221435 502344575 982130813 546071411 767918509 522101793 497261955 207694315 940417545 643638925 651162821 196051457 697547741 712405477 920050115 705910119 152663899 637954477 687340707 569485495 879822303 264216273 558780215 783233137 772387051 457204389 567427059 152487933 910609195 59761129 849316599 573086893 177565553 202582467 575825163 62167229 283660219 923513019 207742623 946112587 839066667 96677325 516659401 660474465 823556107 148135249 926141511 842248177 224783567 179789327 533152387 2566869 416683281 414758451 405486221 430905547 186495385 462983763 887285271 909743231 505273933 514292845 192928389 128268419 274898753 491371235 655342045 394280013 121076659 641189767 720692173 318388545 756633861 215104649 788634799 539887015 310540225 873688459 307604607 644607921 508506269 121233039 192511975 129521273 857619823 94680837 329155379 37135101 858313793 152112831 864655711 849078569 292893753 750508285 605861637 747343567 276881581 613026659 367069041 807393957 784450583 371674367 171015055 330098511 910612251 257834821 618532087 452355157 937511299 335015187 656493801 825717033 164314949 232539567 999279435 47450659 31969145 236640709 496880559 706292101 213391715 485041259 977961545 816907897 85437297 544983069 839868665 552324113 154701363 163960259 351171143 861365827 953425253 673068967 676859491 40340723 155958507 834723967 198030883 503895273 388167119 995985003 843386373 32717525 308902215 659567597 194793779 263827541 13074859 509098227 525010555 340455141 683083137 859114453 437141845 645225201 183779441 167620171 379253471 726841545 369856595 44315263 433560801 758659495 176338973 221362685 229599433 354866349 554977525 571255481 527704751 743022051 425841447 565960209 601099861 696783161 218538277 14615497 870508573 548304779 162941065 223449361 182618651 844113817 226497817 264045437 503347971 770339597 18800063 703233033 828150583 435673463 143533965 350588443 870413243 110296401 547609279 105035393 637156161 683643133 315095995 470375535 978345247 350186947 270648841 323772549 15905877 396468947 943391579 893622725 716582539 599518281 313691793 722639517 668068109 562080293 558454955 538040803 493203413 525361489 318801877 556897747 693693569 420682909 228203617 306177813 291421017 663529411 669540301 350745011 794806861 971095141 327733691 648593445 407307251 722311945 946503413 486889031 772597385 192709157 324115055 448485469 455033593 336200975 441323587 447077399 198888913 325411079 723886775 442819463 60223561 208166971 260090677 737259565 804307263 752526009 881409873 646297581 623734841 654715259 521626565 587945493 717997163 982764897 435689333 546299481 293817255 374792247 66203755 375720409 85893999 986141611 141874395 414626837 438586347 302775897 715497505 335299071 429935849 689248449 384806335 171023083 126772959 671244875 553052769 91637653 1610733 244596811 487623387 696494373 613989597 438459641 880627495 24690725 631155227 20116597 601997673 902748557 323510975 64306635 739147499 693296055 53963145 581858281 157797155 172943723 934083039 710073003 116052137 877831383 524745937 777784785 235042881 211239565 996779031 552692739 665037783 48486029 399928591 395767253 547094911 489089339 463922113 82736317 321538675 782640227 123133917 973989409 136376855 360493117 510803897 269591621 675216119 456363621 822146899 53642077 854173635 645709537 692092245 484196483 701828699 949009693 82290701 944219829 376700605 102447341 849272435 726245857 424068121 402381715 496059173 202346963 281757119 991437487 202654057 704571209 496961067 81971025 76356659 627209953 347340801 915822317 8487189 906311717 45175053 849048163 233844049 503206025 111155007 260879605 268596431 603715169 607123383 231742801 418328859 663926771 4254133 623863949 27070065 709129829 672875427 667508517 652069547 652481225 405932569 740001793 250894421 547529499 416470221 478741869 119620505 862926649 125372325 204395035 586824021 556549101 992498605 802013229 494680577 771230697 757809175 38138917 453895371 228982983 989937981 157784563 342415485 394479621 392917413 255929323 473075857 695111695 893698297 542958025 893527077 429656887 347158283 301821363 413283073 586759859 788362969 455970613 697947285 724088231 886721925 474448969 214187253 204762139 163270487 225172039 285909477 296019457 841766087 39475447 648520649 342715441 118810479 131541381 239184561 550159727 82295569 820270983 510369619 301889889 620072089 714555385 210299921 173891481 78383899 658188353 573373425 644758161 749143247 23749423 67119521 943239851 335212061 279486451 166141561 847214383 350563469 889347375 16390521 467810127 738307539 209081317 58042953 815158051 401518795 113618053 505820727 700633263 72974455 12102625 865429817 992235225 773303555 230669369 998062831 206327411 692509379 123495985 366288803 700825399 612321585 339560917 162574145 681427143 476563953 602113949 584992865 626835371 961075149 246792037 905864001 954735187 768587705 494313843 629682381 485741597 322168273 731920755 631216527 35088965 281307225 360763769 459385537 414328055 233928889 375453447 596206401 801584195 830542983 611423741 23448215 321380643 940801661 749472171 803933681 575624313 742952831 746798021 471378729 582467595 22258583 144142699 737374141 718483343 961922299 812126239 249241041 479535003 919124739 106562255 807288121 643143345 987288371 159246033 651159659 710194747 396334137 33492707 602813317 72020873 636078309 253061159 972920141 663020245 815086387 105952047 722680885 753023553 22397767 313961709 831627093 975646931 378710637 272038845 11958121 849741185 463126549 831378537 504756697 899036193 770303711 539736347 695708599 966927989 156785545 926063719 988669623 46189863 853805059 772152909 478844987 228037831 426586205 673368881 517216839 822377677 363931605 631321313 128553613 944740511 836656587 643511185 108650851 558368899 876159179 198651103 47870153 972831913 711782283 292094161 535747429 608817197 814891493 831141587 797864327 682205199 731519963 397157563 524273191 335397943 190256279 568091079 644972003 284595321 805785457 838260633 504176131 947636621 75966687 455490369 647728501 828828691 940349321 427068469 982505939 39687063 271302965 789174097 208460377 433982855 143036891 563599833 246094577 767646783 497415317 90485371 984479529 961197567 501181605 984752719 751863609 672599535 446248055 468376015 626606333 421818659 553967773 171396065 371406593 950254483 706036949 706592977 604792689 627240223 246681345 411820375 438534951 85006483 375747627 729873295 610647199 712876701 566940551 626019327 183413505 164793561 817535343 436746899 913774367 543848645 751022699 499902369 633992301 819564239 401233953 217582821 38027275 549924163 153446501 773051525 658388417 364303711 759780917 442839055 876574463 947509313 899897011 245960057 68368859 871285749 783851049 636928541 410923029 92399721 46101771 58679747 191240723 430686839 476240117 836907415 452635621 619825891 486798763 511929647 680556611 720469843 807256085 478721929 780753291 759315291 565289801 524862473 402857157 301329265 70360449 981144443 992120481 110352891 128700191 27654935 740055667 15802429 866916275 628682617 175176511 920449899 808606955 69807013 738521255 644354461 333578661 152901131 203228671 359823063 461414117 820574079 954834237 515639807 835111635 80394301 434720765 497418729 407081413 89661163 181349003 837247051 640651061 217960855 863896787 519798473 879403719 844089525 886124399 253097451 862900551 529113635 295478427 138979875 403186597 607561767 532631871 452818123 198130177 438612589 193528301 269118753 48811673 946213643 651727321 7873361 305035485 87977343 708827619 568663917 160807517 124672939 124757907 107019371 981976021 609330401 880853529 641322287 468392489 548504273 324344139 693352833 628361573 156547741 289375913 165865747 342774715 156526023 519256153 717695101 231396485 809971007 526560299 305800769 82949449 410978903 142960791 756636107 923758767 739243471 160837051 829838439 416894863 643217611 500613727 762968657 175329759 181953495 628462833 762728875 295726023 739429869 668417675 898238333 339189389 616622437 605655529 265169081 230436265 261817093 183871093 228428087 47921077 568103677 939264829 247262393 729565043 608914401 687881207 72834537 954495695 117531053 797664261 971034455 393634267 258031817 767803243 298411133 539724245 141454591 343647197 352228541 970931741 779972741 366886317 799751775 313967937 594011899 704604381 946637717 91389939 4999779 171682835 805379447 242311183 234236459 831677345 67861767 654764439 218760233 156306043 593600047 895080887 536592283 696751425 711447743 593409473 701751333 898526011 987451249 64313907 595126995 701094745 609321703 41670575 723709725 101773105 456378537 532712447 112695263 473908739 527887399 902088471 4543069 80519093 822916029 146456083 669834567 916170199 353619883 959163957 302184369 10457249 299039003 458605545 644030487 875714545 918974237 840639939 150686559 333599311 947405739 337951613 200249815 800882665 751461031 850170107 515968051 241452953 993020119 899535175 599611025 897611739 384159473 818574743 106865527 220582873 826235531 837142595 510405329 635610719 691930407 975577551 207082741 458964201 724265773 428411367 555750817 773013137 765957873 166080607 544347383 984726819 187051947 87992881 856706697 154862603 516734077 794585217 590107721 176031073 464720237 473947035 232734611 3819749 88386673 846267375 204797487 225350399 660336221 103268635 748156747 695111099 424907767 762079971 36713081 135411155 577250535 402505263 758440121 557788581 331155133 436824597 641633135 758649915 261999089 772089041 172420969 31897151 600268521 454791363 656610779 661759245 527233257 672033143 536540515 853347235 783580455 70442147 266389255 353057703 167296439 465509151 95272243 8630889 580829855 479352817 901570237 384894945 240062663 576250691 896329697 621696941 933226749 441560423 838139205 460000277 702875903 27500505 490724599 778108167 615181931 372264511 721479533 887941405 252548557 627647327 640588929 545549971 849566611 494723633 147348093 999069779 889228569 610834639 306246921 618816745 75828125 526134649 339430973 142642577 729619277 226460063 602259863 536808741 333799989 738720467 663425787 806857009 377240915 420783565 593789365 878577377 541037445 306654581 954891645 177188365 548174485 304984019 513124207 158768181 749590071 120936217 737338129 173336447 440733439 492630183 869000013 356169149 694419315 416123389 707934589 79863651 495402233 676967879 844251227 319370897 510264549 431088857 697740557 220007439 801165677 628630827 127123489 409262157 13518517 576361189 639070347 165915233 482144197 266825551 659852971 546164489 324374415 578487773 211721539 785577903 333596653 426563883 202456193 610026337 464152221 870011899 252689147 462166999 51481677 719458361 487209133 596814447 317989257 965748217 379049471 182292273 60953551 797693557 108070587 298766283 324542587 372346639 536495897 723629207 533593565 660584535 488322741 425910161 977376801 943898363 540609427 982922595 771358817 9598681 492263203 573765721 495434143 86505459 791538487 435231087 735069125 480509813 189378319 380997951 86261413 399206067 1987151 136320277 822224117 224978471 537088005 589223389 220530009 842639989 319256485 52086575 616155481 274874217 447778829 396056139 263195751 49609459 249197187 463444247 720158427 406005809 769994163 18800421 533034233 352876647 241822899 365588649 847135207 521847805 953771519 7144323 217238711 125926281 821361277 933304379 913869155 176824517 926446717 129221377 180915661 814977429 216544943 386434729 699439293 624079621 911174965 224789431 889056997 435180101 744820881 476036943 355614173 47343541 692512945 168879169 388857127 115025363 274520043 722256901 602882349 848094799 284059133 324062137 162715199 601722617 463293707 511743267 956310423 50780365 932597921 863924663 800327255 458303217 713369783 354691463 554027143 828071339 446697641 228055125 863917079 754624883 540697661 371060873 94503907 327298017 645277343 573498929 983964845 839318203 912920931 249703427 689340441 687336171 577216905 875329121 205067709 886395779 468916343 634580559 435974163 874006721 273850103 318890623 124336503 589319429 278505023 376388167 199996727 385240029 29389037 376930983 981429889 58109691 451314695 22333253 150100849 861470521 995034619 393508211 709935111 652382109 184645531 562040613 318618925 348239441 79345445 639396859 191775155 64628137 45049665 211160637 852955475 564569885 393748985 528328155 522155951 271609429 434102725 43137385 773659981 41047065 231330945 354674987 127831203 808537949 915585649 927657477 413222151 12624957 34343749 973795463 330177979 232182523 961678095 40606185 835478759 159401219 77360463 739218695 535398047 228812263 457268201 261571437 935310811 740493413 688516651 991357001 692777851 663033183 242283465 59008879 365062987 632474335 206084065 137430113 85479673 544072985 83785721 329202503 739092257 712058217 640436477 389214701 241878083 178456913 242368579 541749455 518412745 237862783 175386759 945245703 641699073 109940929 570583793 748081761 148586025 951812887 168306187 878664265 167656799 706116259 685398219 378850519 685541807 976775857 756242321 928642251 819653127 515672241 179872031 496913803 917882435 682348865 592415653 285746727 509866019 864629027 131285941 914472535 548193871 130208837 456322383 621276025 967749467 850440375 384103637 961599893 797404351 827390389 628288537 669076571 96928219 672059043 652175181 570780193 386703097 465530379 159091215 119704293 183560779 497578147 97900133 605758801 691326699 799573059 310569401 388148147 484399065 686500081 100131301 286100739 849894141 7098837 898937891 290715615 128587819 996923973 149597721 793302413 546157593 28571323 398510805 786482945 270610283 973755357 348995021 661045709 14528427 632818545 844297691 945976115 943929927 565557615 544424007 740739867 515040665 697767151 211846077 721939217 427979749 155522359 459884373 872497489 491699281 616789681 707259271 201600949 437694449 579424239 608795965 159369415 431103163 195928749 342026433 745888439 96742035 381076689 315276491 430239323 760395841 359411041 978209143 666461747 337162359 768462229 435729737 855480167 501947599 647888327 69229105 338311363 821599943 195692153 650068097 91665345 754111179 780391253 620100601 190220671 232683309 576589363 118868157 542860741 530798371 983373323 248915035 290780673 122141649 369598463 403598023 657059917 795123519 702155357 724565345 350609511 184411999 704622999 411137001 783261877 155358473 124000585 739000721 797324615 602582273 69891893 759984109 384236755 900551405 573460039 670713339 119608763 924370527 255237521 670688029 88838917 648585171 573743953 163137571 789580639 340156837 928831463 38217283 42738721 759669027 906244323 715205657 875994699 366400893 264825843 917808809 119409541 615784139 924482037 729224801 34407707 970380561 894041579 990934039 588284681 9454901 141829121 273035273 892909289 265226761 444521099 17325787 756380935 450329415 862660867 925411995 62359885 501427857 101980427 592320445 527104087 940392047 537101683 451486239 266777699 361499987 949271337 474543109 641155671 730003605 154301515 504894751 230758085 723837303 893940507 935208321 39098593 898516515 84159237 384492711 599295883 916965033 195168157 477178999 975284299 841394179 635466141 831455297 46651471 41698579 330770409 788134325 601984369 337637793 950030477 68448243 111727917 837149533 957350841 868399745 459384237 979076323 17500875 349877325 762069695 138399411 571730759 179012777 843691739 992048695 297007573 41478739 59144221 928988351 374221131 696701555 784253777 801880197 320810405 374042003 345769187 12640171 237452035 62125227 827342829 801835833 222915761 922129431 661322539 660382751 498581029 587198109 329155077 269012537 211662327 881168487 628741517 531446599 88381165 859855375 951338359 744784371 396542703 921057679 760843555 86057165 894011925 211287885 550872219 581604687 196832149 461054743 463464843 269984473 110333141 207357729 364600907 242788791 747615329 544764681 967372505 929437719 160777963 465373397 201236961 76931349 146406477 397105137 802620333 141632433 723611789 742802995 176796471 115119573 695280853 238307031 643077917 375573839 368390775 408072069 868427943 809839837 575898097 607659335 22635203 253717279 554116579 879398805 212600587 515373979 500425243 723503433 258519227 760997317 739510923 648282029 732702141 511091191 562030669 947529577 609007519 442928241 748896423 115630997 112064153 733731933 653926915 756363951 554407559 988449481 689389301 689684379 645899765 927400371 469049653 515331751 320553743 806197497 235754155 834636423 131679405 767762791 973895263 314904921 860827473 484832683 788270981 937333667 517884957 229864289 735956601 89054031 172817893 653949959 843972541 84113079 649158685 844128267 615864061 493622165 733938661 483002299 534593549 971870737 676059397 745611343 201896935 714149813 415910125 793569515 454331309 130672247 669637555 819415449 268663213 182950327 732062999 282187335 717284955 252965687 90382207 789202897 859121999 712978469 811749627 181894901 132875341 409931287 281737283 542678367 389774913 735903755 992506805 687295649 544904767 81345381 722443865 871483187 280022657 138807537 995578591 602420597 778467179 541496807 354285723 317380785 594116743 623673571 814326417 206576665 23996811 581760233 962092131 982842311 337944399 435678825 890383205 342751161 828518615 34036789 639039373 537168091 997068879 662315661 821557879 193535999 658068491 583022615 242338927 94610139 931686279 344891099 71792993 391179027 706577507 69418837 930294757 14874927 179120491 633673053 587644475 543774113 370793365 829283131 166947659 400649667 476224249 851653275 934953377 115883731 649555421 695526803 785382009 219014397 80659369 116062111 844578989 330051667 41176051 36276903 88674247 900948939 217249143 783281653 606668535 888383049 771579669 610637633 263420435 737436053 236082905 705643941 130917531 844661089 946265849 404449963 869689013 594982981 627365581 327063355 456434737 810904261 886187483 143468719 185255815 31953991 552975053 292678591 407460053 364004381 652264565 622104469 304422115 793439873 379958993 764259517 512762911 273177493 41487361 414720043 284779427 261713505 568297299 305110589 497766955 692265943 343752761 955760569 938835745 614051791 538516301 421486283 276196243 235335179 695283541 196855817 363796791 670787893 427740219 609373039 248070511 15100893 321674257 881751395 638598207 43781503 813782549 915676083 434604377 431849847 937567145 213577877 205723413 372000787 154956629 946131363 235749743 627047299 140747217 635090661 884184335 175188703 471775479 950816201 959222343 620914473 15558345 607856161 519943691 33979467 934403699 713834285 399044859 250364437 805054281 861507215 954695775 760879937 136679365 185334617 771228455 711797361 552051337 788511485 773651689 787226413 300227427 919315545 553097957 961247461 949509191 411810481 682839297 168083957 528132683 471393973 837268685 670404765 524928185 948811639 147745921 861703175 951904247 84213111 614225403 762582339 544145563 452430747 569829825 576346187 367542367 387765805 17514503 184975617 145720101 710210019 5404575 981265451 85709821 216897755 558648077 435702911 64524821 528496027 266594163 590948243 627969995 870465551 735544229 24743657 645180833 838237837 20422425 36130537 632580933 735431891 693563627 809379303 810164871 464615683 172652775 931978523 320046179 179144365 193775225 883346343 947982333 825341895 513604025 45778321 20842399 290880941 417417319 976070863 183506367 204024867 234370795 830463543 546678261 271540313 984703825 150184585 196832261 745595361 910198355 591267699 385821917 531729851 358792271 159857283 434461581 987117387 952503375 154236979 938368593 682743135 881581821 92452067 342921101 316242219 538295221 771731935 335694029 36237645 859893109 835907669 816855489 930506443 282360803 618146913 313024329 494069265 236133967 103695361 117248099 428172275 483760305 614339107 242539839 153295027 198387367 594131349 920888365 602923761 768606839 190955023 301174443 623517885 701555221 266289463 819117657 618656909 316701715 653831057 380084229 481888315 819090101 115786641 425641121 224579599 896263901 73192593 416836679 869312439 965351199 90486737 383973181 277588293 640379057 953126265 287162605 936366647 725234799 871057821 848620265 907662965 165631973 407416115 817519087 334388043 447719999 231393055 227112159 60201581 453517141 171222315 577724871 914607865 89582759 244139269 74196697 876141171 571434075 6523719 306788721 701255115 677152323 212573301 951886097 162842709 959022803 267981813 85373539 270133453 88383531 534168859 903184959 155727961 956856595 574349853 703275165 910135175 885870075 380106527 598447519 19465035 998086649 301407019 865391763 124674563 594548171 997703983 435543275 209124981 594608859 3685637 756865347 449126095 728699959 232046705 808196189 670139299 426344343 331228185 412575783 150287599 160838233 444347023 377810607 827185947 447945349 320220495 883575093 834631665 540234697 817426871 141920539 843753385 627916927 430043665 35156203 445423581 294308515 924240527 474112857 769534615 543340767 380322377 306906689 891840319 393967487 211182657 699602855 805228975 322211199 366607459 753047731 272536865 373942137 882233467 907982523 686093627 999914169 582628165 38971449 233267977 10363435 201449827 894806993 636404741 415208295 107107421 75027789 466200839 682332077 609125285 352642721 86666069 69851875 962571155 465155819 289428895 468678811 457708651 784139625 501707513 338444551 549637459 348981897 865443809 245361165 401476957 30030559 866813241 762389551 219378307 12573735 521269585 164844959 123422887 827566657 587611359 108893489 866314385 601564217 512108029 457554281 939284723 375221061 580173619 619498347 594196837 971058621 475179119 953926663 991954281 572579367 985595395 355895477 418476905 909635627 487464367 799501459 542164917 945811871 491249047 289025383 158271367 811906943 916446535 613073061 654729729 575521515 750571191 332323423 39407915 160462897 847475011 895974487 22102775 522392513 613866161 672892149 48653885 549469499 900460075 359500871 752441279 739946591 511706443 431516419 731007271 168964119 368381195 177721227 474077189 972844411 425551057 218309859 530942163 585781953 647318891 957092285 337966065 154583633 880904207 296459631 646998187 7745969 75151703 724821753 627098161 143806617 31871563 355911681 173469851 580504035 535830359 270014937 365532651 81985681 389577553 15628917 108906761 965672655 784226423 531191157 159346377 818471151 218813291 199631649 811486435 88671855 514068031 592088937 617319673 321144559 505377637 464864993 702479761 541132093 241451705 745436109 534210849 486410827 278710405 164191505 182246655 704001589 14392433 696436029 389299309 412264253 389337751 849504135 823316883 651993807 940447857 327720145 864044165 829036159 837801957 295688865 809594939 637381383 578142785 209521189 604587927 428508489 49645369 518180663 972978271 872113493 222506475 755636051 408407625 144852313 90341341 178130595 480244201 911493811 903801851 253234419 242837445 277282021 766399897 442065599 468155205 451250331 848162681 225302049 134947257 593661097 576414907 324645861 119829337 153307401 915130351 406577783 231159883 997664223 536071691 800083695 354683283 305529461 22015851 12931597 135030821 808704063 243333331 850646839 17871835 9961945 801419889 239666045 359756917 560113159 310603995 708034711 818084507 298673329 295040015 689590755 188494049 146106861 690993777 496638313 265386687 951289589 140443599 781368025 966719381 491490605 833213021 860535433 920343469 913768737 785813433 607008375 585950011 415505793 483019751 711816525 933390163 291689515 502656087 267038553 769810683 410648355 306756829 603414419 849513497 998007697 402754741 67517079 157798017 486322381 759012741 264524209 176614121 180773197 984448091 180516813 318027765 708671927 854085293 682706053 607023407 354993111 290649429 3393813 184756229 305930141 745113499 615783271 536388305 539752489 338367531 78784263 959809495 85458617 246899739 995956271 139411517 962914237 696398825 73983679 441553175 992301509 884124279 639814459 254320219 104290959 958854679 474667477 978780653 385833979 434744187 34303331 745079445 947783447 298293439 676263525 42040581 328621845 873865837 637317121 54152407 779212367 994626157 558552841 586918793 489947467 760722201 469350129 917322633 353374131 424826411 167093465 220407587 733411161 586655689 884642953 578929555 398807867 519655809 586156399 648965115 970511481 810063175 246155173 632324707 468275041 875611257 930505449 771872957 932986469 523994333 946047393 801924579 620369185 797665695 372540379 769839763 858546519 674630229 591706195 502456953 736637939 867173883 672980837 879058725 809058313 356342777 834609689 694508819 745739729 145708825 124697885 753562785 636362163 786662035 284253129 14803225 586667319 925524225 34969885 497187755 105323537 526015851 273642689 488192629 159697693 733719103 353270785 458318195 183275869 645686351 722757337 565699985 884092669 143723483 781100771 458474911 485161553 683531655 754669673 295151447 751471315 610126175 256277851 872042587 583691303 557335003 756405839 460884787 942757143 49706199 236453253 713577041 893656215 840626841 259599331 498540813 985337539 344988365 195264507 940346025 529063391 669907337 542663423 919529807 61309267 765557321 81250773 339200271 512617141 923449075 640887807 643240163 355380415 618667221 745891501 68973997 725053525 141564837 115950009 913454389 613461889 800257661 630851231 937063211 349889657 134918885 658986377 369645611 816819861 659103689 278124101 268022455 919684953 294975615 385883467 666434611 547399027 100745669 856220855 516719605 670823347 76119743 834081109 123276853 222798869 263122937 68683665 370834197 237061821 632879211 955839621 351442845 788563191 309193841 157828845 769736893 586448435 894652623 334520881 350637137 439142161 635863989 659563875 973863449 702172751 369896373 851320375 660104895 502057949 226499791 570613773 760218835 679093707 98978663 615034607 68972495 192200533 768161611 842550921 168036627 773546465 28341937 325948723 432394475 826039285 842617651 82109163 972658053 109186633 321047769 526690397 701125629 935442103 906551055 712601043 578890579 674114879 236620715 729140295 185658737 916076817 664720361 962537559 499860007 769420157 229408625 764803915 369529389 398802177 34204493 148389905 432303145 899872317 444895987 15110211 446571423 110690559 519698755 727821085 994898949 594740025 12790655 286907017 479746479 539731975 327349335 756721685 158310115 708385963 810202333 487400439 718194889 89408401 715630993 622803985 766508657 936536395 78319447 921935081 815250387 581046167 576191101 992825517 335951061 525130837 740634039 267320885 786564667 958841491 367290147 519596545 436309689 220423557 744445253 956737849 512574441 217260417 574054925 834889897 630568779 109404943 320304079 879181261 964881735 560589273 721771079 996242879 518313009 933684147 28000667 293397577 255479103 593178519 464469849 760126683 114314135 605817513 879997303 466933131 152682813 4523315 137435983 378268185 974576165 282802601 146335401 888494827 442878249 40904103 942529203 34064401 390197511 958580463 601349887 270433347 21525357 24998511 771643531 812044767 39585767 629355829 840320191 428782061 621860083 23268225 814334055 902118171 519336175 939887541 285685943 690941123 632698661 116226397 912758859 690551265 70232263 480276009 264810029 148636191 557942255 290048759 102188741 43174603 538740379 610386633 735502573 156731357 196512695 423060429 813964511 533417201 527705621 733700691 42526529 974647891 827731307 145976791 867617825 112585711 454808413 586897405 653087219 798212701 417606773 205198737 534990487 144932829 813264673 67355011 980915789 116613975 100030651 437116401 349938889 913828695 488359557 327018783 219298843 42778903 137253547 211329141 520979393 158828919 554376505 218532235 464032163 897950203 401519915 390834455 581648139 986174421 391686499 125465599 631798193 89342171 269459881 147336271 788243119 371741325 136719279 720268343 729443213 576365329 233914381 995161879 901145913 888537143 471162183 306276975 550274821 674739319 633035459 149079785 814903217 592100335 547975123 229628765 136835169 316589927 484663473 702062529 260724131 181630797 639689599 333736507 172748907 135559867 368793925 784288279 130039063 158975085 393945845 210647751 561760877 558293965 524766823 585740519 873323159 139445225 864407389 304171321 671999023 493724791 942423169 598631847 677897009 882951897 27626597 168090697 556917247 398366483 656925311 309348437 543971433 493779159 895172147 983436083 667104931 160187005 642646471 506697579 442541133 371657217 132900209 429026737 101082985 889028619 157862471 446967265 478574437 78924523 328044363 214463485 539609625 488187803 164959847 342066481 740885693 566968501 447415659 84121807 817874171 359346563 604703505 809270101 519189469 893246709 621176827 411881829 222862555 616260769 350772145 901592777 983502545 819976135 273599395 213407093 865625861 344053837 778336301 149445765 276640289 137469379 330876817 319483195 47215423 962846815 800888051 244300803 201988313 706077699 957132137 986457457 792747989 401980725 422689003 651647807 499823233 560163365 195516763 268724049 506390417 408320935 785449857 928575665 720519461 755637311 521447437 996718227 415795135 776239887 136898203 47087955 918112077 702499563 788544683 521981813 922158117 177182537 430136999 655839905 367134211 770246981 226281183 736589485 544280847 213028523 755504779 744625811 376806611 415292647 483635409 743280503 648123207 381431313 725143477 777208739 748398535 660437993 805012781 989096845 545674775 99767509 161913871 561002189 335100773 729325287 858161437 285299497 632212297 761537747 882179071 438602121 376573629 785528569 557654601 839675139 929750311 563912289 59312755 860571091 789649235 320662971 222910173 424869465 961473657 60598365 275901651 441217569 544730935 856210759 248275331 536135905 621246605 979353631 234217737 909598065 837276909 299123253 298785125 632009943 829731115 933497729 428749183 227965755 946451331 997610913 570635819 326711541 461339805 967423195 40813855 947693947 314360963 451917603 855834625 219495027 602379691 40376587 405471573 296593065 927218165 828218583 801210767 86918415 281360803 331808105 511365641 994459583 161834083 868037973 193753091 998847231 870756427 327068111 509259173 147057721 346601689 767691705 901693187 695187711 939325425 537510041 272568083 341014543 535122657 742079901 687138489 897756233 456922459 566393501 934441919 767059387 449951361 318353689 139734995 956306583 225184727 626282295 959313807 40071737 156450889 606124745 41792887 122646051 605965099 598919747 225128689 71812865 328016701 958518725 172108113 264589221 43086245 676998679 79449293 721157645 765793003 278004137 755246475 904853083 898514955 553166225 49268367 931415001 110339933 318920333 975713997 612662779 454906281 927558663 287694365 629436765 754826523 667539213 30127683 326422209 441512009 756235607 906418661 632698387 85578033 739884611 565838741 703972199 123959349 916292569 733624015 414810103 196007207 257872839 88814321 656323877 209102391 324407399 673355845 278491519 963536647 922699701 480565501 27947961 972804505 833548379 223740977 562833835 655742813 338448037 814050533 144103257 441512997 222110095 543784703 261627375 403670833 611916723 587252817 587538113 526890021 722834525 872813973 595762249 127303183 888978553 308827501 299849515 564421731 822761375 352760161 695321393 712761855 269418255 970957539 755447377 902210601 540556463 444551755 964850595 688464269 737484815 751753181 56725611 616071489 456856935 417488063 941511447 436921281 513958039 549500419 814641207 744263157 167737891 443990435 583240071 407543335 290994235 204824449 488220907 415150861 711973817 83762789 140756335 891687623 536517915 684348673 632694851 486190039 399952775 522289901 942185413 503850539 233908173 953260459 948459129 815540763 10470757 397681573 684327945 98057055 766516587 772438315 932154439 34914337 566542251 493425527 644044335 696279533 976777107 468662699 663913189 502294199 260915511 91005903 535106229 904878557 292677209 254691285 317465617 128050467 372414305 655489173 320664723 148864441 587361885 594824913 532154881 747415859 713668611 954247219 951947589 509032589 210272435 31838795 215826801 829245741 645400951 627131283 269794499 860898273 95176443 38420587 161665435 789989853 130315415 114221599 173435271 590115265 859482955 648527327 859920441 120663695 467991741 906828227 314208395 276203701 226214975 538482125 835495811 661487881 152467397 477283047 822665035 625998279 947069679 395450337 4699703 428690327 452971525 652942451 120660415 168795779 171272439 552878147 910032779 777368835 407414873 445801943 294626403 228709107 797506159 839874463 479957819 425763991 326881309 762366711 291085871 362083231 817588211 975170335 244830593 636983325 187950375 454759489 141779101 333699985 320142491 102472813 890030869 441841119 734823893 102445723 142938023 688310357 499814403 246189489 928081205 64711335 637959935 648681843 754999753 119876083 905222725 434785175 417756055 434283455 200336895 509137587 252736507 322919671 636072441 695710535 14187127 527153393 521222831 736654017 719136695 749873769 515289147 131145327 789388431 470977671 114690919 750432905 459441401 297128405 94567587 791340853 604823833 304329547 845792519 762615159 926989369 366880579 315224909 110898757 383287759 475402885 552530147 395480947 629264499 113940287 163881171 134602951 176551657 235250179 653370071 870501095 868690207 556754129 878860877 467198567 696270629 979349005 661683517 877395135 600670263 813856643 682849111 456032591 706284473 455187307 23109873 434248289 914494517 905776481 994472969 956689961 426175585 26116459 210168649 836566971 820636693 896638197 27527935 318658077 935390549 610914259 779138083 54877493 727783759 598929733 682854737 221326039 516203859 280198897 261686229 560017849 263534557 788282337 293898395 395366529 24948113 26356619 197370173 410832051 89692731 519621839 279810807 443716035 663604685 421240047 205715379 747686411 819220833 966106265 30019837 521816009 514439229 216669411 418166543 845853737 444772041 782810697 809553353 887360573 173088157 120512947 80905647 273212411 102330479 90325357 43417843 537480519 5997861 209894953 925451883 290355947 517499083 436066313 928988311 326561173 121826963 673111439 615470237 779012319 472585433 580729515 467474255 364407885 108145181 821157297 568991777 960736325 168694287 816076893 536818739 880974105 647139969 611917013 658868045 209849861 388936299 542404773 613489373 205848101 257834741 443988935 90311933 898655625 315522663 754643859 183734123 952846363 22994741 760370129 613672075 466896059 288032505 476441005 430672497 78110757 632928121 89429693 88107987 364458501 768700831 86056957 54913295 297410541 971896447 263653587 14354731 23497811 611868755 597881871 855120603 316449691 198515581 807041249 222188401 976282381 375886731 349871595 583669231 945028059 928276529 48755247 510650365 139904029 360647237 938660891 852316391 773027797 937945297 433796231 507094695 232990701 10508795 788153773 659733725 738508597 919332375 534428209 96012749 939046249 968660131 431693861 109380457 158853157 645838657 121659899 887318599 765605879 616731323 282592145 68543655 899385167 253648903 549759277 937707375 311473029 471291709 705529467 736279345 166048219 475898529 554373519 910347039 359418491 159224223 926853097 801439775 542877557 470194635 64568687 858164147 423141827 612088799 30987627 369753867 365314119 932861119 65209235 99520001 948968137 32758391 573179655 130800145 258850043 912568631 731290441 473079141 762803573 453958749 950355271 98183627 675858105 483673453 180591703 929059769 607871535 133822223 201902391 275562833 11822381 606685721 797605129 312514393 306864103 85316741 505673823 232375871 818386047 739343991 96942635 406409501 845921793 448065339 429113033 629487791 419935579 262030915 36648707 967522909 948452969 153947689 694329601 933441849 769586411 33085875 241729373 374585591 949587339 389254345 800211473 592209143 779337433 454073217 94937475 182733123 965641295 726901015 568037761 69549447 811052877 536881899 478175295 824641563 690921503 656181131 80559451 812045565 258765555 485806503 323399387 122076375 338663653 474643743 30333995 606176249 51790581 319974899 237518625 979360085 577302797 73054029 122363131 689938321 768671485 964032133 403048283 958287855 480203135 854646801 393176913 19143519 648827699 570091161 68636755 744132987 620566947 90672101 449026365 618734463 344681027 219925481 634520915 681977685 463092585 425184703 934556995 779870859 558650197 228681389 539460133 839227735 229641013 366598429 904126067 791234459 440579095 713353635 140986641 178123229 220536819 113379319 368859217 180086347 74107567 681678849 256265445 901577661 280019215 329703625 560829163 453136563 897424327 486685059 906638569 804429397 555638385 649608331 538503371 493866863 387798157 39006307 142254821 816604027 496535171 201522359 452446969 136585625 42459303 889786203 258239783 841220493 142407217 407512391 156918015 708442825 588986945 503626147 304331895 278646115 352863969 103521463 816840937 447423259 133300227 409624313 641756189 163914839 525868161 591123455 284398911 46700327 91043097 378779027 602367973 191909443 335534969 90611355 727799565 723350537 135004973 341141549 410540059 435092353 203494067 117152899 472349147 144575321 703643241 772775937 302321541 252356843 615869849 819214385 145637813 544390963 758067573 666051271 23429999 528182747 86212631 323756191 894700835 709846577 86054781 44407485 852725669 856736299 673704085 3883849 139985201 387525995 751850539 849458841 488497773 975440951 970561533 383495207 114579815 351327357 315502505 82711959 459718291 353457877 928006073 798041013 593823183 640099711 776505503 25161073 950364001 73558883 951463859 686494955 848077045 922594573 747475001 831704161 899032225 544054199 815472727 751142211 719972835 231076929 15712287 200311585 762394781 151257135 613479563 14276279 795654687 376892083 278199421 246660843 579657247 759698851 338540477 271748035 698206137 856941181 983179773 728260471 712392305 803037037 925919191 863652191 148846391 35917373 170541513 95226625 355181405 604398949 785100095 407938311 596012451 167108873 208545161 538312259 192671533 547360233 944434403 115970737 284209287 446335611 263111017 181038711 793787051 231069137 850998825 290284765 916457457 897159855 792209939 357385557 653173023 659745913 765116159 540097663 113607269 725492285 301362865 701733147 110335063 883252151 105428431 515242773 425797361 985334339 417809131 15190655 263184027 520137191 690347903 693734551 631671071 453563989 504285933 519637693 802713779 762738147 526124925 33557887 371076855 284020371 390272863 355344271 858221037 386118919 20729775 810345161 829141251 559602065 758669167 407528751 82480143 458066217 717342339 739506669 12395599 56913519 285164227 385770583 382069095 868424359 893064419 691540197 74873443 111627459 612663685 785495615 91456699 983698521 993668149 284092461 995625803 866846375 853805667 794918051 104150359 265572247 273208935 705574589 80634255 887610553 426604675 592887741 367875335 536732223 609667039 778869777 665884219 590065677 85665167 644885063 316099089 218728105 32914315 441489951 16110295 927055427 811522485 504638843 482316097 857020847 424563413 367885157 263631725 663285617 202593179 289656083 568682465 583659691 896220579 962013405 719201929 129465905 145698413 908759879 572492219 652872055 511444067 694497277 710826805 305671071 923911125 585963731 109179161 486998639 555430397 596384453 973064441 208568149 568703995 449367281 698016965 408996457 284078043 675266985 912704991 711149419 368115083 340073819 722649097 408914625 429104103 936935847 979087987 385778301 275530671 511636555 451980463 874955603 637546635 279305783 545408957 953204643 723749391 345795195 659181825 445845109 808129715 184920915 838147401 670510201 193924823 551927075 514787273 509845253 633604039 673171831 71458079 522587929 806054577 657525247 114428497 134457947 243674033 107684251 986782155 716160027 705390791 500261705 324449379 861774927 333640923 833391417 930770005 965249689 54410945 593100219 664795719 63679807 956207153 177610829 421375047 214378545 988633291 426193551 57916107 42162691 564117785 474200911 98101677 6457593 34379149 849051517 95016759 647817205 493671297 709270329 637139729 658037643 46929461 659979459 919541075 732911343 741348305 928645509 250208635 543165187 891255913 785858327 52617069 350331211 78985459 982169647 106835061 529243387 796006485 163852213 651445835 362827749 886949459 21847985 523594763 390688651 907199137 121192535 554262329 372978195 401626585 110766849 432111813 766201677 766558841 90477365 600179715 641841585 412193263 622599581 137164719 972062047 361456007 15205645 766104815 151442715 705669503 417374591 16510545 55270743 719653365 222732565 365014729 389222183 287957491 537821469 31833271 907543887 721694827 46176009 411841245 692375859 280614197 54006645 318588265 913472995 144896021 408401187 762415345 266465559 695254961 418860543 866092401 18007085 603268765 496857629 489145681 590045485 401427535 169290423 968359003 204203973 772140587 506524977 774058183 773702733 58349177 686181397 91263537 311945927 162362731 714071063 785532573 933831637 969971225 60987667 385535355 715773387 2110343 147914507 358784669 394262941 407467419 397489965 848774467 891060717 13050919 383993545 266303249 761541121 555317223 914870363 397889301 730826439 536456055 411008133 707608771 509226967 448925287 13749015 587383033 270262385 737554977 298907135 254122749 367415931 596729093 240531035 22413179 357336453 46344015 900048751 595515785 801798087 182994475 41997219 636218275 542177569 166022825 427385229 658423983 726932503 843737283 20428519 636815099 125512409 393306203 953742231 645746493 491915329 251157561 821670051 954797457 618310861 44300047 121336643 792472187 121857443 401197173 648371663 416243177 63092627 57326573 554481869 587556401 529227283 26038241 958415333 195937041 527715397 240138401 500845805 120639661 434990063 449507177 311527649 735215761 864834687 92201301 692879585 9131701 78475279 310214259 404866873 584663157 986365531 55099059 626944607 524938135 757515213 459230445 800355309 919133511 663557747 938321891 391573923 965400345 350976259 256173887 225064049 431477773 806779357 547872401 727776103 108884361 939653643 854931027 153165507 489792599 165091897 957664487 351276261 707085741 979262911 246742931 396931931 2820649 572668829 181789069 575440855 142809297 827836793 827500267 25616693 838807569 10865827 367047599 919218295 868765889 159588627 313329859 40210375 200267545 593680489 382206199 428729213 856799171 987448553 20826117 580638993 156688585 220865667 942685069 361388581 344896163 904310737 700535835 808622471 24177965 534341905 762409501 389871145 834585259 458355497 844533487 499183143 641323213 138730153 448719825 788907971 496182693 5249735 962557677 572275305 75388083 715088485 665906771 500128685 683206619 67068681 620665597 119408201 118768235 629822945 624932299 827147551 554638871 265356999 740776071 420955709 910643197 892563767 276583141 776963031 765788579 370666331 47912315 342980931 813903861 631161599 774912715 560284171 207124041 301891229 779324989 617770197 760549723 105764437 217853733 906578551 430365267 889225963 258770875 545059051 687928251 173006033 377700383 6477907 950311561 175586589 2136411 844791807 307362077 253981327 160220259 56136029 629304889 570764431 445187339 421330187 318942219 563396649 480643353 458421709 631402283 265617175 33710901 519555467 934093715 864102071 83518445 574200923 528310183 31306001 724655295 391630711 134241081 305912277 548116745 677212739 180257915 318591831 313171223 823550793 207843595 983474075 452053271 329730879 293013743 710783813 548569123 559442941 794594193 337920677 760611135 48886665 620670667 500747953 676142673 527416075 882111959 804212747 951034157 460830169 335466075 61379065 669483659 475356783 997747045 940909417 187895563 916086125 640054379 448557045 341896759 194266783 442742855 588688601 169036673 30165499 721030209 822524925 588601667 530837657 569478405 346998003 394474939 581943743 208962985 178811375 523202583 446072791 763677867 667235027 980344163 778962803 171974383 861219 453363101 731717713 207088833 839786513 750065315 116959825 467694809 920569203 295598399 118889601 125580115 180239049 281606691 942195729 872620211 283303737 458475751 706103649 3975401 188634517 777711887 251523313 294835271 353451855 609128193 772473965 44783245 140724621 130668303 658898855 631067615 417511953 561480309 257701277 729953739 162960459 882099793 279297391 894613573 768686677 896023213 775091563 387670187 379011563 299076475 761234435 962979523 143313783 155773331 687489747 585380281 779224327 553573815 927518621 110499619 589538131 194762641 687594829 520435199 389651129 968562867 257212661 762139567 762453055 747866003 938859731 164151043 883115161 641164949 885685577 141454129 538748697 109313281 959357921 536405717 672698049 666124297 512739919 680948979 350910265 98569669 670232943 205937145 109470669 573418039 344224835 984419005 589609079 790329929 463089399 631101309 935970007 707064011 962514399 240527069 787640625 914937209 803106933 428105451 806850935 17002479 321088605 449404955 73870399 920240827 655164001 451536459 85991881 577146957 271090549 130106303 137211643 287892477 756572597 201639463 655280741 412059405 904051555 970109335 262285631 561512871 911356909 585109899 869044839 71874523 865784547 563517929 106167653 697453221 968349953 688809983 635497833 408386273 98944811 775010691 219835465 22977629 997929323 271009679 747116931 982883529 760080373 188073899 646311233 551521469 47718951 610063557 366895441 545359547 135321983 919383599 47105065 742092845 872646827 54147239 188624363 941604963 562095233 728726869 700114269 460436887 583208183 475322563 785807597 774217193 342798387 953175529 318017459 856539749 804030847 568216355 674627697 424969723 862685777 296092981 435595913 456937601 596003649 255596111 587491087 435312573 535149333 321149189 626207159 112330327 926334903 924756307 970962913 593899743 992733497 358688159 128024471 252257487 947601623 526265783 495956099 882795913 991307765 919531471 872495873 813188947 362800415 827836293 268623119 492678243 518921991 218120927 896849747 666939853 577301383 61494601 262229535 949880983 808202917 583760025 614932069 910273705 488163723 775688203 442437321 334515155 607899019 440721735 195787921 225555151 321802531 872310103 960784557 349325885 28592883 405249459 703440051 363368361 277074633 82238773 215038433 627347073 416716951 251633959 59071521 310861601 15109497 603307057 458844929 505320905 210028209 484836715 557042359 377761 869206697 298901331 788941605 335505341 497150457 22146765 52299473 48590869 78037081 244369447 628834281 997890697 700406699 139206677 321651525 318330851 487513853 339125941 946732901 959059159 851491201 624860813 416631153 431452921 891479443 799984519 323634741 9675215 884341685 373165565 595119915 625144255 555103123 245105065 106874227 962688797 43508993 509068979 170990289 125213473 829224185 425444517 281235639 118877419 725168799 633175925 24708411 431417477 129102397 486406275 567982621 141196769 483309127 471363985 803502531 154252249 180858457 78323661 905432637 421189421 988205109 228654285 881878595 962717573 5587143 27640719 961248307 223969909 493208867 211851127 585305365 327671411 438984579 739271505 445347223 177754595 709319755 583175765 909644051 270821389 277069573 460402975 936516229 875584549 830695271 753055923 800191383 975687743 701585993 34840449 989857175 473658977 247466159 74226267 465694331 558838129 100654279 876245889 860336101 767193153 110244577 623699353 979575835 226855565 813504121 423253675 153070347 808273395 807584051 523879731 680768333 123365117 755188185 411049737 387050273 391205405 315221345 745149045 789962607 484106923 179861475 560161571 181832387 955559915 752320421 834818857 929988695 306553859 53682191 420734467 460953355 359478021 484911799 635634073 857331811 454209517 249305689 225563957 255959441 726102935 750234581 71185551 831052395 113411027 509906745 378693313 72759919 854864459 204551861 242707797 404932039 354417055 950610345 447558451 692522051 613140043 944792979 411514805 796390997 114395067 445406499 336166803 234136097 812770623 539498793 657182711 648125037 451378963 596013987 327959917 486035369 442746197 711576241 127395049 949506281 860492047 177288609 822040265 950911217 640796977 720295909 102838227 90887973 720539545 291699223 751434803 410687123 892954627 51549437 587854975 757069047 308201755 917121153 435123891 990999467 465303921 226691767 819300149 877967035 363929727 122646743 963974611 365968339 362057127 727074889 872498883 734744907 466554673 920549269 240732575 512421667 624727885 147984239 71300719 925171715 321568025 435451313 954781857 770073143 491244433 142792801 475758599 518082745 610835105 696947371 93844447 306167849 575341593 374710749 825701329 357492171 889525939 562887799 510437609 411483793 961461519 384984347 699109019 999866897 512239801 334758291 807848389 387553161 39514401 376074707 994199979 280027875 142695583 301763831 837147389 329361837 879212917 553911361 31971533 959412255 601244365 639834653 333335963 285880343 463988151 227821343 466431053 948355613 82157101 979252993 697725739 335006305 600151055 309752743 653860081 57809335 977848361 983652379 109969335 267392161 809256745 566625169 127853061 463628359 240798379 60394085 321516487 250581367 710811695 527397659 723019603 649586599 995789855 764992859 496796263 21547001 689899723 717486331 356492069 795698227 110825325 478750965 30009117 363782595 168496421 113971821 204523077 995586753 904871935 467368877 988789241 137753837 568859625 912444715 877149181 518989997 637534655 534464639 142210433 540407827 838536257 700773741 961203735 95202771 44932375 986131171 350925503 276513869 618109909 295451121 613333725 92419209 932104947 678146771 164207935 294669623 848039633 54739949 848338201 978305453 19597499 16498379 275156233 300078315 294616543 79695647 425104917 396806295 183204953 41147331 44593319 945553409 641645609 719271357 420978073 387221791 509044791 180697909 710895399 158652307 58145623 806880387 344195571 562038179 461020481 579290909 752354317 542897471 200211349 163355305 199703019 877115643 6548189 350710259 825613671 496880921 293645197 363946989 843900105 826667649 249780985 577022641 90219967 436314561 181775975 237489285 985313883 88624143 821892605 446789331 354879515 160837197 674072015 508450605 311545575 493215231 412312277 423360081 678956555 867245143 565346799 631431455 791312187 228550445 197478119 542165413 19333525 142643709 667540335 692584981 273429149 26488047 34957345 347227083 25248579 471974355 100006779 436557385 639074523 490841377 164974315 563141179 397738017 640729337 988371901 535321203 851577403 270814751 441188399 595425007 565598135 37976837 572631647 141547985 498721161 985994943 238928215 296257635 175483919 898494993 349123593 962861081 252257295 515598431 266343503 441331087 929376693 672019641 443749351 969441671 999288727 762621143 555686781 289452013 603562931 320408087 384937891 248839379 31054445 933195393 885174223 892656503 346952081 311620547 799440229 112660795 191742807 627881013 858310829 33172137 517467481 283040217 835456473 161794167 593673121 283327825 14996995 33761405 263679383 185210097 54331433 157533887 915951893 645762989 467298359 721820777 481852245 418465831 671873021 671610575 65363453 461914531 4280375 955563115 113142809 990450451 740435843 512233441 540725027 427675663 413086571 977594619 352292851 678195155 66696545 964540847 650367439 742801991 98003901 928011541 774729575 108623611 843115201 923906161 201482191 823016487 159360919 734662705 910704517 349710761 525561679 106338021 762794347 68770827 674650597 985426505 688773073 645981047 16792373 389970497 277195629 85733065 387488781 293609431 324023385 927966335 990404381 695516737 930163485 790183359 474146813 657648087 688279463 94721369 47414321 522595615 115804745 695157443 498640413 867954627 631007939 35005215 151999001 181916053 175802681 866335283 215651673 588617105 856112439 537744237 555289855 9636059 569873589 945055975 289388311 411517375 493732623 425624669 506677137 7219887 698458635 185372729 584995141 950068037 661582547 934312071 809110773 861723463 161197825 879666179 815311435 66511775 88668047 672383751 921894103 560873311 693350883 253522591 455310099 241857731 630738123 599674743 528175969 574706737 554674045 935571687 347975433 833121585 561939603 373835759 242450747 368909173 403809557 494644789 992819731 148079581 974949743 432977161 860838289 390673257 759296631 745557091 668422815 339162181 751940203 477157859 961471501 605526723 634043885 828368845 508312981 227804769 806185231 45668881 732331735 818457281 192200259 929711433 412749919 401305773 519185253 919147955 11252891 347412761 512695487 900728885 957904615 164177951 237037561 51274591 180801667 743784453 656962349 592369767 920237977 707131445 292307413 202636847 858102329 56185923 446036951 181542973 359963997 958719209 190423679 67646911 218483685 321673483 136398727 306747023 708442525 950439091 999247879 33070633 123212851 576399893 785360263 323188405 789025859 650841741 754148083 732962309 304158797 888740253 180282783 16292493 351070137 673072113 580351053 850106479 161614811 726546013 741250077 948942447 684235499 573397723 110457247 701434111 340757257 740874127 373905353 458113333 824383297 30321603 138827511 367277009 216603265 353513197 757749741 1317945 851916965 155766181 606418649 805524351 214061419 89948335 404219985 350362967 755598209 539462647 128725587 398657825 327034229 571756433 156625731 668469477 967682751 60773559 407441135 873398355 5062339 234477773 790201739 279442367 1230795 655117919 680364213 583911725 187023365 64007709 448507505 353313089 746791053 731463655 268406319 87679563 793742433 727316411 934168003 36617025 144623983 18342089 407716457 348234437 149616003 155742817 615526855 898904093 59023195 306076927 791537899 857503799 569790869 555457351 349806921 551130797 717187515 145681669 511147969 112264891 519384383 216300075 981617557 778200649 728996987 480361427 512320883 801070825 199924653 197255491 575156849 358863055 304793091 409891043 376818445 436523485 815152265 48000843 551745577 267712663 931187005 115019825 669216279 891682095 474141693 585073531 445175177 956156539 489348499 631455285 639607451 706263291 887480497 874294673 493470167 406554581 644294895 56835561 791500581 75788761 910867921 342478275 65208543 555395711 348040125 250442953 550783679 691484389 646541573 717821135 260392171 491392213 352638693 239755469 955486961 144367545 588047483 184169963 912081605 30379949 405689809 361071 30893509 973960813 525138137 404609745 264986039 352542819 532394091 88791723 2939847 593588125 153117513 516921279 664087947 470429907 351762719 152414969 251914751 681822307 82680185 486991725 289722507 1163091 417106131 193067861 351318009 871713877 860700559 729031955 191738241 814596801 16795381 611583541 794050493 263754643 265978423 407572589 958294453 502919797 781261677 761039511 167238615 113612467 348453529 99896245 335888117 107006023 399672485 132632053 687275855 205878481 616064099 420123045 214142857 145307797 746709897 474401349 398117295 603162501 350792635 43134839 856548409 520416311 801568127 616361989 977548547 952516331 405085003 136607971 59506771 720871559 648432757 78092333 517729749 873363867 90522689 983128103 828299679 538746207 988760275 611038777 858085165 564079281 981675587 497270777 115528293 573504281 641752965 124615201 973293717 549943751 435736443 239401365 939154291 743009937 765495793 529180255 7739417 205278453 349789335 656416949 325389839 632882973 608125957 725939695 955370049 527505623 50942141 737218449 774743045 82820249 934579753 49672777 648089113 688018053 542927257 327404263 815381921 758851937 272686919 580224359 75379497 479995803 989874003 645924845 632035241 649759307 595712713 348489157 533477757 421259313 957681305 214163551 196013417 595474101 851465371 355935323 518694301 937809123 727860369 63419511 94212267 301192823 134938403 212586147 173146259 280349387 203037925 676867823 878923193 34516969 370747215 350783641 419007467 754677121 974524867 317726977 613542751 831141353 662418567 490647219 72797615 342124833 420603345 718228069 690652899 50913743 773414071 946125809 781466727 929962051 441551931 756127577 643290641 314294645 804793413 381815751 10306845 187004931 889505449 775796371 203972915 823184693 869148703 930368051 830168925 727342587 518552903 388496719 408848657 357708779 982907821 667509165 391116079 99998275 162469567 396829509 201263353 490943213 983364825 774489393 628146463 564995959 970273851 911522995 536428723 901685783 113413133 270503991 577522741 926064815 135870307 235553871 985877641 283840453 435827253 426755257 853241339 837295495 554841699 217471831 986227525 173595341 219975863 140941107 85532287 806315543 532227557 818511745 449872431 217417357 572153217 450652317 64617029 88014075 829396241 128059657 126684949 6759131 665419517 117126769 240097371 509202765 665604499 334948007 277155901 613524501 161949713 622649001 922075209 739003557 563098517 309136793 685963893 583762707 630885417 612459457 983232027 128279327 21364673 281405845 58770691 694118191 581802801 780673713 843908699 717250899 996749631 390630617 996391349 295670851 800186769 138572533 342707727 120300637 215234491 308570139 742427345 801679529 825295411 344539269 139978439 766952405 775176029 909333653 230599971 694820155 772311683 704929755 576043655 427597783 268406483 343197701 288871415 14822227 463570535 87085041 735195101 521384701 360461635 106251427 908655379 32945355 493225037 304683075 157073363 359009375 526170199 731538727 238259907 883703807 949667613 74696393 592395761 592418713 938964541 195207373 530325969 763340741 949752385 514442751 808707139 358026947 545783195 888928591 663240583 488322939 987883427 343035101 110351697 22702713 132767645 668538599 408161201 730783991 73444271 2215133 860638757 308340693 129551339 579768399 386991765 94200983 218905421 188363769 192283211 741663343 562877619 62348991 673026813 689133363 224084455 70924973 294396875 684422241 172268187 93003765 601790007 7082019 41034087 204006385 123461425 181980233 802541773 487367719 512349195 764347717 905504823 247798081 325461381 245532987 887959799 442643985 5948099 30154993 104254275 296391827 705351763 941167831 349244735 703718125 962881321 130350081 918213619 149449829 261771683 628109107 873314895 936222323 963466887 358641103 965383729 361880497 165705727 101061865 985048405 798611169 830736549 391079991 888048231 912591343 99019379 883486997 459691511 184387309 324537297 235333519 299466111 664425241 436660873 453833041 521024609 606781395 538620113 377584819 677858021 172814249 210689097 57723317 762341693 316641613 605631731 415641855 156874881 845127323 337443901 608838365 95187891 756173717 677325309 466292809 46556861 776461159 969815921 461571043 769940847 407128421 420380221 992561391 267716739 152384007 4577645 238321247 413091483 374681589 820064889 189695433 923970877 291322615 110539837 674913387 339205087 288209153 854832639 870240815 356145367 513575727 730147433 943626915 370204775 743061187 980814997 491728383 678758841 560718377 181395709 223278113 306366429 332192757 577111687 629726097 817411277 576411105 305768321 692307581 419009129 559457233 539464351 357253055 54229373 715629775 703136257 844204499 722769079 502126609 653105193 600986083 3794355 610774511 671295749 649797309 157856241 809329389 906492139 130187735 668202459 842477239 514694039 340099667 740018625 951635745 842252081 589561845 609937629 446508837 591656259 781696049 423536207 715533287 277524421 250041113 898469923 495800755 583555089 508453487 260401223 902861561 732273137 136984729 442005399 315115351 754138765 188736937 273870547 336865937 735429503 668057683 983374245 148883343 54598593 478673655 739424667 801076071 92435129 647051421 552590131 677949013 403287347 275276789 728312013 494150329 123842663 977351765 87995823 446213663 883852529 868969659 789780749 52019773 158263255 346241233 50779393 262954987 932849541 796313063 817672587 466176047 517389009 466674671 416401811 220047667 2051063 984980621 713258477 611673929 202302367 879794183 968560209 962258413 525158355 203554381 565702239 463646405 302429449 288310771 498962083 23148183 940828961 562179387 527679883 582997595 765728349 800408845 69618289 553218091 444720235 644608503 28511385 20599367 398362977 813828911 504287787 884241439 958240957 900721047 143832373 780465477 839483491 454254259 669285557 65550961 743225759 823157685 412574601 316590731 373875241 531216501 906106235 818534811 880327965 9247343 301645885 724924371 843954689 980760011 252277353 706460307 962554305 296231001 336169087 723987803 96620465 728841361 528822247 341031127 809897105 896226963 50481651 205222875 115858821 36320035 974697695 110022239 786683675 166046385 185344713 268837003 969325641 482449495 943765179 689715111 528135017 890101971 210711463 299047719 259061059 134343563 40387431 731848615 187250179 900425615 521712569 103834089 887347775 640223895 705402185 813189593 170487797 40692737 660819113 33186699 969461639 8706003 165510479 662286393 407434439 922580417 923765919 236531015 953484773 18375709 158508257 923578687 751142531 726265579 85147719 889850069 921760419 671874765 796978667 474314213 961029557 525641751 720000715 730037873 840698763 484217277 744527059 625861031 978963813 861616225 75964373 106061525 965483751 929713991 893332103 566528635 50731807 533346657 375839629 186962235 128464257 573354567 271765615 294020833 578243819 495585075 527113887 673615197 658274467 499347987 318752885 772798413 300212565 762698353 363177523 267777397 854637079 131166855 720043779 163096253 937945957 485931059 662513143 209191995 321452071 941667327 902313733 80156585 914450599 889346581 351992849 492428011 366660507 19862865 802194915 726523149 904249123 511535665 143226667 679035711 339445185 589770715 702956421 178307041 667226979 682549535 538130547 45000561 872785505 61057395 830712411 968993183 253173363 70349305 295650703 906422843 825725891 550246519 570041673 359264833 461836253 315369051 998451883 883070167 114533557 499178943 109276603 717474883 717458857 178656863 111879791 74046717 90299517 243360933 388096925 39853725 494789217 155913885 873631751 827785961 551504617 665133827 819221847 185712843 502844689 640882225 712844573 519027541 242612799 371573555 959685587 343889093 928229185 301191349 2564059 581706107 25040715 810100751 62995069 697142021 285947645 694999617 86201065 79632661 98586457 748772081 819858747 644630149 196703949 421175663 158118259 76297307 192431663 157657523 22078587 951093441 705791419 175495003 725944611 340507659 831963673 171869873 159933221 290785201 344183123 481052063 407016993 304867163 943783393 338158785 339605667 588806609 664422815 684932693 783347483 115068423 347998929 525798721 922086111 831506457 662806311 706512915 694138165 279065673 90759347 9194503 389720133 10510339 692150005 191455737 914413087 176217307 614470609 685955953 16564157 232667529 993987733 470293405 144772607 427755765 658045173 908626519 891245745 663141671 909747215 282416411 86645121 349862483 373371241 793514001 724421899 954344917 879897071 274141451 466901967 640984881 940217591 357928061 197753653 871356175 208924477 448938121 719933073 938101827 870173673 585494003 74369563 629366987 57960325 790607149 500460531 5484745 724157705 242403149 681005861 906318217 138568399 552926483 333272735 92131963 853195679 632522213 180978749 303580733 175400359 95782613 621358015 576374673 390460281 602615191 373468109 317259365 4110101 627861387 657270523 232523977 673118943 156782265 697703103 155794425 888973987 847382225 229221503 969047897 118010009 37094951 242031743 244394355 602136157 497161919 378125043 138701053 238290421 47211325 698561781 629344207 509573837 945108977 277918083 998073839 970566329 424034769 380029579 411933829 450775289 281890175 158485465 76744935 42177331 580534337 231433771 654710161 417640561 148411653 696639007 236050211 280560169 748610405 734057279 591735145 586038075 253935773 62603517 724171865 941163239 965628053 548286899 533802763 849946593 573655775 448837025 619471045 846496569 167948719 863567855 120964081 488705389 196474599 135732655 47446305 514866533 510257419 782846685 973776401 237806443 886237773 337120087 285730471 259750455 328453507 360913895 994948585 642910693 492860205 755709759 11728143 385907961 879614577 579697913 613456499 820255075 302822943 797586067 683789463 595738999 188011951 773593209 499424039 893533425 500743743 45393149 635347445 636819959 920877975 651956053 639041535 571544085 818209063 583831717 549864037 315827525 864613637 618983157 342655349 521413855 766980335 903289399 748745121 48712363 478920015 302772547 163016837 838659541 510435891 82789597 405935587 155798003 386627155 843151531 582134951 584147457 175288843 608768575 704376803 257210725 164350055 143532051 722118613 34073327 22669331 527151753 169779935 940627919 962133097 753870057 727570571 781543079 696351333 880662117 801895053 546031225 597735855 425182997 476483009 924573619 613499289 346977533 382096681 996854573 288494615 840021251 499868913 782480161 457517771 417945593 106611565 586179635 374189561 847670681 151805975 978692213 794077587 166067077 955222673 746434137 680470575 457197637 357231019 392217021 290546189 741935689 681976915 525351143 330288147 572438255 170194087 807641987 721689297 221591411 702864617 109419429 620630911 394556417 902301829 453470925 466042619 755906217 872088847 613776097 457817805 182460517 53708609 34514731 51509285 335097367 840645119 124283745 516053719 115059589 545175381 786781347 631789159 181089893 725308787 613545587 758339833 154756941 26525623 893350847 664409181 16320703 870540197 539744221 738744585 111065637 481269733 513057163 115515679 872779983 702003021 344242667 199484261 141857527 751209433 218192783 554350665 294343359 776905641 632381801 360730851 694959917 94114313 210198997 997393395 541612855 833690735 258550685 765171425 116448435 74695027 263551721 360745657 643282275 772439003 636909651 615194935 286313967 825762703 477244373 965188021 185893611 759614631 174904789 255622717 361121743 843881049 561144865 68553343 249357821 346341899 803265773 771759313 323877819 454929481 504306647 153029939 558551871 192392133 265529573 253601867 814836127 984341593 852067203 627491433 985641949 430376971 65466759 884541061 692176865 896092165 810802735 660415293 655439231 422882713 554345757 536171993 674547055 529031493 334869857 704958281 201516113 823174057 614445681 130327329 104679345 29390483 236859177 916244133 347948797 970950645 332149453 699646905 449951377 928186089 552781323 339993581 593723053 242449077 925995515 253616503 881951353 424517571 187360023 461529145 355425545 576704679 425799235 510581431 638277717 590625051 76190673 423313189 482950205 628910337 974107251 454162517 584841101 511148391 234614343 967356617 297746675 891416447 600696275 801693609 939556875 75026853 449472259 140760001 401315923 782491227 46144043 484700811 393351225 784416077 586813709 475347751 639350793 584581711 708467657 499640665 911181569 972112475 810442735 811675283 472239167 524417683 692195701 294844139 201960399 416523589 153456053 115618847 617920927 189473509 905916023 192939675 753768073 250554635 49544935 657547369 74098513 881303419 430799515 388616259 316915101 678344993 96269457 324752519 188384001 309723921 422114861 389425213 646886387 1573253 121019451 11657235 817806551 104491233 577141747 68930915 484006135 428511919 331166193 168240937 652614529 282099877 406695225 51404047 787063951 512576411 456624187 343635043 235427365 618031253 454598603 695194907 656895273 857468353 697691173 581156057 690770031 928822125 624877039 883962339 492939181 36848411 369548087 145004071 611878023 388827241 753746033 95978557 694011781 472317987 917356411 277000293 608013081 578058559 472925851 151016325 803043997 550620629 413255037 947197487 921437519 450478123 710113335 246445463 579091291 360390057 927246919 301524125 510071507 172186085 370923919 161049803 13855917 412284827 205626719 550375757 95359437 908652459 53366125 701596665 138780155 94625313 687963349 707853395 406212841 927412019 858918683 243556479 88293167 931548729 263500591 998752333 922199887 4641977 501973091 330425397 84162739 221417309 793739127 482819157 901168813 38100215 106536847 584076149 181686643 421630853 98536759 461208581 392490281 285646631 670451047 552827161 876841175 887704875 222494845 527081845 22344047 711298307 937068857 319739515 894126281 170435401 956478413 403162431 813818023 507526339 744139469 770741111 873748915 779921755 299019829 107616383 749917309 261032739 537391725 475331171 827416703 364196697 415826239 939998927 203671323 749725535 873302753 703074331 484536473 335102909 269295859 621301319 618611499 499666221 796841335 347880955 84427753 742083971 878178267 854781315 738889685 266027719 55126005 580107225 54794969 658850339 385659651 490093469 561076421 737668331 977322665 409960979 180620883 299679129 44513267 696869933 251794981 637510351 108952665 686123903 264420801 271013467 354835639 312192333 150778013 222391857 552864337 647686011 53738767 847282537 404881879 91692441 180055897 779172167 754689117 523176927 574517925 454913079 777050207 71249451 596869123 375943885 493115587 130871045 384129389 304317123 200309207 506223259 535768771 530171387 615394383 162170823 663658705 733766021 716932681 679008005 743564359 599830159 644872267 410769279 736960701 710867831 235424321 630541827 520542133 647269055 347137665 638433799 5185943 464034837 965124297 102657197 742281399 219469641 173706043 489855417 771585101 393535319 711059305 81658013 192936313 292743011 326390083 871133041 737610311 393297335 953205803 101002225 756287143 277780169 900539875 440207493 976671599 438359601 983777691 437755197 317263717 244843443 530961637 429233363 469602865 854798397 309893313 674891169 277858147 905813215 414790803 612896945 799974771 780224981 481290537 514598067 37023943 610869635 623521207 78609149 142212259 357324661 727115483 850184845 657815101 653038939 739021723 622857485 793151913 565308949 522475619 307644875 790839021 857860769 11753993 38894271 355359473 663256367 279339209 150882695 152055427 803858447 29244745 812057707 601684321 196289727 768739735 800635737 449800489 760760543 990597673 600607467 88969319 638868797 335074521 926323549 104257417 867661515 817695729 731286425 772789227 773227427 725827353 563753005 649465547 588980747 130125417 249820239 140901975 295099245 297667423 351354081 416273563 280169819 691400671 951736679 785362581 471500947 629587765 344436499 515871011 355043829 606040345 656556475 361436175 179685775 280821927 6424799 50141453 871623571 864801123 450760359 156109489 777585501 40525885 553562847 179143553 4263535 245247113 228324865 78769891 20910965 783354115 950784555 604775979 815263041 315939025 509415975 524571535 345562065 472498305 319151199 796844851 23230277 326902535 837681647 435015199 620288747 905798339 830506389 949617989 170934839 185476727 276690615 467541119 225736127 471108689 804209253 775865739 735924811 613162727 884729943 882733847 798911431 370075189 623680489 840109999 402524225 293059747 690634023 34175695 915296505 755136507 259924415 17787353 588720977 191761525 777134085 822163223 12730323 550441901 342998011 777260725 297354547 455234983 59254345 412413907 375805261 660047315 524989757 688152941 482755109 611550211 58381773 978992495 970282211 34244471 957286043 447121835 52570333 938787283 681651435 255839447 997482637 688838181 224123823 837488023 27669143 775641569 309399677 231353203 500246213 126436837 706725013 156968925 518228235 426070391 538977247 818259757 120257671 73278275 791426535 288034213 661076599 915394655 286576871 716967535 711007561 694994759 90146493 381077149 983060369 838596321 204615665 73206821 956868363 254815611 54348979 247476459 606823831 450658763 701123545 463938999 760677441 87864301 654304227 3714873 755432511 640367717 4945911 220274959 548183017 409904929 880846053 212484789 954158533 322847863 589788707 208309911 688036219 621888549 295206611 57696517 623499489 87721551 278821051 641560377 978627827 366206593 987889993 571248725 471490257 872611507 140131479 71786081 545408713 802493505 642832993 355085645 374777675 603428081 998209297 473008629 330725367 698237423 674586803 747997979 474430093 772120271 261681667 455467107 840734711 336510609 187220315 50636131 133775181 14722715 326644167 79343763 174773957 128301495 872421875 164007509 804461767 630602523 764409655 105280497 443365081 124030309 995289747 259177111 896731827 643220379 759995821 836268643 77273903 135760937 604601813 567982933 853741391 395411431 514519811 545289815 596857663 777044749 805405397 346651705 558704465 982490181 324668307 458283189 579104515 90083225 712198445 502266733 963863541 574848385 223428665 357881575 99375861 871862233 265218293 137943449 533651701 638465253 196324427 137580761 636539409 763947093 795344073 8882665 674936459 127861819 76373927 414848241 845033423 102224919 21810627 908399109 538489713 782197709 879492773 106820125 452797483 850367659 605348731 411148825 281108191 215904357 328071197 748367301 648559005 825422873 776143373 646739663 151791251 709680461 535329645 76240339 321077535 688161517 629542417 667753809 918840003 639741007 729850989 364725939 618926635 756495919 354610339 309537607 322560555 993229237 869375863 878630731 277231805 323168619 29748571 737011421 509388805 80825415 487551845 904037129 435128653 422082729 929902677 333257405 738004489 78932307 500980625 946467285 215277781 105301107 630651947 758837777 311477365 965600417 827960791 916101657 251718353 552362453 945317877 603041921 168493055 417182841 149142669 886324927 353043769 594235481 151218509 793777721 352274403 834880425 773310095 240458547 835756681 132340231 433638481 660986337 72543707 417092983 992381753 491341149 66374583 760810345 979540887 91079847 598104609 807362993 230860385 993543591 868348995 405937547 752019513 489887793 598098287 767409821 922467941 211044603 720645153 593470965 148559315 134091945 831749885 796494089 685542427 838130885 239589839 938679475 887414911 777491133 765495943 166997051 586216673 477100267 916023365 775361101 505394901 62836627 219153479 973330943 456844431 751965147 911787261 587997647 257227761 507051223 425439991 804770465 587489151 444243069 379340275 973444289 560913771 426803377 384770513 259031271 964923531 100116027 669766559 998197039 944932191 96794061 858165903 759918621 827071757 705857793 533931771 326927265 813426789 762024789 296825705 889496077 274414303 970301749 134829443 623449889 409830809 175105779 360611099 257018625 327235163 297867205 690212143 511561531 504348309 309462223 235201759 105155011 260609629 828772377 545288313 894276087 506141553 217395093 280740975 857387421 648539707 130746395 60598877 372023265 645795017 9030255 308912645 101812313 883394513 856491063 944373843 488160259 635444661 916861701 21801051 171816001 336065915 877664085 881787989 728256483 118630865 423697283 658192553 549839391 672599569 204847325 162718431 517358991 941224247 935808147 654631595 279342909 933790443 857471165 489148137 220212113 828206207 587637087 778028699 664876387 680845799 982882655 626428909 350527217 697022149 304379279 348039987 599007967 781002589 622088105 764462055 489231163 634069409 887772495 380466605 94264953 168453671 952814857 384863567 706485879 353734447 665024841 268655553 235674489 828220831 990094183 389407007 575918383 702248967 507857061 232866733 904522669 387954591 840821037 668412115 668893807 573537605 519340815 378057255 942399835 878424193 605733701 156595299 253632447 207266947 703753393 867558507 237818193 145855775 350981403 117334601 722127147 171229145 366710323 611130931 522848469 767330517 593423509 667250561 510951229 810786787 325462209 868192695 707975093 127482745 26452513 333620611 699912443 572767673 988153861 57140661 131663927 912637289 747602599 369979977 867324915 59375351 858274857 334240611 33972007 820093307 725548433 712804943 704840239 821489077 709344725 367148669 126349775 861674253 346878155 351945869 988685367 582463631 878144565 816750397 684456955 963735029 544023741 565664893 589931799 410046111 242112755 143411805 525773809 973922449 545690193 222861337 908708951 780042621 690543671 838952215 560925821 116231609 951236849 800397277 401161217 992649029 311955629 160660771 209088233 465583303 579179655 984594115 464795297 723635855 971699583 268410557 107654911 594044309 672001405 431272001 42142527 829638775 554627157 204830367 533253385 680630397 24930495 666994773 574146407 647661207 793036125 95930883 676668881 435646041 45652917 429619575 420416801 307293447 701302075 350795427 690977441 578068101 790549577 42724003 962206969 965255265 757685535 923182777 373689665 412396247 38299879 474835793 395913719 534642627 19529391 648099069 16054783 411646891 501908597 392727419 863223207 783572163 49888279 400048299 211222435 800368093 731402849 777122203 349593105 235786107 56050689 35154815 798924149 534169283 776892051 682447021 831500223 425562247 459658133 398687661 774873923 632068155 704546677 61804075 365353917 137085697 689633921 852122613 529868117 980287133 382175217 821818891 323469717 469300865 576757481 538357647 52202611 27557571 686670707 763964107 552767823 858969377 373067645 584033331 145963499 997920263 94751713 851514211 735482229 243377023 559797603 465023005 928444291 415531073 700464553 113168207 900501779 288783537 812938311 138785799 389349255 980352465 614309813 646245509 326888881 252559441 618507347 454607147 614573251 653928331 110345579 381543301 154311515 129181819 173318191 16391491 531645565 669648587 243623095 761224003 711201433 385234889 757464839 250391177 520193153 690689899 520327685 179490109 512809077 242462035 153177221 396930997 204903195 125274565 29855293 808970603 83149435 585944245 182670545 121623555 818642193 652840629 412790985 767130185 38389941 816726535 406949015 273751853 481212335 530222993 108933013 809333965 93030827 466346469 982871809 977296237 840767167 527819319 166825223 182304373 447868007 190834535 736392121 350497149 821382283 776166655 535284237 603444539 287015541 90831913 202243303 895176341 248277469 844107457 717707279 721717655 553767389 278595653 907903287 762217073 304531967 260031707 78072567 781721219 304434475 826205779 77239763 359203661 412694715 888639269 105784625 62129529 920515943 227514223 978678371 296089055 844593753 80897529 902050211 305799797 811852829 977043763 162235667 756375393 219281831 176033329 786997179 105241583 520221525 595970997 841623181 801984401 357765101 472066343 302272353 948250851 912718235 172693909 186408953 922772135 984951541 350938805 602608895 738015943 428268023 227824105 376402691 239448923 797256455 771502903 509324673 999852953 806287347 876475469 752984533 165978857 718575857 842646915 740773965 122109395 695350683 213055705 239230745 96173835 629856249 750960887 781621073 819994221 229763961 757103145 291253751 238469115 438386157 657581417 255771381 325290721 556155539 829023061 691189787 141619825 178203411 595833143 292829219 964040489 108426361 232635385 743737775 466459051 100783673 124661047 21390919 691432385 623095087 702786095 622974299 90851679 536007845 505248967 605852487 477418913 635253061 945938063 930904651 92172233 414521891 724664767 661978001 645876291 259145151 148971573 779957801 7215523 428193535 781101689 558987789 55341987 322316331 813699769 987905823 277155879 588999167 998998479 304481829 97430585 5027987 347536439 492207573 953340173 833783919 967238939 692563397 518639359 660655999 477280073 62775671 173164691 577708057 855775799 31002451 895264625 56841721 321379079 903421869 470121327 86755655 467658109 553819581 964548487 630178701 114101515 497603237 713460957 101264579 778794441 622658667 31827389 943879237 363985267 849420037 123273367 694982103 896415345 776716103 985341193 760797865 453817043 515538935 498795735 103216717 163228497 332329149 993167593 728985539 49663563 202416425 312030293 299733103 543438021 615741365 921647447 153291039 376179569 317232833 846123087 740173575 83898789 57518999 904717001 823420613 214459999 274025323 251742843 53778271 216563017 237460049 261942845 496376639 588044721 41071695 951845653 523303231 351165327 266714189 221252397 327273371 183137409 856655643 78270167 527785717 195227855 875240561 219563919 444253 870025319 157835763 787877625 239410505 727912419 72451627 285861345 659555987 31873407 211282823 759266105 818416515 371480613 879413603 192552219 737569735 934974051 106081021 992622029 161076081 996089711 595710083 972694201 790402559 792749611 684572675 514999153 170538841 874782235 46701173 632109747 248884427 899181681 822333629 472439135 344899593 331963651 313097893 107103619 44358705 679783761 743587291 546861393 797237959 881651587 148462841 218124325 46622395 447981925 512897155 259589505 279056223 452597105 30999007 349860369 198138741 556239301 417797217 865345703 927397405 700345643 249819199 755730241 765586407 428177421 638033821 122844673 70311879 600721799 173366149 570970161 74158619 907971159 379834085 334982981 793766313 569177571 762412951 444328921 270431389 870299451 672578911 720770223 252724621 421343253 424986851 524885939 374309495 633807827 373297333 849224441 460858815 862073979 61750865 37588923 756154673 256044989 483856661 179302235 978798341 975337453 353646411 305769577 14294229 262754573 308189477 723171219 349854891 825238981 529659323 261076151 432614895 953099875 836729871 443079639 587414139 175349725 371813389 846839327 512660873 792062677 536824705 466295523 796490943 302841487 705178919 387561629 975961385 868025853 870902177 318304753 256502337 870292149 908305527 884330153 88269023 903918071 473778971 599515835 581337161 353547691 146770405 895764799 457763631 325898589 479057689 123666297 25579685 969191239 224102365 111919575 509603625 711730503 886481219 776597737 168239517 495451109 733809989 456718443 129304145 67355473 450270661 719128641 646604795 126268513 502290315 566020983 9948853 342071187 252686153 9273661 863046919 630614545 987920023 975568371 153001695 932786857 95149303 861372951 348556943 543699155 826526419 110813529 578019287 721736621 635832443 264203657 517822169 32175871 268642601 220079011 921763111 875170359 704652287 523139275 663541939 386817903 359206661 647670605 65291995 967252067 508552747 995485595 781073251 857422715 204081743 392219983 201597819 606358217 158901805 926072367 818582711 205536513 782954351 450551077 611907091 555260037 374592427 38193987 908882165 262151257 764804949 842016455 156859947 275884847 384732367 402788369 593327851 830515807 539010917 876863151 94663119 346983651 187011655 898747987 942184927 467896937 159635341 690454487 124325255 911882299 219658553 490077249 277914525 3176531 298469939 97962427 510092383 373023311 365964111 365018777 747097199 312070263 747379269 552473683 90913759 223777467 332448439 118560913 479701279 379810737 643842347 850171419 562512913 742826391 913132567 494303205 981550329 844355415 13929169 534778379 643974529 349442431 16533659 110040271 210024387 614558023 168121245 84928925 410093369 512435085 75413995 949924871 533870537 660311001 746058365 780840139 679443135 10202969 725475893 197313739 307330005 181007845 738988761 456579089 689435171 530176767 744635933 935085265 965109041 284246217 117835419 468813415 556335083 712728855 209784531 55211093 472954789 774348381 487271983 492031817 923225889 839604925 397484543 679312401 388051327 801793275 24944763 200874157 99840847 939679113 930611145 851086143 224179079 263234429 244613357 749043985 275699843 925702551 970296027 107843481 197221639 44324157 653439341 481482607 5217089 897061247 442684003 210564951 615696839 721407509 310738533 920594239 995794071 496360543 675087367 222736695 557379093 339738209 924260033 508741243 889321999 606720459 870886899 504808047 4000441 209455863 30564327 554851741 199073713 693689827 261169871 384268475 960804091 738540853 102009797 745265569 42783751 269345083 922262473 374933587 683848873 135532273 314939587 769790975 138169885 16041203 835937415 255858165 481936905 910847113 791101387 992831665 557976955 663190689 166391091 635544791 252750823 665698003 816695881 36529715 669507117 125650015 882078331 740894391 577149327 643431213 194337827 82968445 224260283 358602443 723426693 195147211 786391751 195943279 633889735 96780297 301934129 877708025 553438717 19029711 925656539 957373939 291024925 224082387 526649367 303357065 661050379 158612733 979535255 691488659 145048207 595661651 550098039 518595985 301102171 797660685 465748801 314149289 966516489 326039941 77887965 71934635 777642007 903469627 880259237 307146767 653903857 823285727 889922899 131418867 891712745 944286787 677020685 861412127 128806965 107275359 119041121 992966147 495397113 868809051 30208579 737272245 825357629 130415487 926328081 640029683 670423283 266539327 713595537 89924903 141433077 572233269 712570863 166019935 248466433 820586535 27351233 796445009 160240067 828936703 267604995 306151775 325778891 662276817 153898269 488896143 40340117 959449303 889454809 822630799 623076991 755112051 481462383 337751993 263075027 141202739 130552953 550006281 277039809 924706507 344113663 261757479 486160487 112768529 694882671 96425317 259910593 293998095 139052955 932371895 897707963 513688811 217219779 741618879 937353509 429179129 203662731 382015169 192820153 191183799 857145343 188704175 231303961 342494919 524543127 958524447 455646669 427510515 751429935 285154897 233602631 848036657 488446477 856270635 900875743 350457241 737166557 335110461 669986775 571908719 604149685 550788031 781463641 143336223 451279889 876129167 156632437 223125309 395603415 323415605 257095205 996033923 251040341 75251425 950081867 626686677 76597569 488464231 812825775 574387519 346871733 129972043 728173057 967296241 53288249 114055345 907031517 886532937 14733497 230902633 392016067 541549515 423210379 172732393 136156189 63356703 267666541 221676627 895712571 72590363 294374019 259254635 497203287 530483385 275899481 644545445 971935123 36046621 386880231 166811667 609445879 507683475 594179209 491874679 505064051 160932493 253148675 32165177 817615075 119088549 884088197 749116517 788238087 530765473 713872801 451886261 125755785 10047337 203837527 478846345 601023737 671332371 920222731 763986661 554398417 334906331 656964747 941154427 179789937 506143265 438103565 816122529 168483365 942258547 632093739 691012951 136573467 261383809 96190189 245612355 923708271 580304171 802112447 697792693 158049569 597108593 599080567 360476837 475068187 838988927 569292881 131963313 518417707 196414887 2239731 602440481 944628239 4039013 616115053 531526629 329082471 20400223 840081199 738342289 3181497 746190429 273307419 676542313 251653499 808331091 306356851 737681745 624695297 223347803 510708711 101553879 913468305 392689851 640952969 519249463 66494291 634336989 470684377 104844109 112250965 627560277 491039675 214806687 512947861 973705179 675951483 826363999 2683377 397239383 533576913 918517093 738903349 579128785 694203355 187337773 837769999 582565245 313905945 239946207 635910939 311261111 37323901 886110541 157749977 159811329 606392411 771461099 913716401 956692743 306004591 506576089 903570679 248497565 648090335 676729825 652599521 176224699 804657977 331229807 206083989 799713417 824653171 120938139 796988695 407132751 497622759 866280995 130921819 542120323 502011229 585854833 729871163 964182459 130877443 641094293 120287093 155626689 125125227 322707521 958527927 742398843 947590035 606956249 578548109 719281919 313135843 999288675 558468981 985032583 973940007 571794575 839952845 101420407 445245841 311885747 305443807 9357913 584599747 50960333 16916189 85893601 858644417 629267591 190067937 856313069 421065973 455193903 825604073 300085371 503510841 147098043 263552737 512246457 667463879 741051341 345183899 60897787 169494597 794740137 554619085 380456379 540993985 579777857 25961755 716710813 819834287 417123629 572803087 905971821 703396335 480017833 130496021 517335837 806200513 677609373 955352717 83714503 654221273 210796443 267933875 119112367 1755973 985490135 718696627 411476291 249811081 675388465 582587039 32202515 982243717 17578291 299544429 563835611 826646923 250235143 711009793 157634433 995235915 664189833 489337379 331258635 485156071 352322103 217451397 840766385 929581793 220259639 633539775 882363083 803525929 987969625 870217813 422678495 678737169 270183445 605655469 586304407 926596953 42548361 758375961 6962885 96725797 1179773 543971283 273042279 937517315 248728159 349775101 133507485 689130471 728868169 271163039 473958581 31215663 433104887 444629419 435058719 107434657 962804179 464682489 585438331 814352743 716716011 808425291 788825737 408005403 296998389 992830027 535459893 769327543 338229075 748345227 372774289 502889379 707457035 325836417 427613659 384205993 776551883 451699343 736958067 856216319 978063083 130810369 779097575 587782213 124297067 730145031 325411049 620172925 54981105 635400889 81055061 293251861 214304463 851380249 991340333 784986083 386191609 89838865 336967581 346270245 514620175 861433201 574141433 354883967 495030875 406625267 404221627 554881789 249833927 942965049 735412869 630055447 638246639 930954443 669807397 495108521 139511569 34077209 3762317 12741881 874535443 281321855 619808729 485611697 356043653 304254269 411475533 371941867 476650399 83511933 807766097 613770529 996780095 830663759 293251705 535844153 747935725 897504429 601352323 971608705 173215447 513409913 196446801 397823917 864489431 876071801 557468909 301474525 545140585 350029667 237157773 779638419 275366071 122868429 422250633 294258365 433187983 818266937 579216485 121917361 436551271 931707665 562671823 101029675 828555617 20108451 344200085 607750995 33656641 786038061 753939385 93543859 608955257 187612111 426443865 601451587 671798817 436418703 634060225 991647837 985221877 213085539 516376165 138184139 691954781 86873377 106493923 424935349 352949865 185323147 214101497 258825653 996204497 698862921 43216791 564312773 727235829 412815599 652805069 356015179 52409049 531306997 979524311 755259155 951194671 710968507 650173721 815385173 804079693 197581453 603014687 541056685 522465841 124296345 507569561 7006497 306172805 791738107 725955175 725477405 976204695 817213873 754436487 339529335 531155551 620944809 255150889 91273323 729027963 489047473 770006941 598633121 524928307 211573121 602371169 958776099 16009589 175006911 278177557 562791015 644384475 386439663 410966151 805600333 132481953 677810053 439400359 844701975 293302449 799032027 536497813 104106611 850198167 769211697 230297489 692848247 103483535 50248879 330862087 734072993 214472563 594148713 992389001 861550293 711483087 969655381 639818451 401378399 24783311 100078167 864742603 677741303 173364811 519759161 229004153 584416185 45249475 262870697 924695313 641254955 787886175 631346497 745850605 717088569 192538091 50565509 241974419 760925751 454010593 140411611 973417645 284093925 694624607 307302039 325692431 817803111 670566445 368814831 835501747 330024267 732535227 348991495 46563003 860207239 550796575 80785641 862957429 369872245 250507033 674201731 197839443 366836445 39369999 490311855 397355505 604379883 4728337 908418353 212912913 660866101 355136981 360942255 979820447 175305913 755128253 88681915 746042799 521803481 696568783 339461585 56214651 605753959 253399993 784578127 180139879 686306707 564550101 487524735 757511933 301880319 477359647 493431187 566415857 830668205 699414337 125595555 832837663 470231565 888341897 615532211 587191177 786423025 633176557 252763305 706138461 389758873 162972431 28149591 422012651 519755689 429613107 675745143 285967535 919965743 799979083 640706475 232240461 926188703 670382317 320106363 103108239 214362071 370943321 566920281 838744681 571787549 835944823 264596125 674882039 218533149 667149011 387554955 85474429 614896365 259982247 563690313 279224419 589020937 250757073 982925289 546468927 934197849 382718937 969323621 292208589 239650087 606461423 817982111 585116909 712174633 761481449 816621919 82306219 943275391 671214917 220257111 944228925 267794859 352130605 249119775 618428411 773467291 3220079 159582009 778974827 764075175 406294915 290520847 544213301 270955399 182229639 245830129 358565423 493078373 901894467 400302361 88074837 181559245 827643173 257775529 486773959 297721523 228460101 752800681 656995283 881674613 609537125 885828363 132822505 706071511 998309863 116499111 895415977 234027273 698479327 952652607 486998481 916626079 862093825 638545021 683294801 581471637 749629359 764298737 635165499 524806481 82277613 547486229 932476103 358912673 823912045 567534409 227976539 315054265 990109573 718813913 442970243 736966201 679528245 834945013 924988401 300981283 272448805 916582581 636112001 93573861 271643809 431278363 102189877 127433557 922126755 572228623 995392057 30223279 165893577 205748837 675445215 547137179 330213211 440527829 849585573 435879459 261224521 612957185 612718379 163227327 191529257 544584049 758351167 456870475 620569145 706885269 709181651 555606795 42202723 960671945 661594115 217496239 580351541 949365069 744944913 667535177 333817575 992869451 83780457 853129817 943342423 779466193 208406687 53113795 627081995 331015901 318274413 862373589 563021623 685038159 902020789 609545027 904381357 211712493 637977221 376541739 680058863 31025005 514950929 139646739 784912421 260254051 926419375 630727911 617133597 677474901 331789289 532419325 304538701 311255979 426658405 598181905 305058517 630699189 969541113 120153931 453241471 791937963 545455775 710390581 990005175 311274163 868310651 422882503 7902101 915150545 510925015 105366107 78402265 776968955 727913255 191484089 709221609 226942213 222502919 834945039 870332629 429715125 957862459 366413551 789056085 996225201 713621931 497351513 25295049 641455501 588141165 953745329 492046389 492668609 290199483 679050179 846794313 443797933 317103353 886502343 997610335 236336795 706308275 551451993 98308981 404238271 293121945 504537215 485591855 498410541 359690121 8273061 823601377 520752875 655441031 557904287 825526657 194635743 386996667 332569773 110215597 358179037 834351739 868320629 780973229 235167387 900854595 88826625 27232111 419440575 530357939 663697095 153754507 696273869 450483351 921132453 671523393 303947833 152530661 729912033 458298233 70376283 960013495 389649705 614182081 881914231 627566925 337569167 765703759 951200691 179269911 727184017 787158019 779608867 176870053 551667991 248709223 570186173 579355573 667558251 731410855 127663973 782134823 658293829 325033115 565914853 62199561 152283073 499136963 279647467 34396043 823962723 354856005 742594833 438194701 120918555 501391601 578661593 806500623 211359549 728426303 600389807 401363517 943883651 326966861 752648415 506339177 213624601 554740195 683723941 534949265 456074117 603925873 991711523 848228309 500357315 633636619 491542625 260454019 643576875 976081013 345725009 193240589 229855621 219618323 870015437 737774607 909590013 887651829 237342099 655308363 328980263 610791121 941960527 23573421 474405381 81458953 385422995 438751047 402145271 817471907 453425621 481709911 33507791 147514701 37124473 81632831 657979069 648832351 103311559 407843721 750179683 272275163 270625007 100726505 174499523 460965731 437874703 429994299 261686603 526652491 31744547 217721217 227521491 170740615 635872791 292567527 397267605 67759799 798987451 685126849 771169333 382402597 83752393 531943817 300294341 942651325 921094371 394618339 12471479 144458775 432406161 172133529 238506985 637946739 114929477 72026783 650926753 97327799 944519767 239042577 625097355 822779507 9544457 760941361 999868347 810164191 388983173 910853997 688190385 534213593 92041691 914728533 857525331 981397993 303085829 682541221 647131883 312469823 380918757 23547201 788162351 510506415 259260483 346605107 535772735 53625533 35786191 737665967 375686045 723032205 317720869 102660371 431390775 128768749 390397639 813450717 188075875 696649817 66423833 205437117 87311327 744789741 583156849 367873155 58793165 60672367 189930503 557750571 6451391 360364115 635142397 480823513 770863271 770047147 388236891 970779351 703265505 846112569 461351185 502072475 631405623 193630565 333202171 266234557 619108561 467250235 590773721 889157635 100634441 65104757 470356565 557682775 721142169 496791155 713113343 955365835 877513767 799358265 948789585 847328667 402204865 535495545 110410923 238369579 507024283 2865545 300118873 134814983 5584467 428853097 138350985 594190817 861435119 673975231 944919639 534434707 935900891 98649307 233726659 853930531 727820269 222015413 131664567 40166587 897482083 133331691 349504515 643243181 293166303 988258245 756568415 978786935 349023089 520649523 914027377 949822649 759310991 51738825 303272893 516321601 186414357 726873035 986837945 674889729 446131271 190990363 852447675 755171349 262637267 810689869 922443779 80898239 678134225 74251671 878711231 507889259 559555513 961628375 958434813 52649899 774056309 668475283 697231029 985807933 994063697 768504317 10035149 786323457 288781313 335045357 326846473 386603013 122114467 927427807 614170141 388018043 646075069 583219963 59327907 759696063 54472507 986739219 759497755 377679443 893582193 805489051 206916077 264363491 959183137 535726259 589436269 542970691 499549803 919786277 551851473 689085805 426677983 768539739 730938431 757241733 999813235 983310961 604625083 987802069 474420353 885625125 274320697 440255697 766447313 134052061 903860883 448544789 695083663 856147369 491297159 957913955 426445649 954896449 39433155 533655975 840672277 514094851 974864083 753580021 442489407 69006071 490136373 415886983 697629339 162077389 384938823 375577025 701193313 673792985 543545427 527093549 50571821 374630175 968779659 398316161 693192963 210617411 624367369 170942101 627973971 482138771 168043723 63868013 23781873 122797067 57563071 156600375 347196697 852862023 688657073 136203331 119872881 208113549 190088541 150764557 361968903 901622735 87342949 607782713 151628367 353948581 230695763 216066193 923319591 340657995 146428309 251165451 695533013 926252457 42292101 799581375 720985605 972987729 668122213 464635379 53937613 269276535 278549601 751302671 921151147 864367867 703113093 724737705 557777537 894021477 421962957 164740733 555493535 685592549 518429467 421675115 492108987 838022737 732982839 773509761 416251889 714761769 686062035 397369583 803347909 449785747 516442249 951248149 607598887 568438879 295680215 647588977 802726249 979652357 739704873 370190259 701049675 918992803 416869327 961074091 320436721 456707329 206206981 537810007 788905959 515671949 553899239 135159767 459239973 990558305 960857987 6529913 451872009 576559673 713756361 436271791 468984147 529070207 485385873 312884755 869450549 121130049 616554655 370808939 900385091 4441397 902362007 981091745 724379001 63519933 624755729 743315913 284131901 636605663 658625921 494660635 635295583 512368457 292102475 763183103 119215375 531204691 218381237 721275389 114809071 185056253 726982389 706110665 453231873 869910253 323161633 449135677 20907187 595203445 647911483 90755681 863899099 854441609 348050733 794673755 31035831 333985993 994117319 400457087 258329067 375106941 246852037 639742027 451996035 664288661 525707971 437874017 881078775 871427239 900015951 333291659 113487395 615699443 602117849 753735613 370527051 828300127 40458169 439948819 310756895 494388859 50897969 876561615 696914867 49013119 622641513 84170845 398875267 643403849 963252341 181679441 370593653 660170593 126028621 843756901 379602647 31782133 200083923 43818621 278900061 515275743 978315471 353119651 399689509 727937179 237081841 655466507 392934581 990308435 450973141 399797777 13181433 672151507 230791419 706924089 213031239 942594199 312460493 842434603 67208797 935832507 589523355 252118973 343938909 509630725 135843999 5398505 573311449 65951719 822589689 299551699 756964801 69050487 370218165 71964613 762780279 823362677 340700097 543161397 243692477 704648265 32260857 891999419 34515651 600994303 2094365 404598045 112943387 593043025 927597525 202761283 658247109 831852959 869023925 160187715 482838565 53030637 266995765 890528343 512585993 542937325 411475125 464246755 131376549 621869811 446709633 897551731 188947607 44424707 874382279 678929593 23824613 822229953 582609827 989669007 192169211 101265277 437398805 963415035 370110895 107560239 418212613 356263205 996114237 434950261 830836295 394035813 833970763 817427351 305398931 43656497 41464039 484023939 156456841 665354031 935942023 443799507 27328947 811724075 14347781 80774595 691744131 39326231 775418537 129315133 641698899 751527949 150111009 50651341 580683107 172126547 825533823 692137903 428745435 773513555 366053187 196022461 799458511 809709471 948059729 770062211 960000053 656358133 698425333 138127149 66006003 77733429 101919207 27770259 260732365 146489709 784789827 357981237 848617335 128855759 457094029 554374457 297217931 599182775 429318069 991243377 667077767 523557799 474892047 105935953 272488919 638662475 621763159 647460089 339318989 986655605 102997171 130835249 160184737 329010723 368608433 992279401 699339891 341670775 965252421 236936375 429054541 150073531 549586127 396190171 946198049 695833955 478042129 424385083 755267015 16216587 732237113 293397223 69371139 666381685 784923357 962015637 437970555 142497165 866721017 312844199 796488899 875800167 755034613 367661347 138402641 458617147 490161563 884895671 493135241 601305457 737212451 257102269 667916723 382137745 521166633 586647857 498296321 165952081 882601649 701814461 587168651 374697353 844779563 229216431 423146325 232932157 396653417 819852285 233026373 759551641 940570539 566668103 151931181 865842417 140956821 458173911 850204617 352481471 59285301 825227417 832169909 62464679 209132799 543123749 382698111 334060659 177009873 930300091 893658007 747116057 255199729 118288193 150123863 263367857 9872139 766399049 284963837 874887551 735234869 719277575 48935605 826828017 81130219 675702875 474609295 530749335 280932115 375599565 796545413 14047021 176120827 999061645 318796665 600824727 64268889 13581169 195727667 189033439 31961671 996310775 697824101 653902651 944979535 773437513 265178023 574476291 328120921 634807861 439492987 719295165 282023613 320306739 376283467 493068563 430983481 988331361 555703143 966297303 680101873 568607623 294077707 997137157 489096817 874723347 661590355 759936705 124267185 294541597 554475085 154903127 568096781 958021223 450646505 52730425 930689611 367983187 335378175 691260929 554365079 15763189 155428945 632325493 872881285 366552833 850950025 838322559 378024725 65404633 529536567 267319089 710482861 819860865 728608469 92377287 250299159 649853355 144891845 610672295 898133129 814815917 648616525 775927385 189032097 254108039 449628067 173611409 734662245 232849377 634761693 987858729 375711297 432643847 622516989 867216423 452619531 108589811 136530925 590009525 52660993 181112643 468629373 894371621 803962567 514982463 651549031 639702773 172008553 129339863 59188043 479002055 720246367 932229281 116754357 851652197 787037317 562164955 767358739 659362243 667642143 721915759 907994305 673001979 108671453 708652779 297847807 868873043 471831249 584484999 771143415 895685431 19409275 723200801 85077945 521884469 753748415 267897919 267467581 627858957 549234923 510746389 587633769 291709089 799772339 165332853 916168449 341613819 300220469 651780321 857111739 664418127 293535479 81463169 896467501 411669241 588219877 666385699 74408919 500583291 662423125 903344189 591579943 708606337 412234499 912873711 425910635 522319327 886274839 115374083 568815837 824027279 118380315 1033701 229519261 339431349 927523845 791229869 486915765 332418203 368242229 866713115 686884121 235057335 3850861 583490709 411266717 259160225 23711963 857525803 245666055 887781661 113872407 435465877 609352959 319135255 49149977 925726513 602819859 526882723 664264011 489161737 572197057 844086525 619964793 333514951 94732135 380128643 135508183 158627783 711959889 774624199 997955331 238292741 606202541 198219895 623153665 142989611 247358613 202293619 438712129 780931719 465006605 706255033 968306327 98898961 193489147 701141881 153590079 1513063 449240883 869634307 617273567 219502287 806805869 993915859 373753477 575609917 817743433 90588301 504092071 453483075 793834833 548351741 153728799 988683299 132475895 811092245 552353333 513637829 954947733 302589935 617290645 342972085 399671657 655892177 757081173 546584367 597999007 892779043 421696243 115847949 989761609 265691261 16172627 919461083 136730973 756634005 567335105 352339141 873157823 822204241 822786805 981927331 561575225 299581117 487590155 572868083 713247097 542359307 155124615 604349665 747638553 378174613 931941465 685749047 428989853 437352929 295931859 312207471 124470123 844213401 754852789 68886439 845029589 687377553 893180451 738036903 211118359 166597313 976741547 897212127 418284367 622216273 35549505 118793827 138272135 987241865 592674115 783011575 326651313 736852189 9648759 214928639 270779557 638366695 12368393 977045131 411901221 997746797 762115983 51566673 89728219 827640665 771064327 896704179 705061721 993339327 644927187 654117047 366927125 445494745 915488963 64838923 679214707 908148745 1871629 108175623 379670715 878292957 44014155 189346221 821551903 722512647 366450055 171509919 949816759 403858531 561352489 858607409 502682757 25821427 28867593 634198871 197538419 383545061 545642085 783120561 551269457 511233159 713842401 798433161 118256603 366070105 737051531 81094091 373052589 859951357 661907671 461181455 939741013 586217533 289240227 555183763 548124739 601570317 251281203 73376323 821015247 541234313 34701367 205968297 947711035 508290549 892284355 225967103 306196145 34100665 27065171 486141475 620287041 430620011 802238669 160594333 969611237 778875845 652235135 566891419 704127615 894367659 699034911 588675063 149467095 993800487 711345863 607414319 940240799 566615151 960349183 560068199 817435247 153023707 257933749 247117427 333228745 555522031 376542523 692222665 281709079 737137753 457979727 723112839 57150377 194621161 661266713 677834099 694345145 485476763 363318563 556820737 437649511 976622739 565164133 588895555 804019903 294635805 899325243 593110267 331944879 856580777 433448041 783701391 869013779 733822423 742590495 933345297 51607723 636404069 810153713 19042869 214617377 477801795 133960923 267551069 406682373 539099009 206470211 852552589 999958481 915834205 229115127 854309495 244497125 746216503 720296235 738604145 380196493 793274525 680814205 907545467 362981625 677814591 181225715 300388411 901104959 189958141 947080697 234771713 67634789 485373655 332137317 626014917 962526291 836111607 891676787 561480229 389301465 30156213 567063243 183964265 904183473 131402631 311304567 710722175 883326587 296803605 379434991 610316801 852831683 857241125 841069325 861681709 945017335 761158831 327817243 429851879 613987187 33887693 401960385 163501507 645984373 597605057 486796567 347282167 497706539 308370935 349130907 354882655 362280867 460929537 300013873 332160135 11303639 441023645 348462375 338415515 118457255 852757421 4315441 396519541 394605277 659941947 597575021 92042129 5816107 65762171 936126559 688578583 829091371 895268809 128672247 910372057 298611549 893791655 270736521 167331147 779239209 591190721 183830993 416564877 322740707 136917225 520662007 150853225 217852099 245241629 712900741 220710985 361134313 278802559 97631089 4925513 420524639 368903001 799616027 775652391 236428567 484129311 192052293 999689801 571006955 565614189 657257757 165469887 869837723 347001863 639036473 87558721 250359247 196361685 131672215 23865133 851275289 584309485 967059865 512790667 470411509 654323081 543478801 806057227 805560513 547470861 74701617 311275009 828577479 679570435 390834071 190544497 874531897 493480223 870474823 882961407 373658929 557564989 963616177 214827001 904972205 539007073 368498855 865071707 672323739 764115379 216016745 95635137 315902663 727749257 758801051 861018481 50083823 528391773 183037003 206979677 672143793 348149971 199292655 377222173 553695895 614571191 648851553 422103789 813482259 255802105 87441129 267566517 249609341 322501561 617996851 503184135 895066137 294050101 797917781 679183895 899266061 145301725 998748875 508103621 342361707 405855809 252253053 4167577 8828463 798087197 983369653 44873411 323328053 293329749 425157419 861915929 378142797 478742005 350467321 731653147 84043297 76401711 797165225 172614127 649433681 226794845 103084835 600794213 647659353 905560837 859146689 138688501 262834853 649259985 644548411 719263933 960822149 658326675 110922939 398358405 876935221 424246599 39132877 537929915 235706065 530663443 780198501 330264953 17283687 75367997 188136929 334215291 642864103 322850109 495123975 497916203 810074409 250897837 968518403 692995735 537559537 712685135 787240811 98985589 548892901 643628303 875472187 968133159 815859351 133894655 19097305 732491697 197891201 467278941 344755731 376056007 446349829 536136073 169732895 43570619 327988075 912496145 845677463 686643855 745753827 457519271 584277379 814754793 992615305 396750631 124873809 798300699 600078431 264622995 812874707 929676825 889862985 840491287 885484359 904277635 131169823 985790727 450596437 590979745 316306837 330382811 987502601 520477539 956077133 756251707 859182551 538039391 134966227 790075375 878152859 834232021 365258135 441907435 707262879 388083371 143058929 153663051 123825037 841877361 852338979 977610577 801069433 112659807 302122583 388482667 582473699 928664659 391988893 910574119 436641201 376799957 30274543 144356933 906369323 777046803 974824493 985111207 59193613 657662439 929689123 174976087 33725295 1342413 944760447 11422347 703788249 655757295 877929181 429376923 763665207 608177945 974320829 859066891 374763743 746831559 68868233 760030599 805282701 774986259 108848785 663655907 31221097 55566537 22568975 133447705 883300861 155654741 603311651 191606605 506855745 669322959 905833177 38527435 873218193 156161527 315614751 580150275 453194673 111804469 567164625 782739859 100106193 5453717 863376303 254954047 472200835 88943313 906608737 70643951 733543623 68656711 249599099 937573561 109087233 748971777 63776373 421388249 351176447 994309033 790978735 148670639 320181493 527997339 689213557 422569159 896148097 101773269 10168053 655457239 409733799 754642429 547791947 536762039 168404439 301918563 321301111 55404653 22157541 737729535 718931041 65573667 167085071 768318319 954075869 636155179 544571895 858797051 219323811 652430337 397077677 459251601 997449811 802203979 692917415 390764747 222598519 925937615 296742335 490142693 620859267 621015685 857321533 341250505 107403211 571985799 679611341 346849539 441031573 807845655 240121479 992768207 613250311 133587615 864352739 556132871 254445109 755806647 724271051 939639351 4406807 312890133 649839499 827817611 128494477 426994593 4207831 861807323 235320417 359121251 989667533 334418087 852032069 803717775 535193329 815185941 539048403 85829247 919555635 108361975 895700361 556862137 803963877 161239489 242385109 700684775 800727753 277162131 741670147 228522205 899707903 262226485 722686033 629690771 793687063 437782295 679859421 777499185 456166405 498619983 909944241 163581951 138863655 943348891 138468799 55744625 189131587 461340005 532652767 490509859 373678469 813169595 331358933 936232919 829542275 56603989 164208199 411688825 449707835 700560785 75859913 81569565 29627665 638829175 139734225 400502269 904128721 382410677 901300931 734281085 323357875 13596069 579062247 535490087 241399377 702060611 18665071 630447279 370964917 151959609 472156019 289879793 38206535 814859219 17896951 117248239 366947809 713301517 761993185 158198743 39100349 320820609 941059331 462494967 530676097 324339067 902186009 25726159 111335993 278697191 900365249 682862593 759962975 833576797 413050757 54153817 666581963 455702045 903106773 297110983 259155651 102501133 754627087 536270697 835879159 505579967 622591343 912795779 627392379 556704359 292528673 548505469 433301195 416324325 686377781 377579757 361940943 461741505 591124135 564931725 999301329 572550955 879610963 821512769 939918985 998938105 359111431 526468885 539742481 3671721 366204275 632926777 855426801 489440869 578809135 821808141 164230167 291884539 669106109 694664975 656312533 958147811 979421575 964781295 667885803 271818299 772185311 907877757 584598139 713833419 779365627 891470261 196915479 216657153 655592701 261701821 142482609 873770485 365623025 244446427 790827175 871354985 816040647 242309767 648343229 373947583 695387991 169422683 792795683 185843979 23605603 196021527 503017069 793860609 128375957 703384235 23807639 45934083 639311997 337536295 535944199 379083797 78822805 728710345 987120523 485143785 959348287 402166257 974598233 935624661 802663361 201451565 169850123 41459161 936048977 474886447 839177385 399258779 141310213 367952339 892876703 793826669 341703903 491976473 471675075 31008835 342238665 242929969 2180691 125328573 995575955 937792621 469495537 242384675 904328439 22797893 217674415 373045093 275956885 151105633 254616061 576069657 356748793 927615369 153892029 1135997 453289361 886172337 25691443 865870971 855371449 183728117 932621577 826272673 183676593 771047319 13452889 187210279 546787235 293330691 745278621 602341099 646706079 577662925 580165051 292009331 371253663 520624301 941317375 31028979 551191683 912157835 84917283 59144509 311538199 767563631 993566271 880369619 882625033 498179469 246895833 89378525 718933237 582084673 745952481 944880167 694618971 843284239 775657387 913565741 74108067 154245279 835347957 225980681 70305825 478699975 443404001 678817159 463373325 771684993 936671999 322754067 984650887 973527279 57093957 752182725 591428251 696515169 709508623 828711261 753266487 455026245 327293985 523865665 652104759 711762233 360483241 234990465 347869017 564930559 113933629 756672213 768837451 435393157 643304667 52539803 908125849 112230619 258524391 385010139 134453953 547266621 326434095 580171589 696359201 694917647 892533223 284334127 551738885 354876635 697764525 234120343 912756123 147977559 62346117 440319783 436313855 915534683 226114015 330285101 734506799 435152621 693066127 53190817 281535001 982963509 277290449 417669921 740985225 846546825 880788043 691931891 589710909 411151973 471836171 293437195 876624595 498645097 18498693 628533499 725834965 917680481 868758681 780012037 414862261 628808003 602765193 121438737 517915085 36073255 510254083 487155883 138071387 309023315 105855773 928081423 196012941 621017393 943419733 602058263 218293103 403951699 634462605 418557775 237653247 698615669 56368663 963854305 626483739 334081661 820624805 299186347 151019405 887820401 580520019 25074725 632531463 534771849 728584363 887732093 653016865 893879583 738607253 859145085 772402271 688740533 657690219 730903455 412200487 578340599 62154727 608571137 195720907 17431991 32486703 861736811 959490439 347451379 913966033 893201997 265452409 528950475 455219649 412161979 127705259 644027533 919243869 279210361 816170255 683960747 314793323 843099115 58777469 834508737 70193687 960292641 208387767 852701329 903193079 484167121 491618919 28888327 880336903 945422429 244663327 438474805 892024751 22631371 602710101 967345753 751751609 647701193 511508333 556267989 214463837 116575407 976462511 477239859 611428661 631693949 185509197 578157863 405335625 682784219 840086367 57646477 626598663 619889175 511503079 416080487 51742273 570031399 942604495 138698721 967501367 893835435 146636265 533044303 923351949 646375149 410152939 332255531 615472719 148954071 491480697 881739287 387802357 651767815 974046745 356724195 444256091 60322741 721093441 798125437 767348679 237110223 230351175 451768067 880586213 876089567 666433389 274010295 142255563 208781343 406115293 567173639 645913845 781729901 276208297 978749057 823433545 459675985 72511687 386516709 467640341 315654137 627571993 264282645 247204109 980045887 823010155 356310045 568479569 867515807 682162541 577874221 516819043 849167427 98632119 575527587 991373105 960792057 26148555 749968387 252002065 972569401 527876115 73800693 899963073 309510689 904366303 61776207 678915429 1365879 109204329 528113677 148269961 353708461 70750673 942074959 29408805 872901083 197865763 90899297 178239381 570430141 649425487 340656313 711986333 539494843 409462061 522542831 804265325 233303015 457240959 927047369 89253015 418773749 977253869 178214959 15305755 235945543 611573003 504838969 836419677 207691745 799130705 498183965 913857323 291268469 745166625 201549121 39565497 274388825 32703937 872452657 765749415 666672525 625962599 740539551 580096247 34306743 179210281 719902821 718627095 64912679 118612487 338962825 660360411 840848341 177809903 377943861 126395269 973313887 620371375 782630075 975922869 364607757 641998849 610060441 220375421 846736333 102118277 225676655 124885325 828426553 88444871 186550539 688407815 553654413 634671157 449684831 518744557 167282611 468597547 45124485 993028783 221789241 235910889 91327683 247485023 709761623 117067415 769304963 687807869 843018217 717923657 910605401 632476397 553248123 130300663 180508927 320377083 403099961 356387713 352315735 806631519 980076029 730973617 629346415 273740597 496148547 403076667 999850361 214176259 501628211 437588659 806654673 307704501 241847711 919380639 600861945 330859425 349531387 936358501 423931805 530365571 990420071 711245401 689022097 618160001 410299819 599615411 198961871 425931305 837662775 766877587 932769657 586840689 184041505 837042691 662525663 28899251 933733673 870400245 520579951 681793463 709889973 556940611 585441479 656621995 685089237 41965997 746793129 817800481 146341953 650213339 99162625 662961943 21278039 227114849 614351843 615217397 465021471 210580661 927462025 967075719 585869641 824744507 648261719 787739135 436218409 634784573 690964183 324375807 59374019 860319465 39861695 465794955 705497529 794762585 970176999 350131725 991950687 363560593 193088083 336761183 381972651 868761975 635654449 279595963 65439545 598460637 461081809 876407751 299405653 778107519 903759023 33150865 800648939 94731771 560413295 767198605 760589461 17554395 129223899 762281371 286532239 490394257 72573161 939119099 744180161 627106677 967714993 439731807 893312187 660394955 76448377 854432987 556506807 753344953 57636265 190296301 724815503 265368913 283506135 309547127 656239565 346298767 335157695 311565515 505729441 552158545 198760513 881669529 582879713 473933409 656067945 581663235 718407693 232917617 830761837 620575115 773655115 24457753 426776997 906611489 58851435 229225435 59181975 710362647 560410341 510844193 170593261 166805293 15329751 967869757 658876793 335753607 246441481 654913125 266420793 711125427 955939817 924696253 277369421 621183653 886953105 772473165 812763907 526339771 714465469 285177605 441188813 468760761 76776919 772973507 810233669 900521679 297055981 337296195 379062321 84311441 275638709 80820785 161076347 615749883 146187665 260536093 626817589 576861045 578723461 205689217 12781213 707851465 230716995 188138687 655823125 499097389 766211363 964001567 58416167 998933057 49025313 131638993 98369671 58488327 789931749 440773363 856806927 686071789 593441985 466205825 839822533 290307017 640148905 796777319 994316243 184647897 782400061 255153525 875235469 563033793 128791493 468487525 34383725 819452557 623644465 90172887 264944917 748677557 692695063 362840663 466797907 51333397 668822967 601781333 399609883 410409971 266901495 258987049 516382853 450446585 640178791 450332693 683270613 44819777 167665983 25093955 924542071 321487173 111487581 621587139 17497343 297550827 945724487 456208527 515140391 133138305 556535089 805817479 596229841 385801403 698468333 219500407 151697677 176868281 351155455 863434253 979526409 852894461 37449611 707216869 788570403 303042677 124704863 663462015 347462109 139866743 512638711 866341957 92665573 345024191 887858797 255136135 689737739 216592245 702795405 284647807 372739659 905734179 317544643 319600973 560403145 550941889 392548135 644656893 635913679 390257833 842269049 750862973 294312403 550040997 390218273 406636713 159345261 90097885 741720363 214450753 470482785 271883755 959880017 233523951 15511453 42639817 160864497 265350209 627078193 244541917 103780117 333448885 448524633 436169459 737258599 461826731 435118969 184665155 324283459 698824041 93718557 91199081 374799271 197407779 995049205 650104427 872159801 694291187 100071137 465743029 686660425 197119449 617607905 684703261 549331151 873961917 204589855 328447199 546359401 811202931 130949105 142751139 904539743 247037107 708534483 953028211 606231199 832484125 182673253 279237573 168990657 567616317 150120053 184372601 733856263 294209409 135861493 739081169 681288787 135368003 63952127 17280635 830719289 642783175 196481241 728179085 14931439 947093811 105443309 885449349 754686289 724144539 637602253 484388167 648054507 337819127 651528503 866976543 990095849 175276327 219071243 352278469 351654947 132901109 896142167 382330965 289971481 223292179 192628813 875542613 305931505 878464027 264339273 155129519 696691581 500783243 923064781 11532989 912395057 616095185 616115845 170447673 865250349 161280825 551196227 724803913 835749177 754048257 522965253 89467259 948715717 880302919 482230507 421743813 714046439 504787221 976408899 13968769 310442333 4752733 213901185 363908215 357669521 216946681 461187643 907603923 60012177 791975591 476495419 221414443 145002773 987539475 65663847 907343741 363097467 216375503 975340499 984461867 974063563 734168145 839631037 923303431 378851251 992324093 179072903 876706625 186623373 194762267 702066875 741376379 833497941 800744669 769082637 511768247 369370037 757438301 520329817 942525541 244284665 669715609 387150499 415952471 1000477 921165437 883255571 70959565 691886523 506751707 876680447 131354219 784054559 795766377 264968929 614551871 965632309 410944459 95974237 233307581 375195029 728134281 611699261 244793027 940479871 282727957 829099383 552012695 570889945 346941127 589797411 940774117 15782197 671875297 638164869 712035267 503421639 488056717 177779723 32651437 312443247 12365277 154204229 381937291 680007605 609091527 375953903 69262759 594959305 998293295 814048493 986221751 714305663 95567067 264561225 439904219 89162331 965579649 445223225 508607893 565363841 322662071 928454677 228035027 918139841 522393089 136518499 590525165 983193491 124197317 344567499 891818139 754401557 281879637 413850661 633944839 317688845 694600939 75016807 58582461 643625455 380306089 269994679 572829873 485051085 257955221 498107745 575872833 926778473 364848037 87119573 591168305 492997931 150814639 471297203 708158385 914683681 283874933 63269051 152384597 270178561 667422625 458219479 181323289 576228653 583275715 897998111 139626083 912401065 608901717 18269385 623936513 402881063 323764921 52721469 527183911 34739965 655199031 653270017 338157429 602252331 959961855 736523469 219514093 651005783 664393261 960584315 686826237 574267347 77803713 444055565 163568763 107499923 369382309 545464751 123688355 405703223 499791273 210096051 375153949 58370567 911658631 407367575 491250419 467971827 508341215 652657403 262183837 327405455 201598013 843146413 678957815 200173087 542516753 571200927 987976517 226248583 622409393 140236269 502412855 264371799 617966947 911521753 93005791 971681223 372682831 150944463 139457469 989431475 229386629 874139747 826567605 897060007 629045759 158301519 428818197 361773265 762930845 788501621 612520337 423788805 857003307 996284389 220757575 22013637 339152727 669647821 940352701 82989625 949791165 35822475 310488031 66694445 361819869 102863009 425962243 447808029 804190751 220206523 396851429 825385251 561510615 748652461 677186221 914579723 44685117 482376305 188192997 424772673 387580273 907818539 541536389 379538909 680338047 915376165 295877607 391893663 499658581 315111891 34654675 557912045 173102543 290551249 215121015 208244951 621797291 24234723 32522853 447682837 42179991 921560817 672958365 850554373 487215649 836557329 315153539 182303151 860599489 726276989 155516643 818642883 240965851 561990297 759485173 87059607 900306105 102394865 639229013 976074793 839910025 541510709 867293449 688064803 332605287 663403843 852426365 960096723 87578193 698696479 270960773 366840625 249826613 914151155 397806177 334694363 45143519 429799441 999763383 134077207 27314957 812344053 460229009 626219481 981866845 158095939 741928293 973639091 698665049 796201927 337488401 158457319 830417779 296748401 38411995 704268893 19075845 26474081 303722097 237188769 257972047 7850453 684942309 871550191 229278073 387956285 449275829 606255393 440234645 479026217 979139785 494413761 838536351 956008791 425440107 893351167 484482421 423354791 368194643 573049777 643685857 656090663 694807453 311873623 718317717 386648585 35737549 988815897 411509545 193601959 717352147 785400259 232543521 282546055 350031105 127245007 368226019 680437075 706655255 77797467 71708355 846663389 67958843 247619631 767274999 91005731 30352629 681562553 623412131 837318469 99446849 622579987 471300559 462518161 169937783 682179067 77502061 411087481 809022559 580924631 888809045 6316953 312222757 363487157 173624907 934523059 977945693 744305489 215577589 396990643 234529801 342820871 92850917 517814445 342125705 946814687 581612437 44187865 477238447 498881671 727249511 595870623 398107051 766301271 487548579 659056263 701094943 450437455 249409403 36651845 306209037 574631191 825241863 773494453 268985059 140152059 76852553 984738777 993703545 506933495 742577451 38760669 207237639 507580069 486310271 154948117 710471223 831917649 372747771 9828091 734314261 921349093 102352963 184124211 345227541 861208061 62288607 801838983 594881557 416054487 1609791 613084907 386519643 990009177 992133567 576332155 206014353 574369301 416061089 928220027 71032273 998360127 442136331 683787347 81597077 478391 723300111 366037401 35444677 477314309 188393383 786811911 893610155 326344279 38984627 29771905 759192317 480414855 739071231 523629329 230203355 379537681 612756283 825883629 805851335 215361567 263834367 488973421 248336559 363225471 841517261 148798485 427659497 60360105 730658319 611805075 412908083 495054521 532495893 640073655 227580335 212342139 952368409 890187901 555064303 331212891 833750331 565614601 653419493 262771 311872903 133009831 56533485 376400511 637849325 291656391 860506321 668445671 759089989 572834313 413229241 563603901 213791313 206078507 433026623 839688117 915701945 47769885 357291869 376476463 257627409 225341167 226372217 628253237 326952657 40532189 61761889 308447347 544453979 734056013 417440329 622036033 872591093 967426501 120084687 877927837 443304917 992574461 33935609 75633459 636499217 647110351 741525555 307703629 75694507 32026683 481462867 143926501 98251147 586586993 286734999 45354649 204258949 795571137 270709921 456966065 772298065 775055273 24735105 33422107 255671439 619364809 179972781 179783281 96886219 911926255 589630721 496635631 744148083 961220621 457588161 895140479 906272483 184574783 800706971 56391343 972698971 572890823 81379751 551186359 648970499 974914833 262190173 256819059 760273135 58856111 275643047 370602095 301216023 446447967 569365201 700017879 230732635 681034497 43340175 731767683 354941575 883868323 4280575 706442997 597348169 993438585 510340007 566060111 777347387 70922201 357940083 984220771 885711329 520259147 657029815 195334315 873367459 377998971 848690485 969965121 961684175 830856759 228459277 849074415 945641635 444123775 499206095 229706789 388177981 467385973 928025455 560207865 925889959 851218019 8407885 808454187 489782997 455811261 138638123 912278817 286265499 179105055 853043255 461742827 914243519 452535627 419555335 796127809 956239847 550453295 567361945 40643969 771902631 186336473 986677329 728339891 951612533 112611721 783745787 574612359 54838197 828726433 652208847 329799761 316794289 997570989 809420393 191976213 652148631 517029469 784654541 428899701 475581825 150652815 419211371 802388677 74062707 442482247 556836887 911746811 826908243 132332717 962709517 869950899 129029365 321485591 585521395 9860921 548231951 865232127 310039255 637617529 771015749 669228553 249652269 768657675 669881119 147499777 804235475 67979311 844424719 643833559 78219023 988656589 174259309 681685417 639518349 654401649 94841213 92015035 665237859 21381463 303733605 431824503 203485455 384451417 135629367 155572591 263097715 628777985 950727919 978972511 450922975 605550719 263485035 163101995 649447433 967541417 599153269 915627743 933382925 921146879 22610111 304825003 34333295 758323367 863654369 499164655 506151709 966753393 735438429 980078123 550475887 938319317 119017885 989793801 147850015 88709873 264806643 163142241 760956499 62413965 638897813 559307561 708193943 590008599 501071015 734543495 591634659 619718569 968524849 770999239 872426899 545834751 283856421 27103835 143118701 412834947 238878299 291069151 154939549 940884291 302265493 404866069 628353977 929922293 715833725 452853223 817710269 632437499 708758947 475223149 407395343 348843865 782283393 987387103 910809983 889126849 219307385 533343391 829720893 761270411 570540243 3271739 33242859 153445811 810714305 856946277 40660619 935092193 524899419 112912121 357280139 247904103 995580579 373430777 65169345 143651641 808632707 578099857 913110123 644875255 827099339 254146067 867250477 804740329 377022773 701974269 536606995 9229567 622302051 146362865 854378901 639165391 490543835 480687289 793716111 232419993 169980179 608361801 808064069 956612419 537460833 163035325 474589287 79748445 5737735 594301015 369476873 64807709 404246063 605741187 293481639 211563621 276377833 270206933 687717927 525424059 650824495 27460103 719466967 527697743 260221153 162631421 905820267 164129269 567253195 264326081 682787841 823427633 904116637 63448455 460303647 29777189 310719215 865539755 987619249 276001189 571159107 184440753 322502669 792811815 540236801 575368769 176598513 166992583 235119229 279497777 286140799 192200273 110328559 27217019 274561609 402054449 771205751 264763459 109685311 527434111 478530849 566148053 468561091 749373691 909664987 600889249 376946583 947394573 495925377 881801029 934161387 925821633 892589267 654956165 208043857 341052369 976288123 755823689 727393993 694001051 74190345 861779367 96928183 321124649 727047413 619049179 283404521 734304549 27328677 773854789 426151315 812549355 949785693 664857969 432837715 313594233 221472595 57657365 50437679 335521397 250272667 642629385 125941139 594182959 74463035 57358163 986016085 490163615 293531931 613782301 605489585 775207779 183822857 384346809 709085517 31175873 202872771 30530979 798520375 810659757 257337831 479689599 558638821 572766905 810505985 742204697 978630961 835372073 899699583 364425059 18153315 12189407 425582269 542666871 967147305 243486575 316670457 737835163 270181525 99922189 602774881 222533433 607352615 781247643 863013633 252980197 1970371 964296607 647422423 474265943 269716149 673958727 632804545 889163383 242457269 984585067 592525193 128458571 786323423 479800715 903537121 350029323 538383799 541063629 7922275 331842065 572798253 831589379 785396623 74688223 300738965 582586529 729417933 731007777 191849387 393758151 954627953 745030057 344312981 622412349 463607729 762006133 758231777 525255795 710554033 763916199 121610627 243339135 15934073 900714633 571810011 215415839 958013179 816184975 884251051 850490813 603653905 228426837 934071841 939957095 926628985 432673949 156147923 332285141 236231647 733391187 522192317 685021541 968008661 100699787 189126471 376076063 483247569 931709311 733912891 917189041 348426039 227163025 999166417 27234677 19387471 186496849 129064101 801952871 959518539 801104749 589424571 844397361 820923717 230037955 629618819 595862559 76674875 779584597 851360975 181518381 569999129 905972815 601628639 117153781 651701937 874650373 873825111 413397187 384443577 790243057 166731845 631024515 528531925 765619383 463664157 582328781 534339469 893728801 72330173 677450465 191187795 435179301 650773611 535957157 767760255 709061851 89421523 187974825 174571091 660791945 640026121 469570341 957761785 217977495 146681487 802853881 247733891 688632731 614036805 368746921 516544743 569680719 437552251 213812327 883150857 753309591 30143207 206764295 124598449 753128319 167013027 427488781 57150351 124144183 455283257 425280669 868619841 282577439 986420113 687459719 212933187 237055925 27478787 358305347 987628545 349380777 662235725 968885231 692547531 14246091 564043667 112019025 698349275 72877847 896954977 355874525 685805651 943123633 644808879 818119077 123313211 438042597 999567833 393007723 60802691 954643237 482262949 312508311 527289351 396617739 409993023 197805367 552350087 538353757 397418555 580005377 637576365 890578181 983392153 190598743 731461385 52099861 540347071 323995453 140710677 717857995 556969591 185714533 80685363 593497735 77344759 503917605 979954347 277230551 892298717 976513661 297700013 908408941 890725167 858381331 809989973 507629347 569119833 232275001 79659683 20207871 336437809 884834019 508571521 149177387 841959157 498688433 181983935 37341947 532224841 39460587 197425175 483319015 501044537 198275713 651605291 836454295 736228157 450843911 647697537 276169171 82730289 72153793 163581071 136158351 681635673 145163411 489993899 797514215 133680483 354110733 602796567 169453597 912123239 48996197 130880763 702493341 628227295 874036861 376997227 628302073 26394033 681721307 856684127 462500335 161813291 570051757 460397239 227285601 589486849 465127117 482062911 877150297 325982289 452375991 697516709 532749835 254278817 806945173 580984965 421366483 778837213 134299187 549913183 150945331 696860251 909124109 536730011 261579993 677288407 103186237 195749773 712463763 455190647 233932431 650742381 810814561 246571211 947527279 617994843 321701733 460607939 222328821 555995747 951348201 233809345 675233247 868706163 341578595 178643335 422747033 530531175 226414187 196721475 674283565 54465535 830302149 535565709 724150101 227965411 5579615 720160861 3823727 159352231 252487497 763479069 635480451 850897089 988178111 131646105 91900481 891670167 862763301 569355269 527406335 980621677 911742213 220763647 575597499 912713079 8131349 723436171 915296543 314141135 88359725 689017625 859315577 213255541 233832273 249805181 616745409 547754577 55890095 790169331 779808915 583512629 565512855 826705697 232594235 613377501 636114821 637244693 798303909 127263207 832246813 38560837 962515051 729808861 190564907 600988043 407798217 16276787 616563105 187389487 753986217 308162109 379037081 472110813 834740375 21773633 790311769 965334187 646869965 430101861 106987851 206765079 627485739 169337787 618411009 545365509 895443509 605477439 241315127 325068993 938542109 954947279 726181075 112593155 150084281 118816821 294985179 213804263 838167177 61488419 191593863 525803249 792955059 455251763 435307057 104864529 707690505 893450723 650203739 786089369 284224511 469050783 765915055 948323401 599304117 89791161 705101829 25946949 636568307 293037671 221847635 549786139 872605479 461855693 714666433 267020991 268952171 650834163 425261719 190893711 440502909 714642379 294753609 164220241 416806849 185477933 4738929 787743281 763048523 333791197 547497685 622173381 197377233 859231617 539828319 86080521 102565297 140302763 523660579 714562405 40401393 544602837 202628443 837985187 290450501 998150497 348564841 885348859 338529791 677621911 48945371 621936903 215285281 688044457 167498085 604767697 786631763 253065391 685266909 940333249 57574369 388209581 899895629 63916207 282124487 666908553 854911451 270522841 690740895 412149013 173322203 966870243 961263539 829412875 678629579 140604379 583462387 930102285 99258445 868237109 183278069 790796707 958336811 272705231 55901177 628793149 698355291 226894573 144505573 925968441 570941941 805976383 282154827 79054803 589311037 69154777 586184797 476178999 626946207 41806903 952082689 17046901 381331119 92214335 111666873 543161991 662137127 370668863 127314101 945715279 446166251 912222445 227240655 946766483 105898503 580312675 689087619 792778505 673607851 707818793 343047163 825630279 910621237 115769387 778046725 4077263 324151849 346775745 178778649 465088523 757455151 577358243 962291539 298016075 839482909 534568955 602416511 202977481 435450605 196563539 309640969 906335911 684975557 397335971 690842379 68008939 323062251 530088519 19415105 59992971 834817751 111587587 207157267 893271901 774808353 349409799 300597651 78077219 628040079 977717735 617055349 238611847 365622281 262613663 732935705 574173977 782912677 775085717 877714569 674649937 739873951 338411415 428173169 455664021 105536855 225632217 963306281 763079723 152628571 851786489 781407663 860702019 551624541 707539709 153954223 480048633 964739895 378106705 682663283 697205581 540744943 223642571 513174005 53623591 493543855 528111015 685208019 123527003 314586313 893865101 857246805 19924129 65009849 912117127 195640425 508610457 180921893 669643277 378223529 724808143 989690069 746714361 103059281 431227057 806967485 481481619 335479627 247061659 437866231 188831881 848725285 478486989 481260233 938829549 252014869 107133807 838592669 510609727 924500221 464360597 553822471 793077859 233150307 370016055 370445759 446460071 436947061 539733813 475071149 651986623 348861707 456330587 63773913 462995145 717762469 918747223 131093367 854733641 827480427 990054341 776746723 216581167 491246377 821248291 65341855 423148495 257536091 366256351 649701207 988709349 897041947 341043013 92451295 377909913 378891315 684300179 334997039 215974773 7154707 135362791 40959855 880367727 832198097 288459597 747583975 575241959 378081581 357797043 247241229 114853023 493716621 713267699 796524921 365099205 551205889 332979665 478066671 319334639 872629313 526832115 628431963 687244315 86590891 565223917 232827345 399744427 146676551 524410421 855996555 619907697 674551747 739412785 239641837 351358879 494354041 58402853 123052673 265470931 678704229 454493765 303011067 252171793 752627505 243254185 463053113 212611273 685346859 645060181 54261305 606666957 931875147 427306799 25330729 800711773 805751853 459017995 233993053 966719005 308138781 713511327 632400721 461757979 672872455 425428623 416813477 262118093 905268099 396492387 636883749 195723277 209005009 234310029 750144711 973541923 872793049 291570023 608821411 892730043 997996071 269772591 219907325 270172139 313561077 893762321 971263299 455559983 476576291 299075871 828976901 697557103 110388789 637956175 609852159 321321717 521988957 814470533 202450967 295134841 802659185 93366921 747944531 109552661 245216753 164064013 613283819 218298707 700436227 739863977 42114615 817819419 298315895 59303137 420257981 762495173 624254149 542771739 273044519 817525519 331503115 387978921 671027015 83269405 847481105 697450181 756592667 703452541 29359685 135479953 859536579 831560483 487657153 946509589 73327245 803176045 665885505 871994691 187756267 690525217 943721263 593228531 334356599 340868203 830359 129033703 944638967 684266463 346778677 201302217 567031125 293599359 991319141 569725481 461932195 568682667 515882029 309347715 357895455 29279283 403295039 882843187 939534377 934342477 750115827 771591815 272849999 757087123 530449989 298990767 533392451 96617741 159690973 742518723 577328609 329998121 531532811 287302853 602393387 155594169 357857481 656230303 922831181 935837691 399308721 530083873 257550235 404659607 15033869 5989637 361711759 216120217 781962957 887920365 214138571 360597365 141613959 434018145 769989661 966501895 407774585 638586321 579364471 937872537 649587855 639305369 840014069 970155477 102769747 490505721 449153755 605772495 193581309 52269339 456051345 945826823 958135407 331392271 26395307 820893281 334630703 289257423 573687015 716902443 128508781 665959741 431052583 206982171 982108669 351675935 752099957 105667147 823061347 867241771 57306631 556131651 117066433 240188407 518764085 45045487 595691243 551252997 801437059 685619621 669829463 456477629 165215135 30292257 273846561 135914867 654442071 786861451 435495445 278681183 631018669 342322797 19495839 738911139 462995903 421623743 883333591 299296581 102226905 825610973 146191485 875371835 747747183 366561163 20894199 379251289 330737183 91649785 305008727 633522021 223239079 206929081 77211217 433042439 420993271 621140427 911928389 976863183 344044831 376540563 433843003 964896055 689765467 938403551 648479203 859710623 315654927 967122147 684037011 436987729 752152775 939539517 289921867 158182017 921823027 155468785 913476785 461977155 426956083 71137903 63692053 911726749 141727173 204550795 498987631 807858295 294527769 123501185 631829083 554054815 91184511 536272633 665039141 209688787 898261621 390647805 327010491 696957617 896750491 156510725 986317745 16953029 970049983 630209259 57380939 95552381 719378897 112124663 676067179 788614197 664145393 973501397 206760357 764257323 481896031 76799901 777942061 624137613 368124039 967950791 634419685 624995431 699310587 571221565 666906195 458608567 62450551 768900171 66095781 80287835 43302369 342929317 616645811 782925855 495379265 196019561 210279421 663074993 809715147 514668827 615044265 919366827 47400665 849441707 735143047 273769105 284385777 336001131 464287761 636741577 801478077 274645021 135167329 59085223 780245265 224776673 563169089 899794529 312105959 113356359 38036513 751327771 340673121 336037443 635528471 724203485 308911565 517819955 196345569 162054297 969757085 793832669 86986473 156541993 723628141 831982189 230381629 312268363 258797311 299668345 603907221 247589805 523195199 286368767 300059471 859573979 959057729 931800163 18409587 307366739 634498111 830708337 819237295 722659443 469519773 113663073 666863453 676925573 644109285 264157133 788156793 711511483 364863435 460205759 836309675 49558317 531780395 761303199 358028101 877482461 441561607 391819591 651883067 200061365 917077901 735308273 572630575 417837703 420601101 439763523 968312935 51397897 979919107 126440777 379603921 118265823 275234835 216240251 518627845 448122513 257591815 120973495 369496131 256582801 806421203 994113341 719756913 106050615 699822483 346172095 383444511 1088967 829708171 172806737 425543557 424913511 693070115 513209455 17826435 726365993 458174705 83083265 566822301 449898503 577203377 763727185 116243203 400828131 505649731 599163159 302236047 935513221 341988019 403906925 405477823 261481375 53742391 315503323 664096953 349331401 751693351 196718415 313337677 234828933 828739081 900952859 345831153 773846589 654885509 939621375 936466631 100343617 178841969 982141469 906996885 218980043 18164681 995282695 323454411 12101117 729845421 177854127 511495805 853538527 116088939 87919219 18114157 516938081 930953587 344211479 70039555 78584415 976201061 177783499 432646989 85405851 925561345 873918499 439437057 115819961 9368625 571872539 483606911 762426705 441957133 927757081 347218385 915218391 594204875 532255467 796162723 953036205 294888913 957628359 624334157 361753119 468340139 481973319 715876047 734634587 248953355 158311795 490648783 216330877 553017293 991579063 396990111 656367239 927252979 618550249 891706417 700602717 354930857 162665031 631576875 105169877 413852737 712761203 621026255 465382823 249083449 524281215 39588365 421144181 606507569 762531035 339647103 222012613 673523959 7377257 400413539 734583565 62119805 285021549 964730271 106899619 290932703 750069905 486902211 858832585 534579295 631149295 68973829 745608103 950860393 500176897 126105159 154060113 518416785 124034989 244664591 459943615 765783185 811910463 123964555 411706577 544092747 513170545 620104341 355450195 670488269 321690715 656812201 87763443 321795147 718346371 476211441 715037517 46425117 767627737 223051577 142865889 269222343 680911793 110632443 897973017 435510773 86371017 221286231 680200771 459972475 953510467 707370513 910871965 970564179 314603183 711324827 966161223 642845345 13682435 410479629 379603015 227170735 519184793 866992929 494530961 180307697 922549563 325805381 127906047 819527939 504315409 308942211 351477841 437161641 699053235 281081749 73564207 837063115 777027359 666718937 384060205 552907391 882641849 397440343 666889923 249441791 620918863 212719807 521141841 897756591 164172565 727769959 518214689 147799579 11614631 452653901 757755493 246441459 265887759 612366619 247222839 363430677 918349239 277142815 100059799 888084869 808638069 121605199 666885997 508973163 609794949 719983949 688468621 918397213 412065933 923298143 500882605 841731607 831765659 845130611 229166193 805048313 152959267 9511715 555339619 748567183 451168517 710272427 591497969 919584207 87345027 52897013 174653813 378876115 88808779 990910605 590334771 77297371 187828595 44564653 1109329 802083415 893453433 334739765 430960867 880312279 896703807 370061481 974377439 96205081 525391895 426821947 535746601 638596605 281813939 27043265 304953993 924125585 281628207 290268347 692673969 863342855 39990293 895055183 446574907 716708025 68542797 380798543 489347749 384941357 79513649 754638125 738936923 31083533 346614395 484736783 627534511 233356587 223249489 658886583 255596247 154498949 764554049 145932437 921306615 310264891 708086591 41014211 558147607 635310491 418184105 242001149 230045481 421031959 44119621 537092269 483966983 99825483 126939711 265966305 304999791 576807673 711797037 798712401 191039757 646178829 867295755 339862875 655511153 208707993 438218817 926163717 322584599 439592411 178999961 625187843 927520859 84744501 958409801 45147559 440030347 981662001 451794929 7552755 757103063 109490051 975288979 488563087 720498265 166062343 862268575 471614151 523586063 287473855 70517479 253468309 596142053 178462423 992197547 670610585 217364651 932302243 104863631 940101911 594482203 157222045 633099423 500346369 160441303 761349481 342099283 891622893 326797927 153440977 898736519 943067419 790548541 415394761 946181505 272910449 842423985 160902765 415210733 740672127 256464645 478103295 707032545 741691005 252601187 91009261 234235353 635145545 111391707 131038151 698011835 251853419 252143975 293840457 399592917 85122323 175244521 119497047 263900379 306767639 905277481 12743931 672547053 931707893 172406487 526187881 923224973 566807511 955832719 369337855 620364713 409267851 107347153 438102587 203452567 329850503 776517127 86999245 803025685 762545133 548365953 510608517 305656903 361701251 849209465 248811359 36330169 49047479 979801617 779040639 529822051 133931937 747092561 153085999 475168417 447615491 328819753 597946085 457688375 3326015 796419957 469931065 111323989 350316393 156730357 646960881 918934413 146396981 223036499 999975159 13834719 270787331 200606495 250822749 121439407 839170269 703251923 922746463 930033099 873286765 820896719 326063201 6684007 429633039 88923487 313584367 419521827 557843393 103716529 337450171 646087423 289303081 148018913 486081439 819869807 207909273 782759663 772894625 664910657 686394115 65176773 199607275 655237817 458816781 129654833 124002767 895839351 620882169 597225969 439191499 831020941 659279799 16521893 964102271 838459755 948676833 58984403 998349753 619832051 656704435 674705137 668958059 628072295 680671767 690510419 799664305 922268023 430395291 554395199 836298445 641528373 252957813 694182365 503926827 119670305 95948935 463554619 642617693 209624607 188793431 11835735 904238113 12246651 821665299 80745743 139499607 58509293 477410963 644065327 339011853 383936657 695775319 338539365 916484469 798117613 410477191 908872269 791645163 60063981 997062639 100477031 556965105 272546535 729194505 139801115 25282099 910904983 83296245 47017917 833004421 383310371 630054263 474156675 55907297 279477529 969225217 798254993 512313451 963815791 689747881 406527729 103975277 994642559 390687279 967858833 810111323 103340049 631512057 373130061 638461905 463235923 770019607 614801379 298503313 384021463 860858945 250065919 512838279 335298715 582850005 96729395 566771399 163685639 223186651 50326007 624859019 530121191 258271745 499853483 621719351 116195437 621123233 34368665 512743253 420554555 370677175 34650355 937627547 763782485 26327277 745048019 349766369 652470565 279003537 804751671 136272427 695416197 749894553 20819467 905959847 107798703 459873447 950928673 4019621 851418441 399414529 687252015 374527393 406680417 501662357 773365465 236861759 678257515 144579579 954549671 874272073 58267975 553196915 728338187 923796149 522029877 558835173 508196447 405138331 643656935 665321437 127014625 39796289 110990449 724013205 695930045 209405455 953698129 400820461 538820101 802116763 266867561 639491177 993627567 200620705 423538187 792434235 272716959 742969601 615571687 354346553 715242141 772196297 814098719 936738785 538166619 529168169 872974901 695342943 755609457 823727745 48176921 197298813 314982755 652374863 900260637 311716275 527969943 836715075 465926913 85481251 205470303 443201069 359168489 82203539 758495989 62802699 719828579 794813811 237806715 131231485 420717923 560443863 38460409 400684369 134598983 262880643 512882785 979092857 103438547 475843035 940053387 650338319 127655991 802029549 583457081 272540633 438619143 852439413 446390293 252196033 35532351 496820687 72764081 549634779 450443079 253380865 947397763 971488095 848458985 705614013 991163629 285495221 304290651 504442713 11274811 591770213 919581245 770834645 1900189 945927203 561986961 373182937 250381099 763860169 86173381 43342513 99697383 554104415 40106415 740046423 849212859 359499275 347993485 722222443 295455607 70802721 216674307 405038897 29016789 673377311 917070877 866705563 572296823 111960999 802344275 794260287 920298981 111157635 71153281 478665819 935182479 224846759 948061933 67881945 833355985 182246191 881878849 190146377 245364459 968205149 994503831 515342045 872302599 568733853 656602473 601090169 300382005 413558659 371220125 351955107 507922031 225173961 775964289 866232203 991219095 396501843 175617993 277814789 882207091 665350955 709240981 626304149 663823033 345153669 810755941 4802141 328787199 555508157 771374637 847595569 808285127 91165015 522735421 576870789 339840377 297747707 465560659 400449403 984387689 883320959 155169687 592667097 277439951 308218077 42454163 789218317 432530637 612895033 6705471 98767919 888216425 356240349 427162357 430093311 671082393 240062271 892169599 617194467 181731891 947035895 201785349 524991469 574006775 69551819 793759777 934779601 381283475 558648739 865737419 409209071 942374805 407466133 811749229 936052559 988477303 427402203 327071443 792114337 451702937 91679193 909929009 620950587 703964743 699395611 740359205 933742877 783869359 256022099 330951093 176830701 36925165 586915675 522958669 904197371 787809791 287086137 848958403 712508733 707550675 197875989 127387987 633964373 54204727 296111687 345151141 310791049 500922339 130288453 647783875 340466633 866738557 987166645 107420963 383802025 354184329 400113251 320882853 132891245 69672827 391349825 498834059 245233143 232976813 153693033 831333507 1374171 996659295 17372705 239088291 759061837 483167161 305864147 683973737 704794927 185191375 474991121 486345657 413919493 647469975 508523417 865305055 293831683 944179189 517715787 980216979 504912891 334116019 786913589 734448881 556697711 443045247 515547529 283742847 332774277 5768947 608144291 721304615 192261389 140316051 313203973 389749059 10878847 83930309 173578843 538098317 850352891 121577949 447194231 62932779 489280581 400599825 857146711 118403499 846085071 592376965 101449501 914584835 739131053 132459843 623739155 728262541 151046051 849970233 610947245 794662929 274591253 671116097 845940871 500879547 906607891 474628639 109408099 497770529 64942165 170012025 823923501 302567489 583740729 530465249 794514937 551875965 134859207 238386387 214282495 870234535 538033069 517376429 326280103 591908079 227905347 602457273 379532921 135004919 502523531 102416937 149922859 178328513 134944807 890540309 538333333 58760381 300627051 162200705 810540987 695722429 680467531 850677331 768204489 516834305 666436201 616890461 50587923 161030957 614813195 880323417 853516563 151729743 426679839 865415145 917809005 915467995 888890941 196518805 180254699 371540911 710461349 807523279 564605571 268978705 904595517 621609711 847193165 604545197 963477909 413828921 455224461 330015897 51285989 152389075 986767281 399735889 695641357 132844495 171223113 2827453 142265233 665184551 760323089 919465511 219581345 519510973 356525805 40892229 697988119 137236057 201088999 294703671 488284017 789072301 908518965 529449343 526905045 726614353 124991535 395104523 80238867 921276615 223385179 504465203 19211681 668907129 397138531 573878703 788922273 472767671 608499737 624139945 254598361 504993467 25912953 287002029 575780023 499716007 498020007 811530927 254916949 639958915 95691503 97130253 899982447 816605249 392571843 370429579 292713583 920779449 742589 830621273 495114593 609734573 520139683 807618571 513355265 400294599 63620447 79584925 579498153 686466967 470451459 320674677 185738853 472879767 284496587 604353889 546557409 262716455 598120221 630124437 727493237 274839955 800587649 954825393 90561825 936519691 947277227 507644343 8033675 420105127 359267445 876343061 176908547 236638825 923224805 878295457 75915649 535571769 823326501 220132759 690885797 521272043 665688455 928050079 409270451 769099575 804633481 830034371 827279771 241904575 935231181 675146363 967973879 510873355 242817053 353263523 678726661 683550603 180861037 985524607 367839403 583180955 456376279 266188735 293393017 97704315 466952865 280885877 732647077 508980819 130012215 292166945 564369937 915545911 51919399 123245991 774495811 254664479 289246001 709054805 680518761 624208621 284702263 950215135 974964829 526281319 225672515 783154275 831116699 800845635 690196617 563628647 245502539 334854677 269033829 363804887 75683903 784523619 320281945 452601609 865451499 52887189 267920145 734325177 632036209 952237307 371465569 758304271 216482197 573130445 876590659 595085461 595837129 132411441 469749211 930703427 142321187 602809899 824807795 557950323 514286691 619264943 348525697 558317805 4204273 60218519 890714013 507764959 898635993 560101027 580252555 668266459 813485525 616795259 233887287 527149025 403676483 570537139 290441653 661334357 281987371 399803587 587446081 109048323 762792765 941798411 967490107 445330979 759331789 846624469 935326511 290579793 898554591 900086101 295818449 240340883 927963927 919824031 11458303 31406677 702013637 967595449 688848311 375657323 39213791 347059849 424520233 251332117 891993607 872256739 443611045 608350201 782265731 174551933 268844711 60694049 51298881 682396411 668975059 500517891 528979419 851965671 647688949 48716925 460238221 543916207 187330559 886505173 843700031 49179821 532263435 619194297 7621251 4897061 188155999 183157307 445092749 545953085 276055907 366776025 157773887 508659209 392226223 477101691 76747549 311847295 771900665 77955947 745837657 444225411 506310439 412374625 430876361 391918813 533591365 461500281 543397101 2243135 85434501 87769911 599573483 637744963 486218561 144561547 167517331 643879271 807613951 693765831 620964445 64453913 372765289 341366443 165358185 781093029 141326931 566599517 46419579 202937159 423098549 787961957 402303491 31709217 491973815 122461119 47605019 974503227 264119457 227629251 825707391 886931591 576509159 710539065 709024153 29010655 962655011 798202957 637567351 163756289 27252507 702747027 683510225 518181017 375137209 710995981 478444805 828640567 685389841 2231067 157583897 446974807 982200925 836253071 465612225 127707991 835569407 138744473 577396559 419849857 262278533 260358875 628031941 172666373 171365281 534367063 670333131 874808833 248203823 366995579 430515117 262394993 495441969 291962143 839081061 291205185 670014933 506588539 743771795 162917953 827238249 205028409 604831867 200879147 135512685 549276005 447118863 747999137 903577219 870671731 891111397 726939947 475140725 893984833 690944573 444584763 605016889 662480917 597721597 40461609 421333223 137232025 161464757 189602359 413501891 886812647 165911709 773070479 908915513 76126073 389932435 480922177 814069981 626396471 505583135 182393927 73849193 481158763 787486065 205239683 655795649 611066059 805240159 253654973 973922799 980636535 713258343 692779685 156653609 811798001 802122675 876581591 822131143 139516199 50835473 744845525 242659407 970633327 27207927 881125891 126358633 909687941 988427911 229957047 563419883 707899537 371784583 579756073 783955919 216908575 198908005 943386491 685543737 241213729 178048057 151474357 225689717 707784953 259329989 898582215 116343539 771649899 384003691 443908493 138248531 888964769 499175231 925158599 707831891 93433653 413169141 847429919 289349091 893518625 563505645 476832549 181696019 715405515 796742449 93918803 376079393 331378177 806376811 573073929 396668781 952438007 972580599 114371731 225240197 212667723 618162643 278294047 868784153 304823043 801200293 736907721 503780361 548762507 252259775 680616081 585038421 344044217 402277395 163198049 265962535 712951243 33665093 444439305 640258775 539204195 794266523 758729025 207568091 669693841 648687365 764160943 82025179 41564363 15045145 125936599 885189279 770698477 860453397 692613423 168972825 566231355 652771043 86350859 776241257 184983139 282305041 651730609 76971215 259442045 464156117 432872009 64178615 527703809 90342417 843465699 973382579 568202713 806076747 354051959 239682177 557506129 541305777 301309675 130608131 781350173 233785883 527070467 239269187 440905307 326794505 477289587 614047605 840925329 979245987 905684181 494741237 715011499 555938485 356080041 7459909 258620413 462591929 969992023 931246865 354601801 660504527 295380531 43825963 271010735 163577019 153645939 71703441 982001855 486995951 167564861 749306725 587738733 951247745 701618325 972229873 993130521 234604337 522936431 991260329 237262725 502973797 211100837 325667369 975582687 464407597 315569653 448327477 258453181 186464321 23054861 401487541 703710493 824497663 745490553 710667199 997833315 391735407 360262583 475488909 850356571 928552511 289283109 416184195 279266109 811414729 548104973 91332139 813791397 717986569 67410337 499420217 924474007 719262377 987970043 183891081 259900803 622564599 382877209 755073567 750838845 304565737 197542119 725269795 538941697 829412129 796432183 856083947 712186485 700984037 283787967 20753393 362666151 899105059 940286755 563067097 703469579 870816371 691149037 707532655 402813567 243628821 104348811 945349283 431717961 89411569 934192983 385876117 815944469 167407507 558065811 11735939 517980921 423201077 53567083 20479197 635788147 626104247 270084843 52745267 85363813 584560285 234609935 152243265 788031263 594538265 756153273 100240875 218690903 589230849 504857265 308074813 640368169 140293075 675991977 996339305 468669209 837505465 432516921 32095433 694234901 937004163 95995877 548054499 286528885 403758755 829514515 966605409 203280115 152808509 253626901 569502997 174812341 648169495 681558309 521558011 130949959 355977377 397804133 148128057 328284577 276529903 696027357 346641429 742959647 455793093 909932415 217826311 605400455 266962055 844661795 649770409 115361285 592176707 592298123 713945021 737206831 851463861 908020065 17699887 616521217 3826999 377913143 940254993 991042017 25331669 78107523 794963873 674193311 309372987 707386793 461680447 542360427 626002113 793959919 204408953 329205477 585013607 75715211 723862529 311115797 706181333 836460179 264638387 407239779 161189207 121798921 85126545 86651815 899366887 699278295 689410759 715057951 760455973 165142221 939510441 164838509 251346005 308639909 366042031 126678691 298897513 250121217 542883969 424182579 771333367 856290921 672633575 558805755 968106813 97930573 945430741 885317439 223997221 780437769 645676903 94240943 993613373 652330975 590420959 596598879 239717053 467998451 377825451 882216139 869670531 918256987 199454809 962514649 915746327 972915471 293395113 786406103 658197417 692578289 814753661 510038905 158580237 468285129 293644767 646664925 338572229 384742983 721107717 194927497 296927737 238846983 834251079 693743465 385469303 135844233 775507241 67115731 416545205 675866935 349144663 622755717 88643029 337972065 367509669 597284769 395560349 936001855 763785485 137560761 791851131 702139383 163217587 85392573 43341959 837645711 310736355 119353103 519981953 440399863 625187085 625655665 494500815 857653259 521392591 784173331 812376451 440735883 489142253 365101447 468059985 409600799 827885135 713622477 600536473 640245083 583579661 601241929 500852579 509077431 298314589 84864713 67476319 465980051 372321445 66474881 134662883 164709179 422238063 793520143 215793391 363261149 420206449 591937401 184781097 92702613 684513667 933225003 634260193 951555427 251468971 257058553 69487629 172639535 25717523 221794341 377682511 286008781 975375117 617325647 975662061 70776563 6453269 787788167 806015191 901178951 774566353 335358019 38864801 998464589 829935367 1343581 195938957 651114873 331730607 476251165 951222915 859686693 556745955 874354481 368554001 135571089 324963813 318418347 573483117 343324645 790364959 343496459 51228281 967862069 677391913 221415731 573811641 140426103 393318841 888875893 705649503 522276753 337538231 191281539 325565251 124380487 613201707 985920635 14336225 894138957 701836105 16426977 139416161 369651517 482687595 856229029 706442643 688107669 23730711 835953691 104768239 116334529 303941367 853201151 631927445 199096851 245780959 795640439 410989897 825546689 81010375 215403793 880287611 823454449 354296791 646561217 333373509 410942631 397478999 129728743 608555621 144275927 266019771 930414405 560487745 242367577 637344927 849346313 694798825 50911217 139048901 526959305 931042325 520672581 624283417 623155841 699474211 611038439 398930095 208877721 129164057 196700755 637861313 577438939 185837995 195181287 858729907 685995903 901158699 839073517 638031631 729956897 646429085 247218327 495146633 309616325 59823011 841394941 652921341 354638555 91963793 108257571 213402989 121977397 245196379 133031151 560145415 741883411 784644259 171170867 959003417 79040537 108843949 605100969 190433571 250463061 517244011 105435635 276778695 335592763 637150837 276367513 539711441 975681705 583097607 831844109 511382065 273783013 402461705 155131817 136801541 509788315 810006283 573649579 976306577 864057567 488022085 393140543 652722749 902929971 376634261 501565557 14639007 756964215 544003973 538051655 131027825 974390011 432118335 986226839 881843095 781268853 630007967 629140013 680249117 693072639 961192739 611188667 192143667 827750947 667975409 543183065 569475129 159042249 231339225 177331465 23259821 11029321 230729297 688034485 832700991 4845921 828860027 246749741 362931903 336519989 904744221 505403565 220196137 424138833 193480613 478080849 405955747 955208365 747156013 784481319 198492019 44170149 777646193 752706847 835636241 412670207 457325275 188029713 210610711 827859431 800721783 271131839 745991493 774953457 167155457 558945235 71279755 49415197 482900435 652457437 770660601 558049233 692525305 225494871 384630477 109235159 809482527 962848929 833837671 546997605 675468189 903011079 779559253 730358041 661241715 979174841 552239433 893523449 469733959 9216207 479347487 855102577 201170793 539635275 723980759 154006871 975194833 483957527 436124065 669333737 374225439 331512835 607302351 189378507 10396055 291685577 438848731 165846025 165636393 718702345 726636391 629146139 830627695 980992847 11785537 651977691 109531815 369218569 973457243 901245331 996091831 208761491 249346513 716261611 976088879 210910253 965348581 893022205 989320773 63815425 413663235 11375683 238648283 25463071 326180031 608679331 989503351 517966719 14750673 943957355 477618247 925383943 645080097 278357327 196849701 744186235 922646967 542954093 930962573 248220305 162712263 89601611 979084199 551997151 687349421 884510165 486142789 128657125 646067437 164742241 705289179 747336721 44608047 800666795 556703627 598532529 57426249 626562009 951379737 96013311 742458421 281776763 130922743 296432923 400913173 521623937 847266875 147584015 756933433 516818253 26535845 697160655 82048527 249237665 605126299 302842927 850728501 816166315 340359215 796004597 833220717 629775619 237527573 595991241 174834341 82258081 369067437 759204409 657976557 909267183 352085247 320732867 978027649 381234105 435277755 796113349 72997573 245821747 163590709 589838731 699456067 165625595 213647985 966295107 564415921 341273877 52953875 898759943 316050151 91034353 912811627 744131291 382106091 609257059 877178223 909011877 193772517 579747495 852742849 246094649 326509099 456971619 454863783 676790351 466656057 562977701 152762639 651578247 417529263 385164515 174502547 466339435 245279577 374451191 70129519 792076397 931003437 742134313 208187787 610640871 304182083 546721317 194944633 357029143 971918817 302696705 998716525 967771945 253390449 894233403 116279113 427791151 921910661 200823735 644299153 173404959 570838233 642318529 812918647 358121181 24844883 151372049 888019409 279084339 653069563 607089859 53670175 781592271 232883715 510350939 390836359 161410891 661682635 30001609 532181209 740568619 451197139 922363743 16896397 940181461 295793351 303127773 763907009 158228123 718921593 612029543 659667263 784588217 451206119 673063307 731385713 53204043 418101553 620027453 807628915 611873377 944423333 926646747 178927105 289296357 727641013 467473451 400359557 655278007 453212925 21652057 694392845 816622227 212155711 701140475 397035345 609114149 154714983 169104909 403322029 448827903 586783879 545034743 228779309 629059735 16285917 325584003 4438397 961900113 341750987 49348841 27546359 330559093 865811419 355665347 167075991 780357685 192431041 306092571 681588231 534096809 595238233 385691225 563417747 853479635 350236581 766583637 696312885 932128413 621394129 819367757 607834765 910797271 364059441 389230821 41011679 942293053 902381119 508021291 88318493 588040043 669186973 429157267 335771613 347356655 250659355 790038779 271775071 650151993 29707431 973248679 220932489 40201121 957921631 997227079 465627883 889583465 155047045 418138607 688534717 441169339 364958599 984722715 855307741 660478119 117731315 581637553 881592787 969882919 984025227 535246079 472309199 153629725 190775851 570690235 569668519 861145937 249762021 618572799 288898265 4589173 799314663 373527635 793641359 980848161 977737103 999403171 796182423 201566935 130092641 31326791 793520999 243368447 451781637 477888503 511394081 690228463 497821009 507324637 113227147 903439835 425280065 821478275 399660307 317553381 583881461 381071585 782286545 322738969 32902841 394650451 292120965 11412325 26853635 396630941 146559639 349832101 429750891 881362927 234103059 960311193 84812727 885730525 112379573 379807211 682843855 603332195 465975511 111535915 477970379 964779751 403329411 937876179 426409953 438225463 339704937 404996163 908321911 785306247 14030815 933729735 81645593 929125237 553162213 310510989 954807673 659635463 599100705 514044081 241192049 927115433 295112163 960192563 705084167 628988977 587534115 857330173 83850853 206479579 847040895 50443231 467812317 754793551 842897471 657417363 278192621 205803927 969107027 86983353 708062005 412940843 640978257 652700123 246792067 470579941 177954423 113048429 117699273 112447757 914466735 104445893 242645537 811131729 765741191 221800227 103524049 614264515 565554485 816276149 833767747 831379427 977698715 527910793 374127115 414300565 4246079 481865111 558709987 912627239 743394127 529349829 904684973 296774733 135384483 4719063 455139191 787056677 896105403 545497473 257134963 432375859 358888639 412625245 762589693 459401319 530666875 432860395 429157271 794504981 830655337 461987987 752811501 690348025 460957097 574275241 724376275 177940283 10790911 851651173 575748931 547432549 179816413 332601575 790631007 801767277 836115801 715759673 805213303 707292083 597652019 696315469 277788665 129139961 105541329 131139069 358388355 942389357 681107267 572042247 411694039 449774501 95223873 24323097 602774241 994590111 935778857 881541055 477461685 510940605 95225859 985637239 584680333 916584145 237847165 300945823 773813197 302660621 337367281 253725569 484022527 463656975 391882331 329107023 767444185 159364571 402237541 790119971 108329523 477685729 824525917 577953019 27549713 341838067 962790457 317374405 484637345 390261073 560763803 247451469 296115251 859796383 828088009 916425553 30789699 367705579 119673777 710877551 428095605 842639531 58137323 902172209 233692563 350883257 243505335 191395849 937028243 300062045 926254077 269548623 207050125 204583235 895667017 693658695 134500551 872646017 420681685 549237783 57554345 799456659 261609601 377523153 498363337 636156769 954332881 66164335 147095523 795960373 285821943 272129235 589847767 141453767 764387785 630945477 726486193 821969713 272832453 937782775 830003623 595305981 931824661 52978435 324739347 73134867 832023175 986823271 149753973 945457611 132603283 492755855 8767613 328718051 575770455 469822411 250350587 107321727 325425819 984497495 508216557 558716461 832643535 725869647 158025587 514400225 5076487 960795073 522844891 153821433 791736839 406816925 720669335 188869179 524513073 701531323 452960577 101987283 286341785 92244447 432432543 245955157 329308149 324524207 731745691 28681155 76774561 894370237 587445063 760068733 124894377 801740419 274477025 761999443 386198457 503154787 469123787 840394107 6106153 444148645 356030095 854692239 383914489 344970873 385931233 790210711 68141009 358019579 183401627 65593345 954404861 222511405 632919235 714390431 822781303 655817203 363171715 321100975 70914271 831258149 237935151 520761561 79704953 808936055 518590273 203508521 302885943 666914699 680278875 470675219 376604335 448384749 230870093 110791027 348783647 105627661 542766085 478762387 609791601 749386051 455167905 971078685 703626035 162712273 335663715 123172389 927034013 461085151 386652855 590682155 723315341 869600131 622159153 619620627 364353419 940269487 430600075 680157995 182499781 508026955 552161703 165865769 740775445 898703901 166668437 771608359 305403127 129922005 398390147 388061613 349114773 231671567 743154383 569484967 153002173 977705803 986411771 72670827 32097253 950099187 745911221 471398069 350586927 702888023 166720717 430005165 474478943 802353329 651476799 381209821 817575145 688260897 92402735 956474941 936473823 638398387 77805031 628704041 223293699 616488533 809325277 50883429 368842171 822581219 93661865 298166817 43069721 678991133 786296079 146688239 803213777 295490987 528059133 767933647 499576387 499872545 975780739 164864805 511781239 887282167 650128093 667370687 197849629 805337741 778676079 658728145 916415883 464297007 964986565 698394617 577127103 193335307 492917393 64059707 107105123 977091645 83810733 403945223 712189639 122124485 331629855 468071985 997078237 664565899 328074511 651626229 560593737 621006947 473110483 184214011 684958289 332557829 336280295 19482445 728970211 285477649 1167339 875776865 155861145 296889873 987767213 383049239 808701103 207652729 782362399 641831857 66861327 907453085 238871131 316658141 109777991 371977411 993378215 235012787 861986701 137874961 774182509 893445035 73350083 857660571 813948479 660570287 625636973 223634777 399212507 331351307 898304189 522444075 108801057 584055923 865361035 783732187 473804575 483529733 709699409 77112603 21993735 823290181 79104829 832126853 449056565 990459683 481698841 911690135 278553899 877754609 559074399 479818431 308421525 458834287 641793583 998819401 846740805 128675267 619950669 692495475 838410297 68433527 80568105 135854427 936948881 611723393 967286237 472581643 471973787 598482495 876754215 208775541 871304395 672900727 451596909 154194801 877372599 537693013 552200895 156785603 382645289 942581103 897215445 438931729 492991751 170959043 912210189 920556527 555124069 780918707 474353261 333787603 752416385 27969553 805623721 858939937 597585341 878217231 518570771 891144993 253916579 737876297 459969711 772505861 218753767 489182665 921426719 759385829 578255205 250502391 510921911 985584581 916775713 808333997 383359083 667344779 144534339 984973861 74094301 601961993 91968289 764887813 915902801 18976251 10189621 371140185 166091961 942699519 935580707 302074265 186795691 304124831 283246005 734344611 690287207 68221003 867503585 866304439 635923413 205648481 964340671 716186759 763671681 341923357 822882451 495084327 64996005 820110507 784197835 161637395 200113183 217625883 816432375 550206515 409873785 914466153 341567187 569982417 671183581 649544561 717759043 158865829 915179815 610084353 419734609 272814025 920582357 168526281 288669235 530972357 742465805 461368929 883371073 434771591 820907679 215685451 69862657 534293857 53824769 906705137 217246747 82426643 307673429 569658789 262616935 496332223 179214177 648579741 15536091 450708727 86354067 907849979 902409373 709731501 507117317 948751051 877356025 14410815 458541683 699042301 226602591 364862833 211500871 834621289 986435439 808720243 96719757 496803793 78233833 531339737 236550657 889913055 631189431 922707871 907993341 670693411 574634737 718951467 771760525 123584023 121727693 853187147 777652829 546163997 443266483 990468405 389697221 310445691 859626793 946663811 168455621 938419559 842895079 271637053 455592195 40997879 166738887 739417551 398403535 883489837 497620171 14587663 537342497 725790451 554438687 695809083 388243863 188842777 924492821 978351093 39643771 557026393 371318827 860154959 829776055 797128787 713903105 428901817 910805223 389532563 197073509 614977557 776537929 389557895 681749577 809508775 892116161 623378059 985083337 494251545 575701987 29696735 370203431 207911813 650607077 983638445 155397071 66008933 958635941 18651397 249661781 763959711 258162347 894859233 214607475 657656191 402466341 202965281 350874635 114567871 372003307 767832721 191682605 305016439 681826687 89616351 982689543 697282605 592436483 468987815 249341943 835792081 658440267 289429609 228783743 131052471 24160715 916092813 701561163 515238813 37574053 625750119 78010671 255021477 613782173 398408495 422880805 167408223 367084837 568623109 564519505 525425345 894477907 175127027 695446269 92183333 421171943 850733037 607654301 48019541 336006215 540705223 819879117 508933241 429564805 636137799 641057105 249506345 248215637 929354005 648611601 904787299 237907479 598493631 618202147 34236043 362173651 410324163 268368321 333255023 982698039 597017983 514798927 937356353 362428573 482424383 975013209 86381219 808861699 190982961 561928847 494248601 426473743 561938799 389982417 468600719 218102801 768888829 396279837 577896795 733040127 972964033 787980707 280138553 859650427 432806799 702119091 418446543 337299915 91291935 984367561 936415531 783934429 821980689 104465289 992097217 180562249 305365487 718819263 580020593 123211601 374140459 362317915 572262781 868414423 109796639 910455933 696506515 195577967 687972617 328831331 86730185 205511501 298359575 417282941 623709085 579759699 992556629 416992603 921882353 411065349 105530561 854819003 389643799 835842709 724975161 360039805 906668991 814329049 874861447 153022639 973093899 46120785 241220957 518911875 756952447 34580771 269838675 991000147 132382725 888797471 103574253 397311909 708124663 434977981 142109841 397504291 261671183 2094363 435991185 256936607 86403443 119895553 848022057 644305687 583490737 453042399 306183799 127339435 669519549 720373195 131903365 428573865 900094709 869862531 119463237 71079555 936479519 27641201 197438095 242577621 146060903 602797219 109906981 127278945 702515299 124814033 351914929 644007187 664891407 538225751 185593029 315771647 956793555 463035969 938976727 589099357 692514681 323801915 641417035 463617685 271929655 386325151 936851049 777202223 516955821 475804009 66061923 251228639 356732637 692105537 414920529 760133249 421391415 798948729 605935413 319443223 473350541 353859077 689904377 283135949 175441183 158354567 524018543 357219063 959206289 674975043 752674893 677416975 727194863 609128491 806024501 90844857 752637361 438996437 765340339 926837183 187776947 699977857 74510647 769514005 65875259 484657941 951696921 836748759 508775925 754125857 837841051 982923593 152830453 540275421 129910503 402656723 487848125 81088551 14067981 259009291 447873581 748357511 319872009 596165035 763145109 87047213 617698999 450086039 880247977 566680045 657249509 570018777 589768329 375066699 988722243 398032295 479748791 705115499 260576105 673546585 107101729 259386141 900198617 32280179 169569309 31842775 19174397 118871971 626891113 603925435 166040101 574481849 281052969 877682575 808438667 737048753 633732585 1293761 572438095 611273903 619087009 196191593 832153469 758230783 471393709 144316743 891366405 146189073 735155153 258307267 789051325 45642629 577997629 940487401 368819821 103277337 63292035 279811445 37856439 288783805 826866595 542633409 264754993 512401281 969721089 62670295 625835859 971247009 326222955 516242791 308950143 451990915 577514005 625164999 290602235 358260653 428588959 722555383 255098621 823805143 935572745 403552157 156822427 170831067 736362439 594705417 610010069 579529145 759035815 980854835 49205657 804392097 710341101 644756153 399659701 151756517 224282169 342851811 667433443 841415933 917533085 365530529 80323523 605518735 427348361 240826503 435600353 21404263 990742751 431706841 34424235 906721655 235078881 418009211 474910589 295083995 795774527 762635005 125976471 175053525 946792971 698377365 867150625 726086353 768515269 846998821 21603631 31712353 560641361 250305329 241241529 53178691 138194939 106025709 152155295 456738649 602580347 478446379 566318763 115281325 96190957 389507181 694297745 700116851 704126423 734245339 502092261 384379653 359090469 975516737 894210605 424322795 703400493 557012249 801844687 796864203 947916459 796299651 979856671 755385977 19869893 792961859 636803413 802696435 618757641 837867467 194654609 504146267 776036461 333573937 870475741 415529467 512947531 988667699 101029419 55255367 92004459 685813309 608175445 297124059 712429819 775380057 332315 893916281 782691981 551505473 141946405 656176399 861402655 630873171 413634823 209784235 721826073 118223767 586521911 889106061 134064199 797973691 386423065 435317783 928991963 240036121 736054261 435634645 28888439 722838957 724728575 700623735 654338335 844002337 98252363 786628571 826936893 514027971 758439391 421286405 686616491 433133193 251822753 844663837 505635235 891146261 196171107 839080569 895469771 686415533 708022753 633263763 930106673 639000127 30729145 556089359 379494217 800318307 934715253 300619705 434065649 875769433 476870535 499525249 895349359 111991303 43420999 4031109 553349487 591325951 125805561 868144137 155460615 237618805 116207043 194859127 451881909 467732809 815078071 236341089 93833307 236901125 594579409 756973955 887849803 924319955 708377583 458083265 300317237 786192527 322492123 766225447 62829627 359319991 384295493 102677223 13640927 133014641 719516875 119947099 271822097 685340301 991048937 739164425 789738019 601816707 853492747 480085145 123298005 285186161 210533761 985647843 213172811 815691551 945939847 6146525 487335187 975829245 282073659 229741485 298055713 405693215 54217383 2220959 234410451 569553993 65799099 253120293 256368365 695164893 425784149 770151131 388106143 661902063 788900145 693124995 750406781 91559221 913590779 912723207 554575747 579586059 261529155 163446655 626598681 195929469 89905027 897471011 537338633 739828023 181847325 898793557 150999945 357085073 525576537 641710755 774839353 467885707 726705767 741314495 754002203 78068429 492453733 222860677 252733341 791807651 741056335 814811127 590754197 598793479 219434513 403247169 731603009 270754457 626179451 912197557 386108741 995874973 904047687 261120721 335293869 264811525 97880853 227199543 6515953 554105957 423615857 253795761 588309997 15054593 996435659 938119475 304764391 237767613 290446715 767178201 277256585 852302377 937366979 223795941 225086957 838134397 45149901 209121987 339949453 71136407 659125161 338850311 205588303 856256255 76081233 238711403 236394369 476085731 405750949 594696659 481671383 960901661 602518897 35267401 158899057 922661417 391270243 51502081 710722511 175372081 610741271 440183383 874521573 914014723 837897485 625630415 132404739 685874709 468209839 454160145 442288103 437674633 276831565 101432563 909877177 450688803 415442977 565683055 416389379 665609045 950521931 738628009 79648701 186488631 702960599 229928941 510904641 689127557 762054835 168998059 199475033 588358567 321250235 864604545 502605101 213481645 536109487 965812787 364254295 724739665 516964409 336341417 400725455 811470573 661094631 926698745 701305599 112255371 534891575 428553311 599466675 324734683 201740423 281650747 259357727 357965363 906141475 653358105 3140577 698031761 128752953 142630831 651791615 823131551 586519781 107578325 386940901 647509163 908098599 644453777 939435369 963723693 543229415 97285901 542172615 188832323 302084345 175629979 117355431 634817205 639320341 588518327 90408723 944701681 255674331 91625477 472796801 119015313 425724885 270122065 177457617 695148241 927191415 985086349 173928773 344328603 67227157 515308501 363300491 376337533 237638389 782156137 780439481 744708781 748868669 251162041 631446093 589893901 98978305 682544727 927181867 587170081 422487865 508066299 702545567 819251227 832413893 257666445 254866273 381375953 70838895 508544787 811585421 188394947 822526441 120395461 243929769 716619801 76614605 694455293 621007263 841659039 404582041 658850877 368478153 716598223 809667003 292950065 225989601 861984711 107418751 49463981 929606413 887171921 570520867 103676841 999906267 916532951 128367557 28802381 69697345 300478837 188130159 510084321 130404761 793204201 156946195 63644633 125159339 795615129 82485899 326593233 175015843 94397845 369201045 114356875 530178583 59496853 151515357 948438259 938092293 376319733 397899509 516235293 307905743 933904321 40358739 123718979 997988167 329782695 971256667 313683911 301049501 211575035 193752405 472451641 728009331 13297599 903842163 420373831 992402635 868444827 321907407 8007887 638364949 45936605 962571879 828436179 523765539 363328635 893970983 331715711 521137717 262522647 412471263 413678887 661013487 192963317 975447115 272052037 411046239 289046791 712662537 67586429 68513273 882885859 716377763 707955611 688599707 606257609 624105867 904937359 613872779 96838561 93209369 435055223 527325301 5891575 870471055 194683799 284024175 923432197 276185623 285546839 42331125 895320745 675160001 224744013 125987567 889316715 451487369 712453171 775865511 33975675 76622411 260309741 9686995 79939503 799572949 828728199 357914771 532121221 321771479 821382449 678267241 644768039 913307113 224644683 270073923 502185571 531328399 136290643 187907447 41294257 331105581 397271545 177169091 237521967 177911067 777332749 360122955 998760357 302639245 245557899 419765149 44581249 408902309 855240857 433255085 344153565 554292079 64504445 324307673 571123317 568131291 941992111 258629605 552679859 686185409 418398407 702874369 319266723 612415203 641283211 892446143 976357119 871208427 402444517 532797217 859404839 9667177 105386215 522713735 46216737 998050519 783161551 300835009 533203867 384887703 696800509 182505219 741291501 91005425 546376447 613180397 172874263 890073365 188233863 477168767 835899327 522456863 273895535 681623341 517364277 508007951 660514237 387792071 479960945 902380751 479133339 843950987 29523729 54736431 661909341 416834081 684113245 89007593 771306363 430306963 295330373 671934365 450342045 108981081 173627487 203205591 116866443 73337935 762566633 172594949 257130809 298732985 747840461 706888835 439219139 334896967 373065881 155113873 209974123 26160395 255745413 800687193 938993565 172796549 312870255 489315563 809155563 883291033 409340383 551882817 879716115 359965589 692966915 164816187 537799671 905873453 646922163 756916133 2657953 773267583 800148081 786817837 204568901 626782737 420142687 188349551 792402239 115688911 856840529 270425067 820439569 914410255 234156987 305019657 575793769 159098509 56680895 201459997 933122837 999645041 564633121 348876895 302253589 864841797 654312787 9052399 858554251 551546881 832984683 607406553 943468737 809608959 936784937 13590027 271738157 237570055 643512819 467769185 628025191 195161927 952667867 666487705 158304307 373253457 241071251 364254049 634001279 97431077 53988481 78499143 253425499 776661543 204384935 759803075 605136131 40759075 927380661 397051193 464759259 361963857 537605893 738303731 306748013 570878541 104161173 380609055 627220847 855023133 957978379 476175833 346031289 175735853 927340471 730902815 596970063 119839825 165620879 569203679 188320607 337088969 239425077 363741669 755795769 935215675 356351471 792199151 961115737 958675633 459609771 819507867 142388581 505626785 671060481 275948403 545274403 756822249 912301363 277943273 282923659 764351183 897134627 635613271 106516405 72648449 789911141 269165307 107924711 656437905 445936173 21751555 611835531 651872253 756813659 597090171 235164467 793776173 65208441 184386657 644868763 970451307 142004659 402394003 378248873 744465519 17651681 189202395 802371683 12154197 857248643 771497963 327571713 28521633 664432575 334911323 272398045 47244355 420289893 406867887 888485497 394893453 428005357 95528781 173693311 887031103 421762165 120602247 515598279 195940477 647342789 222635673 836022343 342101461 647902797 940209825 307678247 141586235 595190563 836500137 939240367 45325327 757164293 861810851 573280595 840655377 648560733 600739175 900286125 220717173 589387065 69789113 76907907 43184841 2045519 934145343 441856703 160344593 707914753 648203659 224020341 855298477 183639893 78974231 167883743 692118639 316931321 700278341 342908511 848586119 156067911 712970333 980505219 992902039 533989947 105598609 126813183 820957089 461596797 634865913 415473577 644507155 946117727 837895575 990264459 229437893 939387349 924432725 947065547 119201007 493969025 203290373 432263359 576428603 2345639 344817245 638920671 954338741 75115065 416833793 183141331 304708049 465393101 747090297 292177251 28853357 947795363 956780085 237109125 118713295 21461153 184489617 672540753 996551585 939016023 566135247 75774987 711624701 251335421 421858323 315341343 883128925 176456817 306727797 26749985 818794665 524679483 629098217 831878347 195314731 809351819 305311057 159374593 447158425 292584501 930315897 664450255 127831825 107305917 946056721 777050725 900255003 272155975 527839921 618295585 669174175 234393251 305604315 51043975 648752629 974394951 724211705 54578495 646790873 436962389 304317275 993820191 25308531 855263123 273892667 804171553 685636687 54311535 178176441 246603883 564699231 498476033 482068449 902740803 985110021 934890249 891155619 410679585 839932933 926681327 147005911 106231453 177899657 224874175 916540735 37385341 70885419 790341683 269461891 265820329 445657829 67467435 636135735 128061751 548090653 598494763 18827219 346165603 181597857 858317413 337474745 738261133 110838181 338444207 629107759 240097091 819025351 768353289 619030123 985471543 117561613 713944089 223020163 635669827 578068195 459605551 498972537 945319021 991551263 29594435 598280501 638958303 790016255 265126387 303820171 347763691 168952357 930458503 471443763 386187789 872997793 233136367 908805837 887514603 619798249 758622655 501158885 215674701 312004825 204975931 494902761 157820455 561706677 954742599 397290293 808605075 622365483 113628529 926145545 311422167 207376211 362700277 189148045 654526557 897060261 477812399 718678741 474662073 971816715 984144933 998792153 914058147 114925009 256081547 87584889 542543619 345863851 19603635 640925055 200737249 512425911 972668191 894068639 266793841 695330683 470025461 896668781 817562639 941215715 834177799 474354543 834456125 619600195 663889097 13824269 559200167 686762333 498822491 889690005 897081377 224177233 140393607 236958277 167067813 368647599 661395385 912323131 868291669 979280235 552461065 647542657 384698751 846169317 334704693 110877707 810760855 268057567 351808423 57775789 702373685 215374727 554729327 147263021 498766109 653771123 501601343 743355953 690219323 335427233 914408573 2253901 139685027 640270453 203118377 455099639 676139407 778514875 972478201 969155219 261026403 739966891 381494593 469335659 870857897 228475105 681592575 270729645 667948565 14382689 504782301 329439347 251111301 930307227 29762857 113814721 942589431 183245923 372944089 480403837 806726041 600287733 167469199 894514041 589881535 521969655 582683279 763361905 817568997 968242807 822136525 94592003 99331499 818918889 481583579 255491257 304827357 962790955 573943291 20023045 344999025 635166595 518420499 356826687 31806847 657233821 55862453 865621931 202403147 167030415 584083221 926973807 905594179 420372949 653142035 347785629 474627831 572728151 150553401 626657585 673292067 573513823 876591025 302444297 490847917 183597221 391076183 448744175 618329499 66874181 945363369 546604181 339118117 604046787 185724109 124589715 656137123 906924301 401481363 522322283 888425371 603406459 633555315 957075591 375909559 415835335 494172555 593003833 625999305 78524183 9592739 74707895 870061263 119602679 554627113 766748197 201009641 699642975 326896695 538523531 686864485 390673067 507189897 700869849 622854069 920860577 986352265 62084589 242294387 652104045 334441285 369793667 120882533 206935717 943804019 413552455 129349237 706964805 957080949 819297481 741529013 229511091 831083089 623761539 110100067 136111039 311691957 206068695 51209695 435824025 639540985 842100493 725818039 188575457 547341085 446482519 18296733 477865375 46446025 336260301 196305517 450607419 571898185 605702513 196916521 185230221 804300439 710865965 629019389 631661523 856629329 771702993 37073213 442554799 345736641 157024279 32256099 880599603 938703825 117709473 647465745 456136913 948384797 398440437 398246165 852563559 268774371 868768649 103971937 272315961 890231561 73482675 106055697 77125367 630097695 128115893 693783401 963270579 353476701 242948537 348559569 816621807 462507169 210649039 177538271 925130635 549934707 696634609 199147339 506662359 746733057 132777727 997619197 763777159 635843109 359486149 787979775 851113401 56529243 498904307 64496257 363857395 370605261 277621535 23051233 246569249 132841289 920073423 286390945 709779353 750804549 835357803 909434479 394367257 652514019 856471107 231357721 533568451 295269095 23771025 450608545 296152873 646778307 399249781 379818789 564796731 422869903 872846843 579711985 722671963 605302791 660963601 790278265 84976971 740424083 307946387 865037403 207541819 489966659 808073281 41529685 414365117 768864463 962096837 252602455 44304593 70529431 203496623 958832241 639448283 796392351 881781367 151159775 208085161 991546777 198245507 211891461 500397423 851067099 964487191 831145327 426747339 729112675 646361191 28784845 951082691 673468891 858703757 958083583 103837379 488462481 258834825 367077891 350631071 567409277 398725955 703504649 198591641 549943101 640528783 897386849 418999121 841507097 275715621 512439433 918940375 237365247 835688101 488672289 511686049 372803721 552196507 234419447 925195145 237588211 638784885 130529275 789614807 416187943 458101133 42073421 48506169 29962931 624052519 381547821 525107905 341785549 929701483 455270151 555640047 351190615 756337511 81064557 256089509 757596117 253339417 530910749 32917557 816973689 570115167 399203575 351253073 259340569 555461379 567683849 913248023 595002933 891650743 530837125 798980107 676992757 95058453 987871941 954434077 59625253 400563613 617144143 801712289 160261951 680913079 73896653 273930835 163955041 52203189 524685843 674013273 222896725 677997011 150626587 203580737 618554501 201839663 647460359 100239871 61850893 590134995 524484645 541507315 656747691 631947441 369304807 810218207 329659589 131270051 456015081 370410993 697739371 454013799 488726253 356704959 412380499 216886953 849788127 797053765 656239327 793040379 74122451 488082923 381873941 817705171 119595523 982246011 810324389 704287381 8059347 35755821 931735779 379921289 478648525 868574621 118367953 866789857 729318821 274520527 271611927 325971127 764507191 180043057 885956867 908123401 505460871 636217755 342898827 23066307 853706173 805276231 325937489 653664183 989872943 407803099 995457689 558207643 414643543 19194469 700390229 100593683 256232665 870434905 268426523 9965479 51572607 639395733 273125163 588874953 365080893 144069983 268027245 307808209 4890415 178386019 598466413 29702913 350807193 881739701 153340773 254439299 489265123 222577111 11630387 318629481 306817955 218702761 739785055 594054057 476832149 763203451 728272409 304936231 684372889 151660547 411488823 866782635 197682875 451343707 790646327 401040869 345167409 700779021 969787715 561329009 391522899 140871681 919376425 397204433 183660455 914687375 865550945 165367147 508832213 28397685 630565129 158623377 197875379 253728471 924396521 596465277 25297213 683847745 448277615 61509201 832823955 226624171 367103669 373328917 41971459 930577777 213275767 24221625 468905213 517582425 957657117 577391129 537316385 559609485 524137913 284406261 209742895 844772775 632353279 280327927 693439505 722055329 281510737 739926191 175861983 697706211 359824563 850629015 195025615 78597431 149233367 791881233 215534151 345076435 642651413 299831653 294180051 98196565 525616743 29572803 547180069 815619779 669853307 690796103 874429721 903345289 956997275 21771249 680248497 72719485 861427905 133506731 571323161 948600029 705226891 120864581 505350307 285918285 908858433 420552569 567952589 375572185 697155539 358000359 139450679 824455929 602291159 897762843 278256815 38002823 501140107 487131525 770610727 85990861 375697113 799544445 217442235 623123059 100368719 999304771 115546029 379457171 915834149 789001989 297905513 150009767 281878329 562229969 913124483 560363413 230615827 125008545 512583093 432044971 116706273 818286421 512400353 559693213 688747387 940421817 495395605 361185417 720955235 589488251 661632389 288157173 326468539 582409015 315714697 640314573 234141271 955610477 702726053 478721127 378592683 369533061 432461189 150995839 895543769 972587475 293498109 437553467 104624037 165792655 244327943 867322411 522465153 847735257 701648071 850576703 621883011 186521021 993030279 955424473 770675563 238956585 70881979 990216635 735080863 59409145 266819583 64845331 696083503 173555181 419887895 376494201 321167571 528444845 529776107 942752997 201877739 68810957 936402065 604591553 333672571 340778179 65709123 169328857 902231859 778434293 232436325 702448737 290873709 92043687 289737603 778298359 210987815 281380621 458893901 408524191 547884805 839510081 296972961 574770377 588324699 208628801 2532995 893480265 101630751 198335739 545912091 726144603 668588783 841592891 323080639 868822949 277002259 633009855 646616299 458640437 95611769 928401189 695632703 990446977 590030009 704095991 192573577 176122467 421691667 122543529 793956537 706747427 426467951 328271247 227804399 329432429 39744603 252428015 38613097 482813271 980832013 460189935 639861143 306475615 187776613 266750113 503922441 311666537 235525869 145360385 593237117 445326017 119051473 128367341 544798163 72624415 853591785 10901039 241382937 98584735 302021557 983950457 452981377 765239749 46128731 79212389 373393253 292685441 471375787 274094193 536021323 276187941 548774685 585466377 350351837 328597361 334556111 819822719 614871277 377056137 204050313 156929289 560494969 531631355 115185595 915936459 297295521 94896059 250471547 327056845 48905395 857775911 938717063 728345089 610765345 903099141 620296009 289784895 678313607 465739905 590320591 833026379 365328295 838304049 984059855 124264139 336013421 87771153 327082411 266945617 705373675 660395657 824456297 888993367 698349663 130683747 955382967 870448447 19821099 61538775 438082031 432647761 861689561 921596543 543453453 154656447 658491933 414332517 979969977 841201313 874992851 968139761 53168453 789165563 779071485 124393467 700182437 516257715 393401287 536702145 330364025 191497883 574476933 482381031 739905547 943119469 997444017 988209275 851330631 25283787 98359535 581216753 799185861 459833405 93006089 914146599 448749765 14547763 913567987 959414881 583522349 968250635 941443785 84713295 351458957 555899137 713786061 485061637 52430109 959829313 46530669 887294975 130977467 492400603 227875129 168473891 518781679 303336393 442830829 811886783 296230121 924329453 215121261 367747721 4457597 190741005 502934979 407007131 330709807 766517727 409913635 455166845 239411491 175610873 170019563 883144987 344319015 951050461 109224089 851885517 904613559 343578613 604953309 647813707 103117551 162050705 735095431 796567487 517491605 817662187 789885843 931715251 388058397 364782885 318567461 657403423 118553241 843750981 179620743 170914399 800890059 243874113 756654895 583805495 188285211 408108015 22273461 50931159 164126869 710105617 811483103 95080915 859622643 693339217 832856983 852848679 775745429 685202749 936941295 30243641 124093567 498524243 918992163 89035991 708386659 713052915 648549271 517756213 704405143 744065381 801587415 379232241 640203803 927354329 78156693 951294737 789544597 509648747 799698859 224628737 839527509 615600923 239913247 565826199 592060499 415225041 918538523 430088719 684159789 275169889 421057777 31244817 591859755 913908355 231513887 140314535 726981693 617437655 427934789 824788041 788586231 456794089 767849521 885501649 311223197 182832679 972131541 830492295 708000787 311251693 298518861 116021273 119756263 783166075 122427099 337325209 648533333 874314233 532480491 723748999 189316665 644494459 950089487 382222023 663730969 70800889 914102277 493336999 101853223 423441491 139032749 63142875 465161275 307780181 950745621 889430913 340939217 295944877 521087855 17001245 870686225 668751607 979982615 972147871 870470605 27133105 962336655 665790555 883951225 164365385 936642179 277433869 589722933 920574475 799109575 706633181 614099915 301643573 792936533 910408021 740067239 27158245 511693137 922409067 831812321 528736551 225838853 544057469 784862007 698632169 810247141 850714963 289873171 904543749 835150221 910577173 74930309 158629951 931556799 108876891 319944767 417141309 373035879 660063523 611143845 436535187 71073177 174513103 783774909 541890743 771873935 775841073 783244087 781106703 982612653 367619195 452984681 227300575 824960893 200509515 128300113 392743003 628342965 365129637 734223769 891715227 284941613 248656121 480226447 662726051 169623529 40891161 200339241 174110297 792191255 329189957 156632841 4468625 464512775 939490081 832645747 324918017 683678005 229655995 563817817 147543629 371898693 366312585 776605779 331213309 265014785 468647781 10783133 488113795 244973151 997352599 598235679 628344121 716196471 140395467 910885483 744354141 315921039 399437079 630538165 144999195 13660687 822687223 217467613 809971845 190976653 136848979 174344045 457594513 997528773 644177269 380539023 412379683 123341719 657423637 365796895 759331587 201462545 247581261 46887835 485465315 483187555 776578727 834601769 80271451 540504045 185003787 663813785 344993261 349545517 539275473 511255139 668985603 512610515 487387319 13931685 904419567 81374383 400113633 558521383 239362535 14038975 68380893 209474903 589776911 960778275 918535839 547913551 635167343 769318697 618490245 732655307 365254137 655621187 875317845 245771573 705424005 639884813 784487739 150626715 609819093 989864775 461336779 581050291 571779731 70844897 948281095 593826527 976872783 113550829 557498447 314477349 383956355 460059811 693329523 734696499 448488593 517340523 357026217 95486561 8670401 314008269 374698379 143787439 619284549 606955901 887362081 702859459 737665077 396381527 321032407 774073839 856185235 917208669 225502597 638385191 160398921 473018811 886243171 326078987 669494823 687337667 441064475 466132709 951046119 611394547 437224633 949937567 881987115 234065901 174680241 563725781 279763065 952280699 704500447 393722053 240143943 90245009 948746893 289237589 358291435 38324811 554652773 389260821 715948455 175554027 348324219 563071037 367685285 649067741 48965711 737249451 618820085 316046261 931746245 74186215 707260817 503765037 671163947 612284959 956779353 746900009 359793719 762353197 898147353 56033971 812499971 231526029 723575937 941042431 436946967 829206121 954895913 879919465 41933407 232526991 138326675 519744629 807864113 480196725 947150375 888939979 288118345 426367805 229437241 376974657 857111503 928971947 465772289 900644305 953936717 850750001 704650401 755180191 111736507 224774117 569581087 409188341 700078453 19377031 216696689 340135497 430487359 601319807 907787115 595207475 171816263 509196761 981453523 189077625 531792677 70787407 228515665 944975107 130977747 51184705 35832437 594679783 698625207 536777651 860396215 704293215 137720477 220169303 107714173 600558033 723432639 607607681 993961739 824065219 328465845 111423541 950634391 520369133 447303301 657062935 620781109 239508519 296904607 633993847 82401003 386190967 518834135 585102157 991982753 28490501 165275497 641022519 358580773 973478953 399918333 620782461 484218677 747623769 432488605 82592525 321810799 805870651 276171455 250236289 442504031 968648603 628168003 630309141 649955187 460532331 667242603 683919027 600194823 843957445 356172773 230983399 251886937 141028079 790268361 883932397 553386135 560221267 502373775 56356767 484195021 106878083 590796577 35072649 882730233 210373693 823243723 258030295 632318457 70153825 190700865 346265185 766071191 320726781 962761375 936410791 944214407 607245379 958748527 884741585 989981277 806958991 897816219 860254123 963471007 315507811 970531191 113249455 309738419 407378795 593266883 119672571 659967213 182375801 238502821 979030871 593036419 773720715 62122663 126556723 826406553 801488067 373042367 850759845 489984567 187073387 288950859 715012461 396555855 604997623 10983953 970716657 275921595 325693699 793226813 439088961 337986361 831127377 157375845 872032531 733117559 724468941 150024071 615891657 515176705 592503179 951291653 410908265 407239251 776134851 166970289 350472609 160897999 981231581 325392829 621579467 474666943 876622177 78631621 195146211 296976977 673359365 261098195 99747731 919288991 131360673 67035983 280183849 921339307 394347065 864336915 649807515 75880287 520850169 752683095 992075147 17655181 66157365 267828167 79331901 911204075 217362279 383318377 145114019 561565725 914124851 892149943 338664787 211409579 201128803 438895759 334407309 419793415 528939245 75440177 581095223 289111689 308773353 562888271 202169059 82018931 311115163 999345661 725114821 957496559 220785 149745079 278284733 422551823 600215803 92429925 410207059 298711753 185412341 472964177 961851575 12223489 856302147 351500339 85563071 360385919 636295153 287153189 852788201 898244595 363693871 329137327 312430431 657700603 251522651 984367039 836300783 487285267 694620665 348926887 779904785 185480103 928106931 306146855 738196451 188847111 994022747 194461025 876874797 658941037 188379117 56775911 617306461 75484155 463784589 208759467 675768715 716806329 502743943 158714379 423518841 569767575 192900941 634623179 423872137 163038321 433371001 18147867 638453711 9273097 318094801 24119183 569934591 124964355 872821055 332854307 948742779 770224373 718626005 843644221 506187591 41905241 764310225 121417131 408390677 259874955 679926675 50850979 665401915 240337625 908109993 600057023 906970809 202541169 288723397 481912071 307100471 663601519 590599105 736787943 175611649 443426771 263642531 467441717 809411089 539833991 302702485 835558959 592318981 630112347 89399785 297404535 970268965 845350665 520454685 563109663 929986401 681301043 454156755 379697815 101665103 930879583 418533333 929981633 844883757 521072643 464030487 939569631 758062565 200306293 394871219 812257697 978191877 282936567 85693425 8155675 751009477 720054193 225978167 124443847 454197507 122047671 658938649 269249937 311622213 900394241 164360277 314418623 150822335 760660335 9362893 462801675 703340355 187596749 759391115 63144595 989855827 729215433 408320451 271330263 756576535 992923135 776287185 206165961 874737501 49083631 738231095 727638461 749941659 445431811 138260129 771988081 416579057 355861641 659040483 864456967 4763945 717716671 334013431 78160399 141662127 845255875 982749185 981627007 40399515 663606689 446739531 516473009 332265133 640309831 471097931 59183471 158920523 410616465 275673241 496883425 856292229 33775679 699967481 445798815 294091539 450707449 204139095 842933671 425880915 98243667 740401095 87615325 52234319 843447493 506306949 554491021 369326513 544546991 219891441 100326255 813030357 577697371 519059095 987438495 489942199 717832699 686260011 379799843 335844097 698112169 406797963 447138151 330639617 250839909 59465909 147146815 689825711 591161367 371613401 611758317 174364073 207774355 188300871 850616081 675329079 586838927 709688187 264305083 326352967 243995055 766737689 341307487 351821169 197226621 317552365 588542941 363302645 835523943 816683241 906529143 768403131 447568071 849882151 531209179 15916625 98105569 721655789 687036447 80078317 336944347 225844899 965598913 131573615 695157193 991024353 48155299 960880481 654548897 711912029 404535319 974760943 880118855 845658365 538242509 609351153 239330435 520388045 265924071 656687079 978498823 689259007 227418857 193678071 165073261 673109487 754693821 395810289 559094067 933147165 525021629 879764557 917595333 893592633 17170339 572766505 690059381 904916501 57128085 10256461 608954745 412114601 795068449 345585449 143690997 664565021 630294075 375951825 85349617 989276089 653901889 632909833 973248351 679672049 616712697 760417333 919375127 855748703 939454607 661373029 245928157 877722569 894503833 86439247 229450327 625834009 579991571 580225877 180769047 812012643 390903653 418322813 190899609 758318817 62769753 422833781 464788537 55197685 423204389 504506261 390258757 285192493 132607849 304099295 228802797 334871611 921715495 896357621 331381833 930892795 323466191 39689771 187944029 743384431 966354483 694622069 935858191 384285893 681888403 254570611 680311857 708892235 568733587 212447087 260374141 631801217 866796863 311865429 576965781 270193161 215703567 824598973 259703553 417312941 674731487 226297829 846671411 459834979 946201845 862769593 2968963 258184003 748120829 212036035 757996083 66562449 34512907 653630269 907284589 350835897 318617505 823636229 926057025 540651599 491628959 509204643 858940585 231015181 163964757 306230597 661973127 462591447 900135543 968412869 26361251 225295543 140258341 61203617 792272301 120865251 675043809 121334525 905384257 935913139 545511065 493689261 310438623 898577069 272555939 165299495 102494705 765347961 330120125 354228105 856483271 699239149 61371401 165059481 8821915 779101187 113485081 172654539 192327823 24636895 267404767 545201457 429103273 850703821 716163769 861289101 993709023 827709 429548651 70684487 257283591 623627983 216253733 963763819 335501539 810309441 511355769 63045043 65896733 268162179 450619751 651007103 350836037 892692133 884227923 112495827 755124949 836394725 234764555 699356769 69120301 492413091 460427971 554995071 489659033 637808749 268390427 219352109 106147655 791424755 481950995 890509073 284037203 194797589 47412509 752588923 409695933 729939923 669937165 65280867 701157997 564056407 196038945 929078887 245057335 155965945 501872123 562356943 378007507 37175343 488113581 951796619 592001763 699636897 696946087 915011631 918962157 274512151 503144139 513583103 606693477 741239171 309279323 699324125 587171493 750452997 870775047 193519197 968475885 337482461 867885537 116204213 346432615 674367863 576334185 120819651 902736929 516200805 305094275 627412493 542468121 124663909 744081275 40025541 496687149 421083737 691962633 632003523 995939625 825703499 200492361 360502403 400874427 786799471 818870977 60815661 840410495 909987873 909733725 318533267 996321779 419267811 775751027 880573993 858626949 434023265 630086847 781674255 159626883 871883629 304680807 245412111 259228709 504889861 937353977 564577683 988207503 2724427 23829867 331680951 115450571 511432329 51722263 497276473 767774663 250366259 572112581 258212991 222382429 965504485 27194017 391758233 351060049 86508643 23930179 13080127 470481481 13020565 677683619 205062351 95550169 825933457 633820971 63862353 558181497 463682961 60985509 73172853 835652489 50339577 734431049 366906767 714389843 222633043 774560179 24659875 56008969 480479059 200987369 641851733 141899971 611918549 584505685 724755443 944465029 698629085 777241041 563630969 393355573 41670291 587434647 85929859 418219431 867362125 740214861 752057431 796959633 409891205 812588801 229096423 204465303 517036255 305402151 668581579 338146113 107377703 962580125 619811135 949430785 569943629 989428649 283486251 258476081 713215345 516414455 376976417 243435279 69779409 722576285 676989013 413099719 632520925 956451353 800461223 385775979 3402277 679372109 317009823 13809649 292442725 10681995 314329453 694832957 191792257 809084803 557364967 12922135 416213125 488746327 910014861 561121585 598363811 301030281 114744709 279019555 532110901 13136649 496480415 402393713 694664385 381381417 107399507 624507777 756884721 457217705 416431551 971575461 851677079 414286509 882785963 658277911 652531375 416849347 350614149 221295609 227164255 624425695 88091751 385733459 561743853 503677535 254343949 1597719 697816785 112198407 510026209 160345373 22977957 403391239 546172913 16635687 44548907 409731827 518436595 6988255 15478607 390256839 353745481 783714261 242202147 180149995 999524345 342098053 632738533 865538857 641747889 311459147 298219765 396897207 376999881 59339381 660583137 621043765 617825345 811449907 265258843 557353637 247211967 793165725 636378687 465572981 956059797 960380853 302567823 190096251 797561783 478703717 446103671 779417845 885307845 61996413 988980811 3947655 942177799 540638647 607990147 663220029 513822061 965403573 860885191 816774287 763264909 684039935 863183327 185190745 383228327 439171845 569933503 662152929 447288225 224801315 259164803 774189521 610695435 442620057 278904941 851241283 556927517 502368145 383777003 133650353 624605877 798417435 881870475 489512961 886976859 124757553 633982733 260801665 349809213 25810869 8378963 36434917 396550197 588193133 198285671 306793549 74599871 95915535 594875775 900742201 316911621 894830385 578818803 317433245 386957779 756563541 927957063 650886857 956529829 468998627 307575079 673958779 471909271 201436207 768827239 377173979 973063279 579881585 680125441 861897587 67704991 896668107 442123801 360033339 111105597 394556483 530961915 699327373 610131721 521642959 494577175 857562931 159447403 835824453 795483147 325099093 916881775 552746341 541910939 113102477 115520975 84679645 541984687 904144595 407363819 528135739 347702111 77524113 707911623 191060217 315074785 724342931 374148373 892307063 128109723 971449869 908763689 998492159 146741783 735809437 405635079 288223429 576307979 685188681 824073811 990337759 43541071 777702525 123309149 388406349 279957737 123526927 725366813 503030269 732844803 567513147 698401073 168555709 89704687 661334695 288397793 968584261 633277993 130323555 845435931 148026937 896017495 381717471 306368633 853808931 509584447 827002621 845553463 789756273 926488281 404268031 959954239 492983423 687555135 251234963 361773853 533284747 879502003 26713295 601864717 143122115 629150623 289918513 994443497 937007669 557869211 875693725 198140221 656183001 57999453 984365919 200455733 136952723 586100173 749918767 719356329 862363693 327486707 783668777 348160793 322384469 583929859 783476947 314711211 573457573 459424855 538098967 636464689 677784993 916015989 899092559 697203231 160596655 759065607 303261493 411684501 217897763 693269217 200195823 456265819 824461619 7541755 888907787 20725217 292334851 89385341 147730815 105656893 48880541 220076207 898298789 737158189 444631535 416604421 719914821 926221085 910918099 406637339 753073291 934030359 376909581 125271475 418247693 253077715 447577667 602477241 860463561 340357811 314281479 153684545 866093601 74933181 319289813 290332037 927295205 412302239 94141195 234234345 541672011 241708211 101977075 722729463 526398959 133915381 120479935 642573411 347127765 313521423 898872455 930896137 781291373 426604367 640927309 812937195 686647945 851913899 972121085 475229751 818259561 527392195 246885731 16793915 992053425 430728161 537233723 580110713 281086063 718910449 370782247 385465741 438473495 157250443 107997615 34618185 247786887 603565551 505723717 308741275 205509381 928928003 826599745 503163041 736144957 297903193 778212327 685404831 697770053 19212837 108627037 31292157 201914777 945171015 21323189 343012945 550854431 529380167 941109225 670312533 794901287 62107989 116343003 941937389 26106977 389364039 940521811 374765861 419526383 123449243 212789251 380631599 602495827 567087995 335070851 183767653 857379195 906199989 185981525 391053899 502733245 866834369 107182563 381087119 330637783 572575421 175829885 396318721 798605293 417208945 858183773 439773855 650967949 341848651 591350693 136627337 129805483 678473827 827266397 438407691 905182371 709802619 288120181 191014299 461504831 308502773 457665227 247958227 127777193 897858533 453455899 860559219 656219509 334365695 464024849 248983659 207566245 985345957 60529981 256176843 688897945 628722651 283165465 197491921 884881441 922493779 571160325 301007069 341928049 440532835 267150925 953117309 888078121 347924747 5442593 901470563 781546825 557679603 678076057 496015979 113128261 272665447 21817783 887319703 970030573 562157409 411972195 863555089 819023743 627644287 73636721 99856177 342962851 414295561 587801241 557953903 681096547 179006191 246652285 597957741 399209015 244880583 658689699 454853881 981376763 227319759 112510081 989296645 157438963 416920817 309677165 987259821 816908495 628144315 187956137 700087347 3309985 521669221 928136285 256664323 684173801 109841101 593029277 434416561 894089099 850003321 103945569 457171189 217414613 33218973 810380683 335232439 172804731 828159755 77239521 224915455 2174619 32840517 386372889 388494337 627506107 634984563 873115335 2472729 420832967 982641251 964493937 268897995 523526421 161322379 407234943 99494847 440825185 901306379 518852417 529653963 37345491 266258093 223023087 614930409 580535285 41762269 1432495 429012283 434519999 817433779 370696581 96112145 488635531 459116015 800557157 989612505 727377185 251121399 505803305 355790641 100372399 929260763 943715473 743020253 606831303 555364691 878412357 405676229 969957481 110565309 387087833 628112639 864612089 704444449 948971205 603280069 152276547 21823023 637348969 916551547 627821695 115892285 819252495 659079595 486134601 1251401 196938473 127538187 744738983 231311101 130404113 317964915 274786819 462851239 956636295 795162857 239747383 847878207 77454131 106992789 969475965 133786723 154400489 297577165 742139005 298240089 327315039 469337101 923141441 957077269 281614393 409457909 152584511 900466729 371796481 798204753 785994581 430978775 515298597 332622615 752044233 705246471 363880447 548311903 562460233 960096837 68597971 605056367 809390823 944264397 735022791 762534321 905780513 317447289 387025135 224993975 138665439 998724565 958946113 252115517 669430123 216397069 695124385 36603945 677837437 221431033 893480663 518887299 307589425 676848151 956604821 130008957 95361547 762238355 554311541 458166903 370471675 436769335 226287605 220848881 24846931 374798717 277971329 939472535 332336083 448039043 868756075 915764027 151927199 507357969 707595241 155216347 946232133 838834839 482586399 148691863 986318009 900601129 712771605 623283389 570289499 347692683 919105725 156521919 123697387 845205793 914113521 804183609 801728155 319599355 44224623 448058861 727966719 314840783 18162659 679965127 778864149 301141759 239063005 356884185 245510207 869422225 935213273 994015585 815309133 630587955 445459253 70132673 275168373 875751229 940430907 355572611 644411475 556467375 173660955 234493531 759186411 670985265 462227443 306972453 42690987 953925393 523195583 290536675 973523563 349860165 653713003 699937729 680048739 374264429 511589831 760541715 26642493 316621523 110915213 770619731 807961093 222799459 856564831 722270499 363240495 815277493 613413829 122003539 22065817 252681991 170738481 408199633 95633289 81700677 988633595 569225147 550681257 612673785 473989989 423326803 100332051 585137501 317106073 300430087 184274753 534446415 262153895 592131941 271370779 394105943 582068617 358162479 641745899 795846563 755788065 798264897 850199655 851591437 177768759 911989677 962221741 724778003 162404731 853766817 89558083 593283801 520196745 154394747 563348503 955806003 207483617 290728639 464604027 749440407 156889581 933028885 873226029 172327459 264736509 856472915 636075093 979041181 365232203 515951733 185470847 48537719 181274105 783442843 884525469 498282441 99840783 629177873 506159889 13901903 263175293 789079373 250003615 310996337 789523999 611499495 462832753 134721 839995317 778341541 755439393 26326643 996812265 260957039 821020841 368268137 33195339 967042141 389184367 318141223 170303317 184789157 814048577 883237215 107515239 851783085 11078739 71974503 669745613 523707393 884914755 335829055 90524341 763625555 694457111 96236429 813514555 924704381 228880955 627860129 639582303 913110661 732082053 418142323 785852939 726631829 482516017 86471073 716689935 378991871 802116583 118540659 537369891 651860289 523231665 413338839 997122541 106188539 890900743 441669991 803605489 973394939 26133189 805386337 514198693 386410035 515070511 941215145 784333405 440483517 540912115 55055059 523316575 805619423 749405993 436619797 227231443 293067011 431867977 222722379 878502857 710557629 705025085 914052353 489956409 677348039 987994961 98507107 865442313 554536451 759802937 926949195 665028605 884980351 60045587 316643125 248525513 738429805 421504101 986019913 484042247 405805353 700213275 942186329 825696055 918094389 892298889 916105177 291702465 58745405 243924337 26583785 283898617 166078229 53708019 545016915 777317141 136552887 862277279 754276225 636508219 209245509 93939305 699626127 299526255 763634703 325880753 159767355 401656229 798087811 445796921 323557355 717306039 773552703 24578351 722781871 271376483 968421125 154347561 75057727 142152791 969782209 463397 640539897 468949535 746895239 857143431 776732133 864557625 987725457 559853083 34979251 94953219 25049411 712557593 823540663 474138055 218759975 379168029 710184181 917243831 653598707 938036267 867760913 967383277 204113023 979612083 581397337 687230311 407257039 961198729 829721033 318170129 677044241 799796969 841877501 687175613 423975829 225879417 126990395 302344737 625863639 455545415 183024757 151583457 267924091 431521223 652314435 913834119 269718603 266624983 134035681 53158785 142648381 499299005 146483255 656763177 338103401 510991397 546061783 604177089 352173333 757184549 134020341 604288115 586076073 948460601 630921841 610037841 308761019 15146057 366129107 171395409 548933639 413038495 334969419 208368215 11782509 246513651 581707183 258631979 462655993 434043489 859193727 5160831 799339489 758287981 660222433 413291499 127573119 888333573 702465701 929191155 376304467 632350081 594845251 868992509 463822093 25487003 564088537 31331419 77960317 227846009 863974703 139762759 109682081 68318375 267782067 361636323 308219033 76938525 136723327 651937335 436552371 553722679 900780367 423891509 566153569 564595643 276999309 992157621 682712893 759059669 478326343 356099705 729925901 197401883 31867443 466548523 481640123 306417801 792236467 879215709 491200603 35831173 59766987 598450053 56214821 267107293 494921007 847519237 284301953 457718215 325066033 28160553 890302199 197371613 919102675 198214177 392321339 353149735 118640827 761053445 619007783 947073555 297767227 717903319 89939649 797657459 250716999 696067713 998880051 397310599 741407615 760939219 717291985 821916913 230331691 198402951 391375637 327216067 25535803 523545407 829949857 516402799 251800901 637792643 428051269 676479955 760306313 564266435 653211119 279350067 446175981 292548187 164268733 680469311 245622785 579568523 852867313 3267337 476270589 379304573 986724087 919073043 374463679 434024001 232703331 393078333 437234895 444390609 482171375 865842903 987214427 676834319 947895933 381432725 945252925 739061953 495262749 487149717 110270193 177123229 580880381 725106781 557282209 349690937 97845371 830401753 240337177 218559511 523359257 1795679 23048405 826192289 762676357 291212973 750083567 260612391 56562575 111068133 877977651 725178337 272863795 944434073 797375757 825378037 179854741 949252537 481151637 380519 807963647 746425767 236217483 539536429 150769127 490329381 191087959 866475293 256559845 246360419 529562885 667747321 865595069 674477043 628198991 718150761 882595421 215215061 24077715 170057217 860014805 675346541 52183515 234359097 279915617 303922825 544657361 335202929 415640933 406165341 146290897 42257653 954060653 358729607 471904217 734947827 685208107 850622989 934213263 204576647 794494073 177921883 885035075 725180335 644618589 792977477 465684205 102861145 407878911 530593549 78913579 912311123 171096501 495945811 920873541 953211733 458281723 469538855 420630313 910114565 192806513 513078527 515359601 552310503 355281637 823091381 316843353 725448559 889855305 298660753 517118411 366138359 777527223 717590337 762532691 69296063 646958197 445113815 915204909 991025391 245838061 925452499 155015731 469746075 821856433 824088087 494769649 449790137 355136127 427126005 1770899 381816109 262625591 706129695 764344561 603006657 718748391 79896499 265281419 395441443 704238017 973668917 301484935 247496429 773622561 192423829 702848183 76772003 700359817 439835431 126269327 269800363 55905957 984458151 321510447 732658521 737139271 325120059 545227615 351412707 65654125 776153457 10787727 719059821 639334455 623679037 605768661 418986753 696419315 545301247 389915887 769147277 30903317 280169591 573551687 131250923 758901555 919298777 379044075 967863519 996018711 625376949 711803539 508665359 531885223 749656073 753812637 9617677 19842807 221181245 547491601 525465429 279172677 158999579 509102493 906369093 657522163 936687835 513490075 885839399 100440715 900739865 866247687 742730541 685376193 987853529 881752715 412433519 856786545 394691465 684998771 345856753 327345567 61031169 747273403 912907417 646806387 986589307 369176573 743021881 608034115 31957405 395527045 460625803 581773193 660996981 756705855 983316017 373309161 283650935 848085443 965485235 208876333 747400833 963351377 244566147 515174475 222111705 333065935 60452857 702341979 771544619 237917647 680169305 322707361 217810059 416093317 910455753 196385163 6325115 921401041 209591899 302967209 858054107 965335867 358174985 943520695 140300283 126240243 4583861 807632281 993408657 439262159 335732007 62399065 821749687 288942413 656715793 190098733 541932535 328666007 555257355 64812653 816727353 293922171 987395735 994842783 300848085 379649649 416016415 953502571 481456521 265478551 96109299 524727977 32259193 226917043 733142093 322658127 169664049 412085049 869249359 779464323 579000489 594637115 545336321 242463377 666306365 110646909 373209685 729187307 302222259 788857697 526137123 370745899 937785141 58641403 343647021 722318615 27060061 470911231 895136797 600639383 188563237 806013647 399979907 311013059 423117299 940136559 815378393 311626449 175278229 354574993 329046911 49682985 30210625 129603723 264581569 533760593 980735377 708635485 403517391 224728833 139642253 361171629 741226433 443134227 364570785 996916173 245908889 539510153 199716259 76503217 929951807 16023695 434348753 578103033 224005257 581368951 23814863 736561901 480313897 960292031 587654057 99715709 188552391 714098951 448126935 407124031 248420073 705403933 793066803 671904881 149862655 306839795 456671751 454265341 357328485 650623397 141617659 741124977 255161435 128333429 225777961 937884165 885233419 93360847 955994891 657477269 159314051 447507527 549215623 264561325 21820353 142681495 231743979 121417083 154666405 506105763 306673131 38870739 9166837 271912565 292267173 575386167 681969255 426398273 656160671 996789711 864228751 592428131 670747077 770902375 175742963 276931677 350935149 15787899 61058811 601965275 848629843 32272933 997905911 166008497 533339805 70180913 70917407 701670873 696860635 93399563 316083353 749516407 289012477 322147019 58926953 124653525 277858405 869173553 423110277 42110823 757059797 219118243 439961025 627479499 245174395 581787185 79296227 994037183 465265135 919611795 439313041 233674033 827546409 236583 164671839 391395381 924274323 173397493 329471685 674127877 457436665 31347885 860219939 724477957 647608719 962116773 141210563 304876225 483894515 515581403 63877593 992937193 258072105 143740665 822818169 913053789 539664033 353777741 75304873 476251931 129162287 263264463 567884367 262908499 783881231 753948445 423912767 725685077 815001063 320784509 818515247 285857949 613845189 613159395 256210629 446464207 839672351 470447841 844261765 991880119 929164495 387854521 80412387 664068933 101070877 429369683 935978297 838403737 787022517 173319739 734829253 109704947 201252781 843269549 267115699 674928317 684969347 465602435 77263893 692178573 96433947 498500169 323621601 456031775 10147009 991485481 541569787 103605587 129468205 396136449 462659373 586698551 367698555 177472585 718702629 159283965 159062319 996014639 80089981 697623807 77221177 768138877 79188663 291840451 529574123 5776557 161174079 154618099 893801989 202729437 742515809 288023137 388317355 26172373 111416409 273612043 567858283 615310853 773659977 36639249 563299129 813641345 981547323 652952001 282245235 241202445 820099611 417836173 847665119 632866829 809182921 273024529 572165801 321288593 245056513 850940431 573464679 574267471 677963119 396735859 927788565 494458025 221926565 862486865 233996059 800526757 123669017 872682465 733310019 232639985 595639343 745085323 480548037 934534885 976512047 628743127 415230779 971807617 175629643 307244153 831218863 883695469 231707035 795433549 347439497 194819575 453828897 307216981 543972513 74974997 140300999 922630333 955958325 875448935 278030173 534840793 567908585 658631735 27666077 574124323 849692363 68802159 690055209 897323071 348843599 975576491 98256521 885001719 487738195 362452009 525354543 239737151 106706459 522178257 445364339 719489587 996936791 884532783 185313943 244133143 714208283 77667197 951727301 170569043 311575779 552459161 864699661 470648445 92351637 882736139 818243177 36330831 856585855 823112705 273376187 67407021 586638935 330172245 293052107 182195361 765730615 456975235 39212873 842927969 749913767 879263413 422057427 243752005 442705811 754812089 816600805 328135889 930655569 889257991 142048233 693282227 207488159 659066043 513091123 587083707 747986081 550576545 566546939 504450277 589703139 955631909 511309155 603550549 777429341 766060641 487482739 306558551 647362923 677187601 395946267 638636379 217497809 936786333 108858423 405681921 160530367 760168471 749321863 750504967 13902023 154026803 242494133 388996189 647643113 851703379 491291473 53391379 294571403 923610491 425219541 700778085 492470645 72803421 401421217 27179193 721289187 147542863 138509057 934743445 217154669 280945233 97009187 504454065 804823323 76947465 895092259 871999207 670084953 773907143 523977217 645988151 701103357 277868931 109662631 87954385 43907395 63941851 40519397 464397319 784484307 16356887 955044981 34836049 364999607 455572517 697938167 410895703 531597927 312594079 538273269 862108895 25221309 419197633 474079971 999742177 416223233 215980149 572600343 773341303 720465633 946033481 419639761 247214307 103066735 699790197 291194687 702997649 548813099 413174485 315740015 190338579 615896057 801747445 930063449 703759655 345027879 75010305 677762019 405744559 213246825 406116561 453654225 298524853 500741853 15291367 391060439 469583213 555530247 70373221 741333647 334951985 400405719 104222751 189227641 770633609 9465761 63985545 589395453 896538395 849232929 345648835 619740527 921275067 441344639 184507285 795885063 692382055 558362181 389792111 301490917 580013121 182368105 206280295 562739731 144863123 503119177 810854461 803244931 428905425 613969325 893411159 343600655 810756247 422335421 722748869 655309429 591131559 896694545 332552767 559465059 961780719 820588199 512139043 926766949 236840063 624064993 245670265 462753785 631374739 728031121 870415857 761290877 527836557 934032617 795538911 201948219 507834877 152425605 736505927 471370341 336822417 361132911 581728459 305881877 904941095 655600657 440058559 790051913 301813187 520518463 707173913 709481199 118793101 911696697 721058421 694483923 239255515 707256995 203909151 655407283 201371687 85937035 81103619 832948013 767807509 959106663 291897785 944093643 139512945 101277969 986978947 466558207 453200427 824933329 59023939 753390625 665979233 347257939 458853771 8526453 853353047 585278125 172095381 480997921 467143799 206920795 288348987 547279671 485833555 977982277 740504071 685939889 568994215 531892405 389914409 370400625 189343831 425774691 465703031 246091071 370034543 557202793 721442673 887377357 739527457 618659153 736328253 885096373 786467527 307605251 66678443 398399861 266091495 136469975 196776243 148303993 380502313 892355723 738422259 431126545 789810533 307333699 273096627 723209337 129625233 516032909 900902625 301065677 913021653 65382749 952390295 945681179 696866679 63992849 279330705 394912083 196961263 814902383 702911289 714955341 149462743 580206243 562670749 624263629 610603761 900337985 756098419 458596985 918429223 398430795 372194589 193219299 652404881 694131233 788365215 825134725 526456167 845027987 696925867 159534785 476620811 251976151 481183897 949187039 838363915 801582983 629378405 755980815 497838361 610377643 807497655 208143469 747493393 556005807 287631329 477011961 836400629 236262763 915523287 842778269 223102961 314439703 271414073 278568489 246532951 517282141 496605775 298481497 400173733 916432457 529556745 541167817 6107261 38773325 383431933 47925767 184103081 449634379 177511275 123907203 662372125 709330823 118534201 461591189 158367477 867525293 364881143 168035455 207752051 225068753 300531165 602147177 781366531 681772147 15551689 970101351 726237241 206006391 883440193 973406065 66767 136807211 732278393 407717993 551421609 460987205 815280195 788847127 66586833 198200031 85102115 997829419 1698427 931118721 136185661 981808961 304516101 527078935 266037343 558024665 207703021 453594615 942100229 914338653 349011425 809915357 33816137 203634205 470724533 324378097 375560183 39583571 323577443 973189053 530456955 221238303 545784591 878697785 263881965 817614989 181452293 798090689 4556813 293475979 284204981 420661017 693680963 14277877 599188925 335588463 103529115 873279627 404163553 561267547 965179087 606939381 685267209 77392599 25571389 340668359 534499403 441621065 413523951 692541305 825936867 221468285 95242383 698048619 793797681 839482029 421496697 419633641 461159617 454935921 981480875 785730337 506507593 258145231 866810059 971018287 284569249 239832631 557349929 102332179 887506895 224743805 104553405 151375029 115221757 188843485 300301093 961386985 32107645 804459519 773712041 150893671 622093771 958442477 643545655 853151183 719865997 774112285 680536679 4721835 952580489 148022895 297831803 635899245 302026167 828259621 997012565 910610799 299571505 199528941 635765641 281101809 23067703 956654815 354154573 730874651 524633145 116667763 408021373 566035713 226406089 311080339 874332837 600036505 784159391 661338251 19496689 254641353 825378467 556687375 37791801 737630037 293559003 564408635 933894141 275356145 612544895 119248793 470094435 995003703 287456745 956773907 742772029 634333605 411510171 206852093 513052415 392251559 763568961 456634391 310539209 371819407 223955375 780330887 837056099 461553813 683154141 28197591 266864445 977744857 349321459 761026813 660891501 821757029 928262969 737445975 963089841 373001003 974158627 864075691 9564019 101201411 853494605 610551077 740414401 577218225 418042489 513979227 592517203 134068699 261278867 681061963 830758023 120962069 674312623 646395991 2126437 826543317 649203463 347796817 402434459 769737599 542577149 873113963 199582339 560820827 424963873 770900545 462295321 909936027 200883489 818388957 884727815 256983639 201677275 679632295 663419289 434714003 255414609 116198265 313810635 757695285 357531311 532704395 373819447 428374287 394008905 129467015 729674537 594243037 361486233 231429241 482847373 793987643 170643523 253141973 645650939 161094583 901383443 508490107 517674675 374996417 240336889 102642347 276329115 950982323 472834579 314334743 682985285 948748491 533333669 390197459 185635557 376700725 289274903 889841499 576479067 82006273 17640191 928293527 756937007 515492393 776903447 629110993 951960721 124487311 38329923 430184639 52141653 35324155 99339663 637940865 814422271 919879199 176148011 997694105 961873843 860974483 683846775 509165303 721998657 344341209 518318321 805705709 871146785 16626779 242689865 898955067 418999921 677063785 19859791 272473347 696181495 421737023 242515967 366431447 37299751 529059065 80286335 486358185 823545875 343754405 316562197 108355031 493740157 507359539 704585785 68780581 571928013 673440635 362233219 668290755 757474321 595445823 908172473 182505797 934901247 195796777 817079493 289048743 654607865 397841865 806660793 774672463 574808323 879512729 513704147 337615627 77218255 564985339 547048819 397919247 764631987 536042805 505439271 597018107 250287535 882650493 37553313 41568721 477288297 81217769 975883707 3189247 46794291 65057147 226519675 443991387 761526785 854700061 540326667 516374563 260922483 923075487 809671103 641695993 243784657 927157179 546031119 671473135 66205195 922910225 236274083 40374645 272105909 696466221 976762179 905678189 560946963 171735933 888697315 195489817 383042313 462352477 409753503 111058217 49322023 76564749 659654329 586744495 110752677 754806711 850417309 467729963 667567711 175872619 505133277 8188801 333836769 879924257 22883895 387865599 482489175 91315647 367248269 131564377 412679835 562177289 220074217 526769327 633418025 206443445 884996735 348245889 706257707 239617625 494123435 93180609 913850477 506545525 633957871 302425027 246073707 392001655 581658105 704600389 980419135 850012845 358456471 828019305 307158453 429446737 218751945 210829759 6301753 79475075 132695985 394665021 513635043 940713805 434458521 170470973 980896883 741063331 85567223 131651721 620159055 487950169 911561315 950451017 839520647 256701237 17626273 157343509 363251155 461676767 556335519 297236459 949779601 70389477 103518573 836191279 632636361 564567749 915845447 656198573 201638699 504932829 124059793 301202589 492175117 167559289 111778261 729833627 554439021 724081863 690610633 665491885 203746037 33645537 415419973 313652031 372237299 894852811 720061775 354168613 323974495 383187819 580414991 449623201 830988245 127528853 427783131 880419155 789356705 33554433 307425069 114084427 339077297 503239503 221959339 476302589 895218073 521527049 495161883 289318985 756943003 338831009 511130485 520938865 192509343 534238321 295719889 440078115 897254961 138041015 674567285 693354101 738449037 955978911 475391435 451048933 724384909 339877179 801484901 595604053 508107963 705120899 925583359 16953367 747925319 866996311 802437759 609521627 360417031 846239617 364088043 590369219 905125499 355674803 690819195 799337555 840613065 584609157 79127945 170995573 324570819 321451387 987621527 862403459 26008029 872876283 974572367 892247095 858034999 278838359 261275529 792648631 307582617 838722251 702468155 892869521 824932721 46856053 67612301 820933561 223911385 783518303 351278279 917317517 992220559 298301307 250201437 290555603 600195321 439252385 43929065 599541431 312150565 104798611 210783795 707946191 349731791 387375867 554858271 638940695 394998867 628048235 141767623 84731383 55567033 706787161 750095459 161780537 320163247 578003241 991598421 680414995 782164621 673260579 218300459 164055077 880594515 20079993 512047769 853379441 704265385 176509763 710009717 869402471 690999003 288939395 90179529 357183705 56999141 165587235 422516667 515289095 865799777 240593651 427139489 973622677 554232217 714381487 270942451 790747023 35056765 921486835 109427545 566818925 279654819 660300109 853661595 792244235 297654091 568742189 85709487 346681007 697148507 611870443 954927277 711046661 948708197 543345097 818204121 915981345 71486363 974609393 803229599 998147205 97435619 88664947 863505811 658840849 582804415 33491275 846354543 27850517 745549919 33180245 585600791 915331141 780848029 941972063 936501143 545159617 213468405 82425625 861378591 835969803 544052881 483292955 151954957 201238289 394205759 431822567 993003749 634616105 688319095 923451879 392160079 332553233 446664021 239434603 510592545 102879979 650674597 190878637 599310165 699809865 833861075 472699597 793011473 316321565 307631865 453744599 185968283 836167621 389222355 154798521 785314667 195834629 275106249 71044175 937575961 918442765 739831789 119785817 959339 542603887 251732467 122171777 161631561 521574187 485880123 535349591 3850697 59399077 802960335 500520021 171291175 695492011 610513243 943124955 609569731 654246769 682050103 810385461 654901035 244421783 645497441 351164819 422063889 507527965 972293253 86547723 260037455 613738101 559548141 812167587 776097259 355012211 92702867 583257411 508695567 376403541 837499413 10201531 187471629 610005437 721303227 885558213 906135907 140898749 284769139 260100609 197195185 512900037 642648023 919290875 887937989 771674807 818665251 644116257 801988497 750898645 245673281 211769807 845233199 234552271 227741119 408238661 161485029 399861175 876108499 689733035 706972701 494156301 232511583 899031317 13749867 661523381 628846825 828372603 736531335 756147963 177312927 800290749 559651161 460157079 766772825 141572517 296537833 427464869 511536279 278212839 483929451 960616875 678584961 265578263 905720123 477195669 849873635 710561211 408319707 180648121 287076665 596986169 972879863 586364627 331925661 835166181 368018019 733174793 264504537 342274295 706516249 668596713 680409437 123679119 863270203 578868329 199716415 506484151 177273111 318996195 257974079 55891809 39984929 159466271 34503875 935935335 347165937 679818313 429358811 819485833 540336203 656574457 339867711 790363247 956635163 741196071 354170189 377756333 638397301 662955837 494476557 303290297 40855187 380845317 353094189 668171255 709477849 620824503 674657287 971037359 765387985 223387631 83399065 794208019 899139887 595909299 842952327 403636541 87501265 654227565 178151461 911838509 670013877 664365047 323657321 567450059 898863369 57460619 421082863 701105129 819130401 186596815 777923587 269453635 544911993 622137041 818067857 553888631 920697777 162847493 390659121 186086159 154563221 887548489 851397155 958430845 734403099 153722083 534054479 257385241 712596571 520718463 27409729 177150503 623307161 486818099 971602483 386559437 910718275 858627197 52755973 672089117 161672425 801832511 509123643 604366867 514355527 978599371 537199111 8410763 150638403 245249233 406176063 434480981 808741091 382281331 931790179 439359003 63302751 172581939 677645465 916574077 415474959 597131009 622299313 164304375 526099577 396366895 615731747 97727221 152463687 937853565 511400717 407820743 547383883 418777359 777783 336543401 387204995 672341107 890413583 629336503 239044367 549898141 964506031 838232063 134202429 440434411 218519507 557818993 227083391 436473633 216355301 894047461 723404399 826627695 585621235 398076703 730545875 884979561 967034035 841083333 963852693 358924811 939466887 835436393 98570439 24125629 239244915 892219269 480578983 623734601 880668713 710110075 765630869 810607077 787879937 446406547 919976223 2924081 279197175 360499197 519645943 903898671 162985139 341512661 604929273 765279565 114601095 627255325 569344807 454754657 949774439 128991929 979443885 395771817 92484339 246746497 642441439 550559689 976301427 694372137 704230967 199499469 61325015 63278163 391897431 508831789 572508341 411278475 239528973 784958149 439266893 45676865 878421581 639042009 956220805 171597005 807985453 579577369 730784749 599075697 372459511 577573529 340877755 373520983 271031057 159565781 977626321 800784015 310099217 252627123 153876405 797004307 28825521 834793345 801816727 606638275 164665043 793540339 533067851 688136043 492272007 712717097 814063445 768533689 872606459 147866275 837434583 513768009 107637133 284414805 578579365 149444507 933067199 350128527 496677685 218979609 484047679 79969551 984565923 707553043 951408605 513771517 506180027 651980483 136209045 462495715 886298089 524258633 279118475 958765753 149032261 908932785 984676361 410011609 124500879 927064809 971919747 191786765 494721837 924994253 853299863 61174141 685517873 485970205 932219651 59460291 90829135 758738305 728712119 452666327 126024423 999937421 4233667 54390819 995601921 815613369 839484259 402884211 338235213 694732901 763170043 844068859 236716065 784733917 712345111 443931481 264839549 507352655 298616935 913770387 492155143 826351831 126986443 774994709 59842575 837995125 75180609 217925301 299324557 529116177 745670905 667551919 958632479 498416255 59050307 888611241 43050763 385001847 994490525 105342387 408916805 581952665 919927463 960152381 886637919 378269807 99021871 812741161 530565021 179330925 404842021 410651321 672461537 544979175 449310889 81975963 911605695 170779683 587501563 721680357 140391275 244720455 177970567 990359573 982259399 641099367 749271263 819781391 645052761 282500731 335968961 7909919 730771023 582909027 990969357 868235517 497287553 315349993 371610321 522028229 669410415 852053695 662777151 280458493 155123007 217988479 419215025 558356111 370313667 165146791 630644397 813347541 560091759 273814437 518555101 599819913 941700963 671726533 414387477 681669329 102760295 364221253 953989199 147322939 309776107 257115203 227911597 409334717 469355269 999289801 288019581 889717169 303280243 890314441 293279281 754539743 381440671 26340125 460023653 487140723 624687255 320643203 16202971 151007747 581188627 771671975 309047935 766413451 135630449 526942491 199401061 720364915 321932217 963935829 607344583 389465733 195521945 137813177 489405449 312596473 551035499 50395279 821945781 125230443 452602923 147145225 117893503 994492127 462097795 409403457 898475331 127099333 611067071 246720565 744155397 211057135 768684251 707603409 408711149 432150685 978608753 934805221 730904401 35546995 889630413 492097069 878517163 949920127 813158107 18635847 241288607 420678197 83914291 11795645 469488887 502834803 978455573 594401025 995429799 585262463 370192487 296705899 329950925 847969285 814523577 855387709 756249511 156243227 998746435 599407777 573166755 880730429 229582309 262897063 554275925 615585105 362149667 259027787 781421177 492749735 276729647 214042985 209935599 223653103 574569181 58288335 895657667 140872523 566070961 383610413 432383787 769700157 1364943 624105243 198835327 102091443 765342983 461359389 973811525 11337731 543421393 95069335 163547429 433037035 985046857 595744737 240912885 365728655 146782011 753365551 622907057 3875197 998635797 240985763 197401721 491443881 63973611 303269193 362728859 77466223 247415423 884499985 793217159 894343321 305339961 964441043 893498589 497236561 930515495 866254673 141509725 528160043 382179583 254080565 686053873 180563497 476391715 484401679 565104817 753344171 146472343 776789337 100136147 707863937 402755341 812995189 653433021 77087711 797625563 26096809 382777339 695149667 533551617 228213035 298868287 202892819 776320549 414608401 946718309 370226013 991188121 797395805 715420015 621572371 394195281 956182009 318223753 370259315 562619885 473097397 709795077 617958693 251718325 161768267 774882145 680095795 434489241 524859227 897663037 381351189 224050477 419214193 826348135 731182503 908864949 135838715 276196561 201545261 485114389 315700309 630217111 238810199 363251421 782898623 454617851 476749879 169448771 179672675 821165161 816491853 138715177 177544785 695626101 445595517 776118037 254863491 379126489 477004309 285049141 857874393 524691319 444318409 326279779 75835423 979026781 520186551 872160795 371252483 989561535 473555301 508037255 700777249 655528693 784116671 435628403 20737785 202564483 521770779 964784475 206179827 905270037 708897333 308675161 713060707 316453503 88439349 748199737 927050625 789803451 25752997 250075237 282388077 6219501 540786043 761059067 177258803 927621983 452802583 102165939 627772097 826115205 793284155 952126971 454313715 918278395 185036823 959193821 113131911 857750917 468609085 410459155 273770795 302115851 772170413 233182459 743634539 317106851 538728395 665769373 736447173 74073223 414144867 704321961 914474903 825882395 361342381 948079989 932351789 93966059 631404613 837275903 743889333 969487527 131794225 620268273 568935499 698605613 668633051 297113497 685211629 673603457 573160477 888315887 553651849 270884299 2499889 682577039 597624811 359029859 210002623 169454277 646061265 783754175 902041041 530009469 597390809 148548741 887934941 589127761 250244749 246296193 18107329 531574909 328716383 76484515 630192323 357868523 717944233 16467211 825211793 202740775 549671081 208926711 936557373 728850795 995199629 777829591 300688453 634130327 790157921 919643195 849926545 66410799 649924131 441674721 220751723 52345445 418431409 709005737 465608331 50774031 772763093 320490657 248374029 84840109 787572545 698601979 165920117 310042469 439752077 580775441 588997043 468858121 277234237 790840681 256600601 398354701 599133623 655896493 656930407 126629009 94522957 766578863 91784897 502537053 248592187 155792749 384384693 197629151 562315167 809984775 938394167 60380977 19563907 180165579 920616615 947790865 17958617 620073515 175466949 154696163 49056377 566817219 633656515 228343483 539050277 113285205 296893237 887012175 333962889 753175245 403992089 76682237 237527089 246907453 696917713 838212043 515471001 794010851 317073965 76834669 534580771 379552033 677634403 109882421 504921111 270092417 430004495 843498789 672252327 636997303 721103925 601958373 824286955 423799455 530719043 891734977 337622501 807523643 640397585 13534901 601078143 790908087 312498647 351451227 171847819 362470247 66164799 729242877 105012415 140915909 858022485 555905675 326506943 211380853 291855501 291605915 876836881 244627265 937490117 901875821 189320235 127705629 643209027 888474087 358972259 300329765 787487665 307191963 329002749 725210781 377602089 157048763 148185885 473667565 361746469 108613677 998571995 688204971 43883917 272851315 34615339 761057681 647278507 330744509 461653231 659391363 94395957 580311525 943448563 794085003 534117449 489538151 823117031 23811295 347715949 683001453 336108643 186712023 45508239 77999045 766284521 37340919 959494401 378845415 316254691 366676717 248067969 226706415 919860897 887669385 47681335 580026793 166153053 484413383 419101359 853345409 355712055 240773835 461341915 662988689 810014779 939305697 358903325 867951509 243143769 575509369 656827705 242942453 660493417 97293105 636114521 135605187 468084269 855078605 717022231 775217331 563084877 447066167 536470637 134721061 223866717 711820161 262294465 129733667 547682517 213314023 969078241 719207513 785165335 19091663 661018369 268209439 428979561 279257279 955065535 259516531 488619265 555832431 548263713 281663231 245144565 671912887 550825875 763666707 552926535 749935261 822520299 370251171 117307615 790161995 354008933 134880079 446505617 793821715 910027689 399391071 831706901 234065011 98914753 654958273 557785867 877692427 130584357 794967823 973179903 347979433 536759983 587054469 413170015 475181631 446164905 342283277 252087687 531207657 386756795 961978421 50999479 217593577 60455679 935967795 906882071 439542699 244949741 820041705 423538875 8801473 396433263 314596317 261046427 326371305 871874769 212165181 791148951 173058307 976799175 305157601 457325177 459033373 403435631 782139209 590799861 455969641 957328207 225691549 898976671 866009667 987402323 131866537 234499837 133932077 229046223 847726313 440278133 64975571 125353859 245845623 846461019 736850953 946510741 55574045 655947239 293991113 126417295 997205835 72764985 747007543 222491495 959604759 22601051 723795613 730228861 240159809 832882497 307333743 215451283 744274991 739044543 943280969 145800919 377742321 430345883 829872365 180366047 752846399 722923131 954216009 604659113 641578871 781885939 174579307 983596697 546950817 507518841 273343891 264331387 155084395 957624177 130815523 755667591 801437231 546098469 566295463 131174233 302496489 961576387 598961615 247352821 641340483 959129957 74564985 487566539 415778699 421937679 688996263 970679469 447100601 832873127 737221255 242760669 58664297 779092991 388119145 735438075 155750375 787986387 466008777 982518807 468521503 29800385 288943435 667245989 503654057 226141779 121448121 157025155 870364101 186999291 946686985 484148727 853437531 269763601 23391571 74635437 652180215 231743961 960296157 552858555 292939475 783919993 809103375 901720221 213193935 818792195 314030721 661283643 689762415 272199027 597075689 792656095 963513061 600065959 330866221 391198017 139557383 462852457 328663641 32308605 625778515 431413867 424078237 899401495 519271157 80565061 953527641 253921533 753209527 110871673 138533645 196077191 484961041 582743409 236337507 101375087 865057319 428470143 961163571 959428571 638158009 668456665 865789555 201319255 766173501 756332451 114983241 200176091 362362567 131940581 351168257 550273475 726740501 316537743 72205069 191571413 743355537 333976959 45490185 637102653 923527495 263526001 354874037 407186833 60195827 241761041 947393281 940781005 477593073 864364015 492901119 194376023 295500615 591443077 594933735 969323517 98159015 901597237 852879649 897312245 205756265 544834375 389440821 670127321 58328201 767014381 847822039 799536305 675454895 898807615 534287843 946263275 626850091 337023551 735269467 590882649 861077493 165892823 69209451 35956027 291205805 477204695 740558949 774255667 766140055 469768953 502936007 534981971 725570725 475659229 750626355 309773 472614509 574503183 20968307 944679743 667558701 128503295 923139963 986513965 971738321 92428549 927918951 701107079 713658083 24510051 186983033 592027231 337507227 596564803 360071965 140599095 519612635 20720309 812299239 686439151 877340969 581282483 691014801 200255447 813672629 190566685 893213951 215095971 625051731 464956607 122136123 994949489 43719303 759987783 176629625 216558279 845869171 727516497 845042965 330059921 360887019 915949917 772034963 215111461 940090723 345274069 433384091 122110529 324044029 799233545 438710275 406112263 301168511 511383091 765542085 995089929 945528407 584514163 957267973 948638775 544927645 175213269 969987597 898643955 403485969 873467207 299986259 236356351 531397913 322714277 930092399 53301899 511173575 651614639 454562855 95303209 250927567 942006287 321324643 473856729 330064785 167197523 620884793 53118975 412151829 15375353 957744355 483627113 646219787 57220193 825235399 641894219 582677193 731420113 152951147 873874243 592202575 984672125 541105031 422485847 569960259 588676991 284778739 645295091 911074293 61395415 605935285 871107563 587730779 706563437 779958517 271876993 571648791 484873493 296573963 349622613 925027183 879935623 804099437 358294391 491861587 102362467 226684609 175056477 697756759 29088309 941959891 938769377 439527359 193835371 269312661 933740107 595131757 789363295 121994785 108707657 972427765 48931413 919930813 642337517 112640651 576406899 140330707 245182135 927546897 169524685 188335861 754974345 414638605 13536859 393454305 967617461 663946157 963903485 494084471 838641645 938627785 795348093 323808453 195401807 897820897 357121933 688216829 157801567 331415579 18973639 296736635 494181133 88971335 271767979 220350401 223227309 790057437 259325601 196598907 943343867 616132349 569753595 218404987 965994525 633993835 347079157 32358847 327288225 728746137 68595885 693735529 767976571 690769565 112786733 788363203 459275531 589712181 793415783 694398785 4272145 597130187 481013813 750010751 978294721 408212333 365022293 774211391 911939755 73339347 40190835 414740589 288274125 942418011 508101665 848246557 312163471 380965645 447971797 179759751 249075131 940374423 242116595 490002963 917295241 989731411 499195075 835249225 362144405 838032701 670882935 245587423 201603555 813765885 717918761 820722861 509488609 716891109 180462807 240065207 423105127 260650217 83367533 960503593 259446447 270131883 663980733 403047767 192638047 460509297 7685757 152385467 294651525 262433577 881249873 587784441 611719317 286777451 843596225 500738267 1701229 509856119 341969471 701719895 117684819 28186163 408635427 558804869 957443571 583753775 141842351 720869033 166809953 355501475 601332749 902087985 545978655 720532591 556464207 31332781 953810445 819836695 254878315 899771865 91287675 188707787 950988357 659120537 430976287 302784357 594445989 31367161 765110803 358856291 488605243 453437993 818776543 221914091 857681571 417043079 541745777 667131085 832552799 263074199 561075227 410549375 256502997 903346435 933606045 565713443 238755159 409393309 338375195 798956927 686079519 408035681 425497121 915442691 915356751 459950195 3626663 654955459 426301421 354473503 419777801 939874945 297533679 491219671 391429389 286019237 823741995 414462005 935189981 923988541 601355363 298475007 870653715 657497087 547998529 806405407 175797161 335358027 678992469 219422887 677437189 987452459 568307737 7595221 41096693 293704779 984910063 810060809 580132783 748995075 729632799 910595025 284567757 418584659 276790489 497280479 638667351 257214177 798732089 438288141 207951033 938593533 752020287 123096161 121493193 572493983 525007317 10316293 950460613 420039527 835545547 206773325 24142161 785669017 777322715 695603377 531895417 808854309 478710949 140997337 335680181 66285221 113573301 812468621 690589151 397452887 340655227 711178689 362742337 992017185 446529613 737833359 139995011 304522131 556109937 691867455 576782783 865332451 442909455 68739639 410486383 240353779 58021431 816869899 455125881 959880265 672029923 893784953 239170603 665459475 821430771 704083299 622671929 336232491 838491443 449358803 575417537 717605133 836125265 692991741 912461641 317608419 170361321 674800701 231528125 549286009 943062139 734760213 912625779 985038665 198243183 808273969 971746599 598046835 422881817 300669541 720889343 804575419 722738353 739856299 114230667 875223187 224126807 79165991 807132347 903897873 510660375 386621731 940865009 61505269 496199903 610149909 434929135 371242407 613912203 178003861 369120995 957418035 54706137 69981287 64987493 857784915 33031031 920114809 543949677 824947045 413735411 635111897 601474917 36274033 825756357 516637641 456223001 532042279 901263699 830979495 379608765 580881883 469641185 316834303 458367471 535785617 118666403 818618247 812737203 413341421 157296819 405069335 206171769 616841535 324323087 483888051 564149013 583512701 699498405 75370889 546712003 985236809 226828865 585162985 955743785 618050793 799981985 144430159 926214485 221396043 223933539 390565983 28683965 316340489 416674833 542380261 326543675 884950111 28865565 580883923 885581847 946987573 327790305 294797379 297222653 451063837 121540253 253290363 581725187 66278475 997468281 486597091 971706023 744212129 651409287 395308051 884245197 331888547 423100867 597190593 382640833 573803395 454509323 399214803 635273531 173512471 312434217 326368853 485830741 762667743 506305999 87329657 519122073 589143041 487719317 770597019 678493169 665335119 270695679 243511355 125300401 905808955 244591219 744712713 738269337 730222571 866620997 923897815 611562445 292553761 478947243 287341725 975840219 233132621 59533257 601934211 965311671 602720393 461908647 542152401 248859583 196760209 481525815 613525243 935048889 363098831 883329361 632384411 613219537 407053137 795148473 461702775 216226717 321307855 405799957 180464249 116529177 774332327 719882999 281301685 909504429 591364831 671072217 351166821 834646819 294341419 958102301 230554347 874043827 9957853 655289867 8294613 351171575 540808183 198928341 341530837 739893495 216869153 702689939 789256647 492762401 315588775 857759305 585172141 602778951 883342979 635842011 269302709 772362153 440078933 434294817 736183085 36691179 969735777 912351439 592541333 191050523 337176729 440641417 936362895 558521005 515271059 633683159 76597989 874167679 318190991 815115049 197501325 764577749 967952243 625892827 112226207 260484447 770500047 654943791 134758751 79545393 804303835 106235467 544504377 939234247 695175285 138298433 33078209 652263943 841996581 347007243 771339953 745328703 645768987 617359241 723978733 630224933 755442221 986859399 835404671 325951187 821754329 31595189 684152733 165524945 100122697 672961963 996507039 772012555 190073163 114019051 332773131 279261399 244272981 886451679 672435849 645155059 981226633 962061271 98601199 578614147 810155949 351893261 724024887 659925779 424326447 450613155 84057733 301285019 390199335 588840095 579244837 801385591 711703383 414720759 706316169 763766635 687991329 501879937 825271883 692445607 33389977 970138879 596060207 793017277 879881587 13117721 344586531 983933869 473241871 777133411 319858999 362267613 966894199 897166677 733393321 209008149 151409493 440473681 427610073 104277649 96819205 789110429 873206869 918332137 533930117 324869743 14427085 262657829 435156859 577959645 750084129 193492145 575211833 964971241 475279185 881638755 908569265 152166011 83473543 251755639 632605833 681807719 648671515 246608789 387463171 527371877 558787459 417743303 132149775 37028885 206655591 48317061 474352199 16910339 479965583 591743145 247378407 298758557 650139885 359800187 988630233 72968511 47088545 531878313 929135275 328911657 606233835 325647429 849761171 145266819 293455159 539011535 24624499 342762081 542223641 153993515 846644433 663985851 775715913 43241639 497924059 388326257 411805871 760970487 897519977 180668239 25250131 401940537 531488763 300087043 598925161 805976305 606084793 193281065 894430541 458162447 594404975 333473855 959801729 678374119 708796055 314364851 78686129 915076661 791044177 330676433 386972591 287571743 59364705 694955735 288431737 984877365 959530809 349524195 679981873 863382119 4849647 182801153 16137761 702572053 445230915 37698847 307986877 804508677 670350747 758428695 569665953 40402277 905085191 104002733 54474129 353028039 526818879 125603463 622656117 552835627 618227105 808675641 957819235 904292339 325351477 316408121 385130645 13945841 178652841 942510827 823009391 860016471 328400471 931058585 714742395 13877953 23758907 339743345 505791085 210899257 27053055 389434253 59361569 897887529 150856945 688809713 775131547 768243557 615236871 395332483 456261635 11989037 630899171 111080471 632020143 484684837 952630219 804181091 834438425 495521115 388479149 685629963 306238181 746991171 844275489 1291159 477970143 501548733 67336551 220551545 861575671 3603723 179418727 209104139 254379597 513551067 655287981 653739915 725401631 694584387 436111731 136026917 387227869 163508927 349162393 51911147 860409367 629381175 581605539 275080403 158754953 175352821 17339331 443164353 336058647 540843953 982287567 200452477 199166925 211210885 938949957 394615993 936546525 490583547 895274833 189143821 118399393 885566715 962907325 591499003 735785375 978861789 507003393 538123757 158045057 553398367 670846271 29420853 300857369 165632677 485928765 407640841 530671459 544997949 698302571 442637709 729272709 805525019 284924893 517690825 130241991 218559645 342069847 433844911 779235227 953036937 601925949 309604375 5831585 261876235 362804637 327243203 527551641 842437047 670339379 988897373 507057775 485927823 251523417 200806517 917703989 244789235 11058203 903452549 597085225 547377331 281789221 777497327 38887083 302906373 267273935 167944443 661965641 21738371 958595865 901602779 120716469 112273205 784044203 87105191 298532043 110587015 123906513 65155169 62082445 294003025 37422469 983768307 933967911 390407371 304866407 302319149 615661037 229783199 212002235 187721417 695304023 119651289 147668595 942935401 75796237 39180779 498100773 333925267 936097495 89486263 26548751 710034621 897663145 489907841 537327643 483883325 384178591 996978933 75815385 75514709 970671355 808713255 790495099 413651503 671433003 491345047 771780837 544689371 590529725 831772457 271678621 462655315 537342833 823460907 35876051 487427447 663674153 953647699 318181467 838812691 126127855 189014971 888523705 293270487 297820665 757245163 866974223 935572571 144129183 729871311 257163825 121447201 856554341 581295293 534687123 778763921 743142903 324962161 64409943 155727103 753108009 847881235 681277763 465264035 285322997 513445933 88263365 431949213 729503615 548134327 260920821 208811769 189223955 340321805 999648915 105455013 345439521 637206259 160887045 862237821 919748167 660745623 926719837 917036097 685544265 894530449 871121999 934239899 122199825 573270491 52385851 401389339 958165681 627455451 405562921 532795961 767576677 509218909 801845449 628054107 250387601 155440283 842098033 24385221 177984705 53688109 224754465 173891245 902447781 679727385 749357951 204748327 541110045 542676687 159288795 201245497 375497511 992427811 917570603 154195659 869648115 956276305 915288081 402877867 140028625 309359873 735395795 348487575 40313917 635671869 957946209 138813485 253700317 94541179 498117455 244021241 868870007 246603163 586895839 387962217 256896259 584916447 397586425 343752153 393629083 903883253 978561067 37251719 609064321 118204405 82514859 188881313 585427999 307416919 532935003 224871731 461100813 890218501 182789311 608985147 537449729 451302731 296160009 395936663 931717347 854680285 28953617 226740497 299013819 578904023 754667859 40224349 914135741 631650755 333555447 799968271 457926211 851194251 102757069 419060909 342702291 118986371 716581709 975032221 323621655 768263531 606315159 122891315 606229475 919978857 620868975 89781413 422275889 70376199 523950663 771743511 234713891 207157563 54033971 674150033 511257863 561619043 480078839 76165125 523912271 596693317 103301367 560213837 963380631 762399245 586956355 586790951 427507105 172252497 174042515 986481985 925915225 229721359 806519365 823450407 113221587 770222505 832125025 540708181 154265929 522917617 150281109 126148909 853927455 939304727 766720569 411590905 590521055 640823229 149129295 706711781 803211837 964257511 378869369 569475601 200813077 428364799 358747403 805358457 471051881 171502303 416932601 214761225 215242855 289623743 155994341 358342291 536428893 881387337 779153939 934254797 962489293 624188297 985730933 118313051 664912979 780379891 608338595 973466309 942415553 575841893 814758617 895985021 750791429 737556773 751205887 486316251 555089469 886977503 762027941 789101857 147568557 962181033 406162947 686642041 829692349 443535103 889151737 578000629 926120195 677364937 878412555 349010315 443429689 895375185 605224553 962733855 790958659 408802637 873802221 432590969 446220589 184455901 759474197 805101641 632401193 944842883 98809863 233072685 786883729 295012911 191183507 381052321 928119785 577604659 384177967 686983441 376985311 70696525 112907005 923408077 654303555 806697637 94102979 468379151 192292883 573771463 458284271 111798777 855408751 833303207 756544667 784561811 703372451 571362211 19703939 9680845 55497509 873071487 391788305 376460931 596201871 621373291 263986257 997757813 812008865 145272571 716183807 256074829 837229131 637766443 535620981 950620315 292113565 146666849 702445247 674905817 113389269 263218795 352846729 42890601 877260627 599340413 821589291 719867795 603516325 622981943 936374949 52988039 882162557 543814299 149998493 411426913 354261431 28438039 808599395 58156833 207582037 461442689 474417647 211524017 908429441 442519575 770912993 262342881 695955859 161981819 622670973 117836907 58354179 444731583 135249587 850561009 980867443 237415507 353865757 246256633 501580977 204907545 631064313 914725625 264653487 156919891 287154733 144763975 278038409 738258097 794229321 526931237 61653377 798028101 908474499 187333563 57303555 376508815 72627645 352142365 85851811 40535411 303925629 237712195 377889817 765075519 501885681 620558349 211969357 233268647 999099891 950475847 720565831 96902347 775610879 481949087 49727803 545337643 298723133 520696497 499909509 61080505 638704511 876075005 512236201 857998793 419440953 473794283 747301199 373177881 941146765 736980687 511522381 781845451 546780735 34884065 692540317 729386351 231734977 665275457 839456097 743778299 500219689 871923963 123618025 621501385 687439415 980468477 664449443 809810851 75902291 942119971 571811373 471538097 809515401 787028013 407832395 492787339 699722387 777276355 518656741 5717039 469379023 600468857 610158353 893506305 507627845 223207109 689692937 28912333 137836709 628417293 320254001 428227019 623555651 394377365 965394707 789006231 770447395 364424081 867314789 873116727 902485737 715357979 297774079 408215831 930435813 971539507 178309607 45780491 88003341 141463233 795181381 57805397 475741699 656041113 890509679 868607381 310195469 588048497 177888993 374338267 517967129 17809645 250037307 553178011 790692801 628235671 330698057 255698101 340081729 366861277 5847553 135847787 152238209 153256473 807814011 40078443 114090003 834637967 426493181 339972299 849780011 575475301 224637681 731602183 263228331 9241773 475592681 672189447 52955671 981196643 53418403 982308887 358283425 21743717 748456447 954521065 425899551 493280893 210895883 677053343 633959185 201730141 840027383 239759805 682885789 861159839 36754211 915406381 37560723 394910657 247385359 222413129 691101547 704856367 207133799 396232907 620723013 331548731 203010301 189424345 887945957 478801435 281440719 839906561 712586171 259930611 131451389 712082743 369833953 122011083 719272917 338118873 187713811 472867733 427208649 762717101 402711995 67188777 980999029 168414943 83923943 18888779 371415195 101746181 428079695 790449057 34540583 738541083 202128721 983869885 767448875 92010633 399077363 705007897 607395301 760021017 165398247 391625239 225064631 782060033 583698309 889059839 878241067 646545633 704024777 95030787 294124277 814221755 538905693 118211643 359348977 558054655 891187085 329276587 771093537 822268799 683511891 21768249 158563505 20168571 898583119 109026231 883375861 76358039 411596229 130601695 315725927 307176927 923791527 578257747 308001961 521887435 334874507 38700955 455638667 313734711 689673393 454162471 956040955 308243049 448529151 403069525 535025175 44644621 79858437 951386977 626519073 232482359 13770747 140874103 189454471 28237161 256750783 973394087 995495639 547988611 418594009 367404011 969642451 11684565 629041017 447395877 85908055 490489363 922166901 301189915 909834357 624587101 764762443 229896323 376198747 50152501 890765861 776244979 188534631 868724105 54057169 179123949 151953693 386991279 807271877 978879451 65554981 532499045 102323491 833091853 53357397 982350797 641753521 265959613 582923433 86359417 836541405 347155725 912325185 796290651 849387199 660973827 888263529 970588369 458554135 731792277 524130199 799558047 646856269 49933465 421689187 397046005 629666671 673216465 249791891 256645477 150153779 510089191 842012689 436975855 835682809 14412651 850022127 698711543 308115657 700450263 468131689 320098379 429446227 551523467 435131107 466315295 880209645 334896595 40864745 832122643 939917975 606123485 307542829 935123239 162359799 942256581 838410889 83936717 952936285 687009419 928308739 661079257 395133377 487923735 489423045 45189513 357899201 818287677 826796577 780778879 680699557 646181813 318925973 464987085 290504029 682584865 67007681 441371107 924320127 957386759 580993651 797825187 562771529 509875163 8895901 50096463 906768293 814592759 857858907 144332949 601077537 283216795 885988589 956878221 527629555 837708527 292681411 53907633 276016381 102049799 552605551 959047911 144236997 993736411 446366379 160002171 841339769 338850123 270902361 49702437 831061745 330591779 865650567 677676545 26794669 256835601 287810919 306480789 884987861 810822833 97733717 475977677 710861109 322603905 907297491 471449087 533661255 414339823 219358349 496912615 817887275 195060041 719758167 192773291 136376485 297734599 813911595 6581977 67116839 923648909 370731 971161447 34224583 878925989 327295911 252994991 621258821 463243517 128017165 949222777 519722247 657925487 316502523 712396273 767676445 387279551 808875571 801322159 617115199 305583251 680415393 538676907 878677451 67393151 920681049 734309711 844440521 441244411 663588757 675210597 206448871 764861031 945874105 856353317 356854399 190096909 366501711 553515 328501645 304014623 698169613 792049789 169867195 51369397 954597067 226432901 242722903 141167059 686453645 455129117 955733847 306203743 596081537 80369279 614239325 128859693 595482871 26520913 885345199 132371699 878828395 388041377 952031035 826707029 586144897 906968291 677130649 388312795 141287171 581362677 995453705 426861815 601293287 309542941 854112883 885975043 430352197 42521351 257314403 804067133 917397859 772853449 41900051 495762129 357526441 651171553 569843299 145519825 889140653 820459825 792362199 829878835 531068459 926952203 826002593 74738139 592377859 481989151 781376919 286331793 140970305 503297423 587743543 218890503 373737499 15407837 660884395 344833237 858060267 588049657 745853123 840853887 719162929 357925685 494977265 820311659 23517085 703635537 611314777 438494955 347779839 443679089 485930433 952339257 545088085 487070499 216659353 798649719 800029631 326084699 400840437 387767981 783583883 722584439 372387481 552900045 164886571 294225211 238735335 616434863 544867129 609530839 509998579 645532949 394083451 266721247 782920819 120311209 801497563 157311823 715115203 673064699 745734509 763030159 388629231 99342471 693066345 193422697 764979363 339134889 214107703 330698259 403352631 759855279 692366175 636041261 810031019 989827017 857062037 827036089 569039271 763669007 240634291 911029797 274074743 910750339 705832639 641613127 866799381 322457359 384063715 554288733 169726497 824269699 632971635 668107019 69833951 521858201 600340713 713099869 842414145 510114035 950843879 178531787 302551517 416580121 522135101 191157809 108540145 179133307 603640793 306488019 195173735 725375861 692074457 540581473 187581133 553209927 743387007 698625007 260169051 608302875 519533879 359687161 53308143 467339521 712034709 542639461 25938961 406706163 390890579 764994689 624990449 534696403 291184981 775909377 318762083 179394919 443999653 567686147 795555561 758750565 730811511 500556557 94627755 210333027 333692455 241181963 441295735 610739427 498442553 972394067 353907651 534673485 379436885 229904035 448019377 864150517 244762705 925680671 617586951 163151123 570466087 61579347 343917875 736769737 53619963 277200695 815916109 201056029 275120151 171117605 181705749 996827653 784286961 826986215 740367089 369196117 502383393 923755173 158763251 197833939 809832555 153193719 145976527 623514919 29666749 593279707 716718821 593191137 478322727 805256629 990597181 908330107 95074789 405564499 887247751 720095829 659721051 496096233 125323801 556977081 651883029 642110229 603548913 560894939 751634885 410099421 130835387 561955535 218751813 38578093 314009537 686257819 671583643 800088667 407473915 632940071 606051055 846038819 97225995 204866113 394829719 429296811 900490295 194926247 102592783 454820611 61643887 406700791 853771511 343108763 680982087 960099261 907489309 677896533 935875073 779672423 609433971 952598387 361688197 728265553 569528595 142876323 21932129 736790713 405404483 530783483 469636299 144063437 576397677 175204345 608119461 452559513 545319203 519717761 737083251 765068827 860396323 968779999 104550503 595909937 739067981 303125963 214247769 359157159 377684143 86012769 85045189 953079595 113563771 471799591 86060499 373046871 30622989 656088583 325234515 430740399 459260391 584147291 161820861 705518745 466833845 783777245 74151985 858447977 368213321 830294707 244460147 110188373 568388257 160280171 275575283 887020929 679542749 585476091 928309707 425478133 768863821 593656253 863156921 321469861 598532447 593551481 517454371 948866149 391272367 319895643 767465241 802132473 840184325 888319993 398436691 229261069 701737031 292421967 481277999 112382509 957016201 364645061 959532467 632856791 446447625 705744421 697382291 252514409 872661033 31746983 653698081 231701293 212520819 949616359 36941665 189746005 318537371 848277481 57825269 761085433 322353533 545544733 126612529 879732251 883612701 353876821 95838985 12454821 213469603 387649233 612204319 710004329 25954149 23590965 721127351 5685021 927320541 126263951 558097859 783870565 894317487 581288275 462948059 898245065 382066341 496523103 476428345 893582011 944294069 892591097 432137163 678966675 774749943 700921805 120698139 838407829 355696815 364050417 231703139 477063911 449241163 260003553 473720193 21127067 66648155 119616387 986805503 27651755 893812891 555531815 333030151 226503161 771289839 154929533 583862389 711330381 19718241 671680423 942630855 64243801 463905319 117762855 945547299 993506741 226201241 418712043 981703769 661212643 571213885 285153865 68317663 701221197 361669819 164529663 237759447 916689475 726832107 608139057 183168519 639213055 620396739 202265453 836444637 380900771 832534121 39142053 716814195 99060535 682422057 78871099 474207877 744554155 272637301 481470963 808993661 576883933 708768999 614111993 407311463 131967625 148190533 928451297 214083583 984974681 496984953 298264237 372256927 788935907 596123797 589917117 443905363 628000667 63742677 890069729 952765127 290760163 296257695 656165197 296584787 761494791 607389051 600212895 57658615 683839543 942121243 334414045 624450649 19578251 7484511 582994805 649449417 854069509 94800455 39492665 808530751 306341773 673164543 621024615 561122393 936122359 102375129 743278503 907647329 186551803 91762003 336977667 17961537 364842299 869042703 361246195 471016341 463846461 101291477 575530067 52259227 456020343 298079135 181533799 892511033 340588607 676651393 828590047 924299519 107505623 33067459 710895309 119524899 175378535 730375119 532830385 224074119 304299011 471287097 376410991 116477105 58198947 873555131 965560917 741783247 741962281 193101113 593593111 930808763 110204251 342535869 207670483 891271921 720180973 473948539 252556047 597057689 674436473 148115151 760746679 198344325 694705535 287001147 211216161 81109801 898314345 68403819 32454921 799363751 592731013 38850611 28297623 856403907 142114065 862307213 134268757 849469167 835848493 825337501 430480697 610661697 703661791 801471661 490592675 767203705 142840603 925343537 500322133 632392445 363097019 459242695 391832703 412480223 767429759 316295213 827999667 741858515 895026191 666458449 619905265 730914873 353294079 324553287 173318811 372990745 900408007 670617161 857160323 163649315 968605383 884674235 750253787 336189611 40099657 524145193 12697921 371292085 236407423 343861571 349073851 988118245 100382595 420206057 936582067 256901259 25447253 203365401 86514435 89264029 790216669 290987267 110298341 881828029 508085999 401059831 690520321 292282673 264786241 74481521 134659681 574779879 364801911 481230869 696942203 537114233 321514267 608860591 486902317 660104227 261248411 973155887 718123709 105739981 634009425 669799605 998512855 672722953 140271233 158463105 862161299 40710667 42424913 195791869 847877481 141579957 907089365 518189503 17444675 277512843 870691587 241449347 71303019 374329279 908451263 802953513 241279129 864053543 205638353 254599615 864618217 564896579 485372139 451327095 887631583 366045497 632470439 366380971 527387243 759420889 854420611 515307489 551008223 127159451 875536363 359085763 190276347 699710621 337188913 424394787 921010659 970231719 377037963 192873215 89889317 144760105 732171805 556844665 707693493 470560569 481647343 224644825 444597747 907957141 374821619 318027927 210738335 741292711 435303683 693804877 528399595 715758717 826384349 326577341 469634155 222909903 256368941 675013075 702334493 774764793 869838979 937399203 673320291 934448903 977863771 80265829 728653069 353037477 267627793 574111873 623651409 932411181 210158067 685004159 855246795 722987931 316762161 264794899 479786111 746882967 299017189 387557913 768351963 547156595 710569229 482172819 217583543 2101795 537859733 229871021 361076043 553228873 558544205 319015611 896966209 661027113 403265775 9414711 834326693 500933301 274881821 879608773 516008683 15023491 507389023 520065583 267135217 269976019 525451047 465296489 691791611 22132875 219659981 105125007 354062009 327193659 109830803 370097381 927467071 16164891 185366691 642484435 336447241 663288073 757288205 783406575 324748031 200287373 801066699 637313267 287897963 347633111 719878847 590444739 882094595 747626685 345621681 687766377 843503077 744553149 607431761 863941403 1588375 509131265 577649211 521857841 80925447 463897687 255631599 836825903 136010375 577589 48953815 892086211 11288021 521703357 479364163 422673341 905302041 555380149 477426797 155056409 140432863 619848843 155737207 743179259 436181017 418751319 648897385 888073647 691561257 826449113 478666803 674832805 116398547 27485817 100159153 817945725 119777857 300784963 222668963 90433269 834084621 562452211 672714931 628565757 707842609 786480355 104780657 435830949 960832531 916875549 638693463 84841771 368959105 186223953 340797637 452753903 478581167 279496661 690325767 728008573 675748667 427127977 327746891 373015691 721418027 253109875 605364397 109034227 413658859 795340675 818141229 426866357 819235921 217933521 564933557 859644161 599277209 577216763 607424787 163738409 553951083 214915401 571316997 293878693 718827985 525199531 650040363 862316317 914047811 79866551 411065355 8413015 545889435 56246955 264550939 182267979 734570275 178489969 856374959 469790995 468340611 809409431 475801101 666654961 264235219 820349011 477280605 641061969 176755601 3973767 265480621 987574213 965095073 784957113 625946875 769413899 863638097 560769303 730523429 206636037 310222677 222153337 986338039 39604157 683285451 152314719 621218079 325782887 889985081 486474993 294316345 915295069 687601801 415886843 175347909 398815783 311854357 584669687 336324139 494394219 729803159 509365765 236280255 504471805 799044663 317940713 703746231 165335515 825481343 101106965 235148855 986099495 305011813 677213087 412882505 68846379 236673353 156576583 663185115 443432027 962626285 769184371 263166153 505055827 211070591 201160499 306354897 217493205 460534165 568999999 330807457 786588879 874872621 957240309 928072133 876111697 82401963 547120989 652678843 815194775 883582171 431187237 848115169 231083267 727412469 278554791 797458049 325758501 929807253 666816223 49826765 425469867 535539647 838532471 652455903 243949171 575210979 799872445 148357301 429268353 309790931 296773031 455068987 868496637 163124943 825912023 254297667 263791933 552102525 859584403 715547011 768441275 868901351 44874185 288043679 981460507 951548803 976378385 853919775 609453865 287793967 387723947 754601077 356466645 110001457 920148607 530047739 207324733 704808757 489933849 454607087 295825061 818467665 350057651 445689981 834348663 482465537 864801579 924906423 497594693 699554861 801086731 632817555 756130251 658809887 686771583 672968437 415406829 490828943 93387357 769606565 773251767 31597721 7187753 606142805 670474587 54760897 860234759 129511581 480218675 268446453 135227591 392202753 131123397 596660621 271038945 364078311 119440825 72377923 848365427 122748577 610872807 670174781 768023109 401309033 523631429 520781831 901429447 533738337 335819259 320967321 959653389 903373713 384120143 238097999 116535515 316862699 165488825 276884463 561732243 128301383 953735891 579611045 570627657 214447719 818563679 816282631 793461683 673821429 929999177 827431185 723253293 731625347 349748131 489519401 592718787 680403847 499862699 162976797 369542689 860207203 259958209 882081827 86201247 525451363 75719539 782795989 733112893 547698103 276105331 919713851 699773603 306407287 533622941 838577091 266303773 623095973 394427891 172490047 327132837 973013291 861065121 692052975 553270235 974404825 157714681 61350261 395067395 316639337 877827193 802547427 435182095 272529533 668757699 354401707 291279251 319306909 776692129 529998507 726994387 53316665 552274183 883967271 727582899 657600429 17103377 387227599 110755779 789285689 944095745 263325621 537052987 383143943 707187523 423191385 623119609 122553127 705337963 323239329 708667269 369980563 982235443 375890135 959624973 129728045 121455487 979164593 443677803 805179579 245700185 565529165 879268891 67441395 278758135 895711537 414183751 103550059 631062961 920811081 626776253 426574501 419582219 732252651 250034675 388993033 948640433 695877589 86004235 541303019 153256055 195543081 620782793 443479171 404269399 992029817 92607393 819368435 497990773 664823989 899649189 633722177 270476317 237169215 637475735 870170211 403115199 648411353 87408349 687296047 819394041 670459827 254041225 741345127 242292623 396513375 611717967 897907123 232502889 786321885 28205455 421160615 994302877 296817041 790026833 553777851 347229031 808120393 95141445 765823567 913564199 56661817 524624065 204467887 789783913 657616127 888229059 931054345 338039011 910065313 773590517 598015353 280737133 525456011 123994021 115976189 371844621 572544913 304725451 32378755 350282477 836257269 824110597 262378201 285495903 831299671 325999771 952175031 689881055 844693191 107754875 741036483 460591891 204486075 31602495 353587073 684527297 534041869 980239395 377001829 397935585 454372613 530065681 352444105 144802445 868949329 613570711 559691501 298687749 561063427 734916587 895862777 167337145 495984283 732599791 917110273 358491963 237162235 496322599 588076539 233576771 840956533 207404485 742004427 932233145 442098363 691333791 660817467 289576611 10588907 305905717 165481977 820296761 669200009 34093231 601498271 133628373 995809413 430733273 900325041 842678009 402746419 528827949 77032341 161194577 100110927 600648649 662582943 594195121 52904447 685841783 686926341 855091729 209862097 513478561 303667179 516142745 793781945 92823395 237524315 334621073 850754325 875995003 52872515 264654445 448584619 286257999 921831293 393227721 849814697 625574895 477416909 637103207 726067873 142043411 925963993 21361715 339836305 231644185 484609331 452899649 263992801 765899527 824681047 484383435 573717339 693939601 143182243 727106611 985436727 362994185 463896929 656064009 677900817 442079857 746575811 1772795 428524781 760088433 739946465 298120423 43489849 278725463 92618943 34824143 269771725 804976409 916801091 876107487 178368227 366498137 60380735 126268267 480792865 632310107 715735917 817239533 279060373 844143121 673770607 730779913 959521203 675021585 54519501 177040011 325459545 17878427 244267513 383363683 320948941 382968727 536832587 852713391 993309625 21051025 671777287 784219571 552963127 221618371 166185555 194771159 843781315 14573579 681005633 520160689 245156415 312533233 197021131 852844027 542407931 570864549 300416723 56402329 906388397 480045309 500868641 392126359 361864303 594639225 246335079 332003109 948549065 638442559 100801341 773343907 260110761 691933215 227388453 504173711 737119329 194746511 784758153 882877593 304243121 353457841 245463993 456495249 368021949 687419467 626950639 996289907 244415505 950683851 342541645 139569253 201343653 524985931 142022107 822815661 788442325 452485767 64860043 818646467 110557287 5392361 250642229 542858815 363721349 290122365 210032539 440474343 975606473 696461055 203670631 863871141 580559405 679062473 273524521 773569163 795810327 116015591 438364763 445514967 496853845 466043909 50417757 397698025 963537693 865223547 858440827 736323407 704166409 343106377 894463973 226015419 94809377 670478613 920641203 900598023 383695057 860087855 739302119 542785337 355256303 241221263 160322409 305898363 791133881 78212563 228423949 821381153 668740049 947314757 797801355 375154851 546110281 591846351 266632325 820113577 502505875 520550669 933569667 639337211 163213963 34307645 512182773 643231373 845132923 89948739 563161143 308277115 974897931 624865715 78752393 595846151 406438485 328171459 450888467 671734173 895667155 384771921 209209833 899714511 646377323 176075237 129199619 2904411 760506475 562803885 773889091 954023715 970802823 559266177 956727407 285147441 21713629 191092707 731194429 29132217 34106611 727064565 213459521 258863639 246640565 851320715 402537729 622156749 576445049 373098265 807602149 527699337 350252027 35114177 936544317 852875801 866535265 624070983 442671681 863748989 522636603 778928925 505467927 515693015 545968761 912909145 466561731 842922099 544019837 239901883 797307193 509031105 268725001 658213033 622021459 421885279 329035595 142662197 402029265 650426127 446101723 789780243 953781851 582423487 198760369 874504867 191987845 561117567 600436279 96354029 248070855 615116171 896997945 532834719 623666305 354442567 726438379 661310227 731309565 178097469 716764395 219564871 541075823 347888163 114956093 818927841 399830507 244879825 973731921 314869297 825267831 697028685 344744955 565219373 975532281 654543551 679736695 589569399 184629573 191588989 462895723 730323797 512861713 32709121 574781413 787012789 429534723 906817521 713577307 508675375 2387615 504021011 291422631 368030725 930058073 583944799 960505361 589799193 849977481 866381805 946428229 258053119 79681651 888165891 799154777 908949739 11007549 543648011 297584075 937678271 200366331 470725527 594154109 744936703 647103651 984364387 309180609 949335773 331976985 668293717 962775369 894793263 357917479 696718707 713287729 370447733 457152379 424898549 193367043 533013973 233786287 18983989 981320359 774605343 442814277 368132789 164482167 476330443 951724713 806943007 551200045 89924087 90275367 118081355 463895279 399911019 841260283 915516463 598972747 610283671 787611719 207253747 172606005 714252945 432658963 930236895 594303243 216140823 90869329 81607527 71500691 675766675 232408539 930273575 682209017 718071059 464972143 742054113 725493971 190810959 401187001 210817 550795293 386289315 397123403 124744217 201934399 281531419 970729883 476254951 76513283 349460067 309036557 838538315 91103905 627721429 272698345 882955733 115367603 509068909 469624415 221504819 102339905 881923283 781795725 426851139 644765881 793020761 490601839 605098759 297374189 847163379 936005873 664471211 749542173 691561027 564454115 28386947 800251117 504100493 263267071 73066505 100938603 143206083 15712487 854680799 926152971 649493883 796908835 76457427 855892395 91593461 516372005 976146905 273445263 30878231 185718597 257382665 222961255 433600881 251969989 654716327 135936583 931622459 112725967 606991135 981621931 503324499 545465203 84115717 806428537 546513985 164349355 756214291 374231551 159066165 381905753 553171757 362646515 378318083 869784645 198444127 797204591 657434671 695275551 271111129 900205307 400381405 940463491 783540473 366907011 333158365 526995187 369594691 19906653 817177765 722921939 608660831 680141127 41530455 718634873 595873827 44205669 432624057 914220573 594623371 486222403 705134905 645979617 585185207 370002905 818153455 893681613 531984371 11399555 524295835 947803345 565071285 997194757 156931749 936455369 613704597 68709775 362842393 965249397 161947737 541073587 161597875 838300031 862897129 79097713 710201805 738845559 159592541 907126831 966716785 692542679 320126187 850341557 63686735 151283455 951829753 614328127 246244541 299516475 948818707 728008037 757188283 235947193 600923627 957169455 736478959 64808341 615365467 74671625 61177769 107653583 117963113 134119881 235277281 584314193 704995135 18219435 727846453 732295659 144337967 718117719 557149677 266854485 683034295 657447895 281741817 223636789 65439095 231554721 774445037 994402319 230152253 688098965 11583757 490368601 262354171 270999797 336942397 458112615 757933259 97934449 154651661 477588607 87712499 709674011 407864243 557056457 72119773 235308147 57356305 517637461 914373661 206016605 688050603 586452763 277491051 514220583 753411253 190756609 794912175 839814789 597230593 286514123 887890929 972950421 184296465 534444077 506959205 825839067 885834763 75896769 863930983 440302407 772788929 925415943 626556793 543434797 525196711 275411303 588495943 574231113 526938591 421836853 561591973 902539713 934874925 170528679 996459405 503666725 860719875 14482147 786438689 965778277 803420023 275484653 804233903 900772577 209321031 370174137 31780267 457238111 886494175 528436769 345124525 576675085 141695561 887407331 464995705 907098749 517672511 379800237 959122683 113346479 738926623 479335691 166740551 368415237 47127281 431801467 776621463 855413841 695769443 214686043 949030735 704200133 14939855 47517429 867902713 110563069 599373361 823830651 176298571 986991363 603853619 429896711 369806365 105594945 861511459 488906135 881226611 370562443 406283767 303369241 514117753 214713633 972565329 919186521 262493571 773230503 71485301 847396371 132932109 386156843 621995607 964904169 216327095 155421729 655925385 754245989 919245133 152431209 317931085 682122741 249319877 882818117 249323145 611114995 310602551 995917667 334493647 496858273 440354279 282219481 471682899 209523755 521091395 254503715 993405941 164144797 193207003 459328809 796385087 98709235 465101675 590291765 547101787 65335823 940859353 175296255 4563237 929589177 296086059 910103457 623273243 36232611 660039833 18697891 228936803 55767143 633358459 833833203 395294925 949643395 834254679 778589155 348820689 34904931 441167831 249206835 253452429 208462423 760871629 901595911 94177993 733690265 971201591 549442285 752788981 998422347 644693045 100125913 920459557 97054837 244011029 110794537 531693341 539723785 606792521 584948899 137202495 940195295 472362603 251530611 801424543 21002171 545469505 686729261 97483505 277181505 880382645 18083539 250439575 495237641 692434905 712435653 276225175 507666055 214469355 351818451 728385439 922935583 297089355 619216947 566870279 798272023 476392839 339772799 79404239 210844069 776962129 205289151 556019615 282135263 400853381 965111135 879477187 490199239 864813861 134962487 926029877 375788871 576344157 78732159 901823379 675035183 845562497 220729825 464293159 964282937 376451595 46045033 560384987 975703047 283292061 50587529 827419979 188244257 57117957 77788451 755625141 661194999 245726775 960506747 856609279 959457767 694706249 900754235 796560569 465245229 293173893 162715517 591539995 51378931 668430673 658909883 500906243 15043917 937169731 847715291 957698809 788379443 664140821 16218411 666660651 480829575 430904745 620575585 629429875 726118929 171495695 565895831 5845837 720290945 616161653 844171093 309968611 858451827 185168185 125064071 688005123 123307111 42369757 163426691 595995171 66498503 766679567 743617797 400589413 864236003 409645727 84846133 542327437 444169203 131964809 947785373 235091981 709689629 810858993 230952501 620958973 398651751 227130401 675062873 995413273 569599681 578445455 884831949 268740297 52234247 140830931 470791871 268328989 983813625 287210161 541699527 993480141 235426879 919485719 165600479 880894521 964883053 618539285 719927661 827651685 9594107 631543527 762408509 208175875 197715529 863207665 469170825 431754601 920457635 626955967 929774313 40493205 240571959 150266881 84098659 317718065 849616929 690099095 45066599 697738123 218599265 782072447 518961353 967189147 113438943 813270761 581903045 93038335 467598703 27508005 296459267 208061695 734054089 82020529 322635405 42228361 627019405 106827565 63941337 533175351 301263173 227721063 236048583 802810437 419069795 454176847 747947161 654899101 625828417 185531397 816840701 965020365 816555807 177109193 120229131 178361099 616778277 241512455 456804155 665744697 752336231 288437585 217138807 828982491 73717723 458983781 388739595 491925283 71766119 236861219 598119849 127352807 462248143 414635161 466624115 151764135 319084743 969158137 874028525 41919371 417013993 903819423 606601475 42368607 531912627 244963853 428110089 220656029 434409617 683465965 7359679 158800739 532922069 364975639 574994251 946219131 918752439 146137475 302301495 698229071 892845655 282761555 981121913 276474619 322704575 119662293 909690991 338079805 683336417 638477179 273867999 727726203 993203861 140768737 961252597 648214213 779528095 502488777 650907975 680767185 584727205 582160929 193248211 741671425 989590073 982665207 517210363 775469659 848555479 953461643 612549777 772859279 141139677 127849535 223299781 555724785 381464981 225779357 113512249 374443907 492184625 961585497 40626671 35375341 584480713 420759119 3120215 303521405 902857057 422397827 116301379 932334889 428404959 824593949 586999539 95397779 331782165 783491955 404985355 498844415 917905343 70868991 740628633 529493599 542572153 356709477 339510801 488078153 349194193 914882159 43469137 612308733 55493431 689780753 179894687 616203107 139842309 774607465 708874663 824373255 219872633 863064757 129454719 46815523 657145791 449992035 941724323 540440725 301584103 524733191 857670395 364776165 933281003 152641885 916588497 655160387 811884973 931753029 130406875 388273029 119682037 442945227 117714745 590719273 433220213 449915941 467317357 80925273 687605445 936090283 55897445 376140771 712262247 149395683 526505081 487092031 833201605 427366005 920637281 600816523 467165999 73836855 693593159 647224975 90157537 854111269 582443703 890668985 846796535 344887903 779604133 400477987 395222655 978446387 665830767 941843081 284145769 180625425 381887193 457779283 651508109 309157273 689292819 438511763 488327341 984108171 802920625 828197885 390173043 827178961 746127279 751113971 483971439 927844995 893744243 42061945 876649243 75761879 779279819 504501057 984537817 442937653 513230059 329326755 664819695 555270435 833700979 473005979 240036243 803348569 651146085 47794129 351818715 517279665 352677935 189272213 552632521 557842477 106291623 771502047 252982599 347615225 787687945 438896973 621366821 188071783 530550269 117679911 783995165 427608565 691016591 152666461 331578319 686876995 285696817 168103557 541242567 802679839 260313797 600666333 322332275 781185403 224528525 221582671 692339759 179631475 861593145 218050665 211665723 799978057 496356315 175194979 305979329 824898921 163673331 724155163 781583825 459466343 554703717 671325977 967068259 817089533 761267839 502337675 543819357 100768525 751672309 680268105 120058243 978671525 713275623 229718741 46063499 69205497 650745045 553009489 539774731 558966625 605707441 801645713 712707203 398366561 226115023 117562633 657073505 61174437 736281325 630431451 525925107 444464129 942969133 731370187 735827827 560616815 806838047 79655243 775493377 47742739 750896057 126823793 962974375 629419575 478177621 832517117 296579417 342804047 388888251 480415829 933501675 699663863 63074329 316158859 157196579 983870963 602953729 948560721 991362217 724689451 144462963 473623309 345878539 572989621 453999571 150746817 827738823 771399371 634138605 477271581 346652731 81293265 890285817 730350971 801546419 1684051 871479443 316127961 914057309 107678977 916456129 585779933 60899923 294636985 10650863 592775125 60035993 695731327 68800753 723990205 428211221 336456315 50190345 446319153 727599515 37386501 166894551 499881849 886286563 662025875 343716715 669461379 667080845 990617035 847646265 230305767 978787875 423855737 530459937 927509479 881769751 639863949 540901733 796787557 770509763 964085031 58754483 752011765 444951653 515847045 391749921 655086539 974296617 831784983 929119275 252111047 333534241 861724525 316582329 323258739 976529987 422806341 867105815 590566907 559992947 390699903 715779575 634489143 849491323 407715625 786282875 387112359 438149641 734729077 777016615 188762225 917373367 281183421 633511141 257000037 664119305 809154439 466931983 812055291 529542501 46500733 337945439 342243153 797541917 334744689 913718267 798249775 700865389 94088545 10144881 309403141 105494131 660090221 525227189 910263785 166373689 768270051 743952421 90532505 294296497 794982453 768616071 383442559 703237811 361483519 448934663 248177577 850251521 212579587 385508155 167495885 403427397 438145325 15716383 571012685 944794641 741403279 47372057 473162543 154771163 22483815 439058169 937315361 777498375 878672407 816451311 582029437 260476893 387747369 436345757 332490047 399240847 114140497 406487557 422327823 684133173 329682539 220014743 87088703 328283089 17522297 759198757 756429763 815340365 533030823 900790511 840358461 79192697 47101513 977368985 666636273 585191697 205626329 914806831 916176081 225696433 786528763 326495529 921996147 844291047 263130489 791464035 998113303 195727139 550564167 470790691 517393827 1234365 647813505 36267541 730240679 269303031 470112363 957982797 990858843 275320059 496810349 90556493 176490397 411485145 225189405 817803765 705244661 443923595 598655797 70947989 240991891 501078515 870568857 438536673 190933835 42411993 932390739 788590329 878183329 434567151 242082969 925862239 428782009 86827725 852262595 762399745 45720419 107377909 211820373 532268085 189807893 465237457 450751741 640246457 823707377 26997937 473890443 275668655 164111293 25798607 405637115 446141609 861492199 628794187 36842865 198157721 245923463 846976561 251772985 446628827 859974237 953192815 241754563 15301689 182376657 354327265 39852717 424796893 72571631 597524039 199774651 403276379 813429873 454728779 593078999 833304755 60704439 154973565 214193171 586539081 511565253 653737303 260400811 839893739 104806221 975267641 942430213 425136845 612400549 367353199 178755239 567184781 580260557 556287017 629616457 807173425 743080299 177852029 290311619 728791845 49975759 433488241 738544667 24891199 74388721 285904621 646913403 457431229 366693231 833800385 424267573 904626497 472386193 586292135 385407943 528832477 254795591 558960703 259812817 57558017 542022949 24367637 903046945 504757903 21085039 276704407 350290345 107097801 173469705 879603233 647661189 387913565 878473857 30334705 459472119 543029603 551016723 219408949 969564523 317196629 275985819 543103227 161013875 6142489 721548959 651930427 692137421 992465403 216978003 568118491 911122265 995127219 183243145 121455263 179431973 510920029 408025283 976816955 215392611 494859135 677972775 638026313 502634351 970767877 725257095 836714313 432020171 519073093 27655511 127208611 919130915 470034683 182251447 188659883 531727947 759804749 317996657 826965145 311739709 384639945 956267249 111723917 978799901 491484773 760918351 649022353 645548597 390916731 757759817 257496215 278620921 566221779 48960329 869303161 867525381 457469849 926467423 386811639 556182555 486367077 939107389 50188985 147560233 916601391 357019207 501282897 195449149 500588897 847614595 130160187 724662935 645265349 432144289 707117269 601193881 589581459 257251575 594388841 857371599 201558119 977292163 650631465 909580009 801719367 525028591 381660719 295201733 320620701 245687433 651778169 749148005 26477635 292316743 740686581 244760567 540293491 751809483 605645423 816106443 291126483 546354009 461870757 30984285 448115825 168064741 581721397 613859153 433537729 579351297 376135337 397884273 886732193 588373487 167135603 60414387 515897175 3882133 178979051 105752623 249558927 831705989 291749461 340721963 374779999 116846579 369827799 651721231 24791365 355286719 628270979 64309875 504564771 206097267 734870099 700096781 332753483 54962489 19956009 774766787 512100205 891597293 995264973 199996321 22610091 391673101 860364785 986808279 437778311 811125439 935674415 625188037 781220593 849684179 696628997 110247915 987233851 131375553 459038687 915646963 524217381 218674599 572758029 588128693 424614867 64572749 356764107 511428391 665269203 940858145 713164597 735216239 692990233 652420157 19433817 35155161 207900163 797086045 164129063 236220375 750484309 343412203 27490935 981820933 524834111 808935157 651183373 19791907 133921365 210124849 668724111 341869089 712346259 861110529 483678351 966681105 480723553 142373739 971840903 163423531 835595657 594030877 519606745 805890263 674581057 857176175 22435789 719659421 106414121 798552929 794762131 288430641 959137091 747745947 778312775 724905583 182644989 482413161 81477867 973553241 298003757 231349701 740940643 570441499 809489169 763253069 28340615 660711431 827920461 323905611 129379851 935864219 331839981 133845929 194324369 617117817 981969769 915258627 400614309 840378987 815345565 606866327 391630775 84620645 573753805 364559179 881707551 360697475 555577513 956095407 622330143 819521799 329067845 983957755 935249887 786973021 685043741 56172301 829394805 936053785 449435159 332541037 738065365 757118709 447078273 543809865 855673057 94924245 937173775 282837115 440558437 810438083 12390111 751020159 407154191 656757235 615285111 197018751 326276731 512824513 491656899 868158281 435161129 559005361 609761049 944585299 933114755 619797867 162776119 933616831 330131673 543961797 99295297 482842193 814749029 356981177 682413251 570590331 667873863 440981355 205086133 618366805 396724107 307499557 330936433 353403035 708149535 686798941 268383937 752119989 598165983 146810283 963973581 317653939 541352587 248870869 3393325 366210125 823636171 578878915 992590815 99544803 714009139 394175115 964752199 16692345 217261371 543915623 903885363 9000385 558829123 249362877 315330007 238471185 409387159 797640211 716294353 219984487 94949733 737177377 767383079 872743021 434346185 880188351 938652229 254316913 943484099 480431859 866578433 402915691 346599483 125934821 507751319 491040249 662385157 306664429 656193453 862430563 363935193 97573249 627151443 349733783 899661655 217134407 246490617 860373295 679906057 44163083 204926081 427044967 163071331 259232959 660974125 898434089 778089913 417020797 81027243 407441667 509461329 901750411 898307089 330171435 650140241 442955603 875935197 336866947 842890445 133039975 53337587 863416719 857963453 407900037 292774815 905568385 652796929 378600589 218217113 87904559 531154787 892682381 167082493 749124889 244448149 513046967 615957329 25018983 221603121 870062951 336175999 364152549 619535541 947809055 572929505 580105997 523514767 559569291 915235633 620062461 936521483 770393469 162591893 206666621 84292967 235986675 870591131 659171581 474505409 158795791 637318199 258490003 722603555 427109915 697057225 446712063 86217343 476461195 882877971 168910759 428806573 993437179 323557699 331349915 533687153 471266605 29279727 239298193 63500401 594000397 716118035 746627563 446587713 29647535 993373207 990954415 334425943 991312461 906927557 156982157 759318039 255792713 817561429 773388761 659607497 286547761 235762275 235923605 463228063 16194489 959958259 973010025 280606641 204073401 897345653 680397731 999481347 432578869 423205051 455839033 278067579 799983449 418257669 945742797 36453867 662335353 727002359 666610851 995373583 946962447 989150623 649589421 955927173 585739199 905567857 256215937 988659927 132811347 511752779 253049951 245804661 964681153 797524083 734277423 747793341 406442785 911967637 601503101 274776299 612094903 555480775 87753091 272186667 247912945 51529349 301208863 857893773 27992671 511684533 122144985 321631757 864559293 738658471 374592225 438645383 563181807 833820171 476130317 167657417 692824065 613031939 326735579 74632835 82079523 704183569 867901045 715736653 872405683 272956707 507698601 780767913 408631605 997155983 318281199 332093441 610547283 573167379 692508773 908146343 929017823 131847379 794430163 986885585 317934293 149786461 856646311 444254369 606798425 653610147 742577659 460055331 970955959 728005639 210995851 956079943 154198625 838689613 864107711 605112805 328042225 460244897 608768681 403095999 553695277 405931671 325390077 441595519 465106687 628302127 12142621 909927349 401580665 312602831 545330445 235037147 250894553 603000385 431682687 295402323 62108799 227724475 781163979 175520611 869302521 938002139 948663275 377272641 752662009 728028583 815595149 550313731 590366297 241251213 266142971 612193963 17622815 920866655 577367855 165380387 389626485 915844955 700524231 657322299 478180015 339996201 674245131 959467181 118899525 399621587 245343467 804757785 492961247 874928849 396871677 924409611 558804293 296876799 603960703 184953073 953782379 437821089 449658459 538692647 665319275 112834919 325463327 158510061 644237453 150030691 780731651 964364397 183714615 463644181 650892005 615625655 948426493 285014881 730583117 977579717 938234013 648490645 37522537 349551223 598217977 313938277 440311057 298612377 512603675 815451375 603972037 25030873 8347191 282330297 930120365 456418771 167225513 684771247 253331351 320273927 649049843 124131623 947752185 791565021 945591233 660507101 576386805 777602473 322557415 954337017 368413775 309246627 217689439 480118021 392085881 834650091 10948685 244636407 441697673 464680587 173638139 579395375 364536127 283816823 372029919 623073903 6949377 572398211 412886161 502531303 18871519 28984181 642003669 374546729 494104465 925969141 602608281 320473397 83668855 573976977 852541931 962822509 119777429 739675335 414789645 383464355 749483163 240430581 485363293 323059209 315006947 566273895 170878823 884295741 80946795 170849099 132928993 618883653 497615575 171050683 553598883 119221131 40333691 607693499 346484401 797458921 543501133 948344627 838545977 77588121 368720619 239175665 483545483 424826689 527734173 349137843 451381539 748816113 667631185 762709271 906000805 564870425 535458975 286274471 315648733 184832153 861553607 624862933 652114621 676829367 268890033 646365947 487257183 579711519 225437163 166743639 1116937 171192297 138934955 955047959 23921955 19021453 53354961 110793031 767468357 509059317 641276391 405450725 209024805 96111979 625417497 450105807 845563561 257967783 720156223 879219151 147473629 347338437 429858265 699115671 294553843 198378569 227682061 345563071 651720007 540778787 30677675 491793611 979358297 700661157 687130155 804083233 274067929 921060751 759275691 546105363 903901081 116960517 726261747 93774301 742083729 966393749 271533427 6211741 774176233 986019123 466918209 865081437 781544425 149748543 279203611 68454159 424608517 34220409 41629035 562843531 547933911 458760979 251274303 58728083 751991077 85476257 817846349 750138321 998612185 930432033 624011255 472820951 710902535 228451829 62824515 831208475 605298153 571361261 18869727 746640385 725673953 81914175 606194211 48765905 363302525 485956231 163987473 411627197 850411887 808309449 348966731 533680861 460112787 835340915 947921701 532708403 725749229 692605021 558082451 346855849 7757989 239596223 356455989 174813713 69995535 430569027 874454357 312028449 97001385 604370165 193933535 149911163 117884181 42052425 917268331 645931179 356981021 614476573 423057721 401608225 29361847 881283765 943411503 895878709 882105851 947822529 608525789 702627881 456208685 304790613 143178875 537123879 425404345 841260525 552733671 180636225 355212083 892311665 335402921 464667501 975668309 399468331 720734961 195326093 678349827 197053393 271718291 793002861 499746375 931651969 422724371 296128445 840335191 249380289 689682325 308171797 215601803 464928127 925212903 590298359 226090857 415841805 111455621 312212941 404672665 10867753 559819147 42340839 916365553 246101755 340981695 449638271 503063147 513435407 729358485 873802933 115755307 659626839 242053919 840815253 419851901 412233269 81112095 27415567 120567763 522915949 430872317 38700795 97080775 396107817 455621829 405993755 178587423 906749443 742638385 440203031 738528707 962578933 393386913 222754691 861809097 679237733 964197913 802409943 162912877 643459873 421844043 95485301 425589007 573167197 209911949 346992291 492250685 882142135 487141599 104263575 157696167 837253429 62751719 621889895 7414829 268032579 609908213 185193747 25556687 859495607 413706241 990440585 16388023 191944653 640596649 834249623 958685757 385086765 417084725 912810231 420519127 41359841 659670165 521150281 28874285 507965793 796950621 117417497 725221895 557580935 368529873 850627285 657791577 570960029 290509011 671092697 594919997 402628683 572358903 115028837 810834169 466378921 459433587 657925281 476984567 869790773 979039525 786339489 85187275 629550547 924315027 967832413 84705837 948892113 868798959 848870581 891937541 13191395 96561425 169376115 374624347 159901479 210327925 329667659 954752867 157357347 646701635 2774737 519052921 275565249 37111885 353018507 998368287 122221659 464973063 86809567 161963521 677182891 8108433 103221537 654461427 987124441 908702645 331621257 345829101 811902831 67350751 676435511 601874455 803107171 829378341 425337141 874824633 843692053 960029771 109016181 850923591 312161607 553508533 539537617 452888413 603256359 901699701 121194761 914956479 124587083 678055485 819984069 189978453 887775409 217173617 663433625 14418485 788189885 912130583 988723707 6057369 179041595 602830303 347821647 987648997 485907811 568077085 31933917 799751331 811202513 250664149 247197657 284752263 174645641 62282923 454502487 453485933 861016827 991606253 885816669 800104281 975094521 911708311 408331217 480905075 384770499 349647941 86241925 900877329 587395071 972605 271762741 792766637 682703287 48134001 964469631 26853611 880716641 121842553 66683885 543425943 621257947 272834961 858824433 732105121 836890731 106837153 523563491 198463273 679826365 363945787 320713735 756468333 588230887 635881107 979484035 109504221 561272677 529943433 160648809 917825033 608822047 919343013 836495797 792790701 976906079 507622423 373347397 642777517 58846685 11565237 126329315 813712149 12791733 217733375 319164993 4706583 251739755 641897755 641560055 104191245 436787949 411959001 918154119 10598013 785472659 150411441 690867803 128164369 417700887 606448321 623326661 472930971 525904029 150730193 360249851 298511383 181638327 115112527 447587105 325505707 999447895 294500181 292992063 880805791 525295835 570406815 362920517 59392101 586079753 566778007 904282897 952231837 778421517 679060811 391492191 105625095 114232957 936972657 296333531 592726927 372652117 599058027 856985877 844728391 244355323 245090367 44536967 133654893 809573437 898871451 103787155 487908449 710334033 318748631 402827137 230652337 960490193 591934963 635594113 739309071 46567365 824669077 652203441 438686551 563060891 153481487 855770381 158105483 508914981 861278549 508821377 755242967 749290659 173819655 76248797 549282191 924335287 148953967 665427931 985649963 728048755 670360439 913148699 424503123 683559753 908893371 102555689 64721359 184767511 564497017 291823733 690736275 461869601 84065943 983633495 940452539 125599767 891282085 121912849 243515785 311703819 624447195 928857805 496851307 8327549 488477975 480384923 478785775 333111891 180580833 65004661 904380885 729054679 798850407 941033787 569802239 636308159 639886979 138319545 273111159 758681385 100591025 440072093 374532211 410000795 559660571 750252931 643342411 197025793 341121679 45146091 101437059 714586801 488862851 884449087 413855943 692676969 987694361 145723855 205851371 965754443 113920021 812756693 424550377 18770665 179731689 133930865 76348645 987556147 461991339 391125935 914122283 760479371 279647259 788274045 224313899 641782451 14342305 860274103 798858885 79675611 858818889 379888413 12457207 117908117 505368781 140545369 809525361 810178785 517952909 748124153 733129731 289343267 910631053 187552123 721531881 858969641 169685119 641380927 812741255 337752359 345567415 444987275 337105257 616548539 978335801 339810963 988404799 915606507 378246313 879854449 523589609 418800419 252039511 79081509 473228645 184299319 89386043 732021655 699716835 448642665 844381427 738922139 877166259 92620633 305374663 365703913 426446419 446418455 694809765 684423713 833216355 326309145 286841383 315967181 452038831 972262969 115633801 787873633 935328045 81357759 902271669 799665969 85220599 576116569 861929783 769140611 351768655 866734361 10997579 348316797 244867231 179658879 505335243 834191923 399734655 39962477 788231235 107354525 873280421 883007285 625985503 132708251 373548025 209809289 120513143 907615735 693596803 516404103 533016459 121945699 976721271 65807539 437592387 998171513 570263599 150973949 600097131 47160759 993670705 91558585 309717117 689184395 955687463 823385507 666981015 110241089 310352613 102369761 828127873 401922071 159221861 177779713 856874667 117754667 461334729 432062199 468282923 888871303 809245535 688089377 440481729 374992413 65636761 387689797 56480467 742734023 122755091 836274577 871462513 487674691 697979279 527108759 332774993 870420029 104952313 20178005 230052309 605575239 146471269 561556787 576858883 134283991 974800141 753657083 607869321 50256209 932100693 139933157 257998785 451994621 723894727 323448715 626353575 184754957 905490967 411567607 703605733 496680859 650260257 516637841 778172617 550881957 682695911 567466291 62965065 385497111 603582615 947174679 944755719 576061891 538087809 128518627 771938375 621769311 866066977 212359845 138329339 488525455 771109657 483152081 684233657 819569115 537990201 821707589 232918977 733746101 9714543 911998277 229049593 800352373 973081049 376490881 704689395 587281501 760724155 670810893 794179555 324512407 902953597 321079911 316569001 384330803 97183157 360697457 632540365 669319469 470901789 359651195 245461887 628239201 526593945 364238907 919352469 143140253 431328565 991933643 498038925 851390097 842742819 799842739 474658449 727909333 81030845 87724769 791062383 646484717 704277895 91889319 250147999 296657983 509113391 992120005 170376511 945970205 552068229 898041695 468890391 436980161 502794631 289945601 348348309 164859469 793160789 872992419 250058449 937913287 82378555 940721825 418080909 993182245 996270255 264314817 581555499 946125373 339882059 905734445 147116735 860900049 393269199 710887551 382601725 536462219 786562603 958876849 167290183 930463739 307209327 541522217 59686305 763535003 317651161 73789621 739789757 226582477 226119113 628475531 741145841 53695193 13174477 745097029 450366013 911675119 323328407 691210219 434107209 104029739 912059651 561488617 318813025 747726477 628945939 658332949 385458815 257415423 23243505 121024685 99424833 827447377 445906933 988747859 813147887 737523773 968103575 599336473 174677625 701052003 561480825 475601009 1144693 669400911 295186025 394426167 477712929 947174767 232032089 843232437 107253095 631377439 371028837 343744659 937488853 340466335 298229967 560057067 845814435 8608025 871568643 793720119 735444143 545661341 463965077 892280669 542452607 147405605 118003519 691867819 516841543 497920657 223234787 163992277 36218585 11823533 206635663 741718777 458432695 728853031 900997751 338917533 372849673 955335323 921031153 41094829 590258845 408691081 485066375 764082813 557168361 546875481 715908831 643220687 25845005 158632543 448339407 76732099 126341587 962198995 108783441 445786859 246079399 964166869 303296903 56619575 706047393 193134193 138438593 253619465 913642625 983075733 233552237 434057763 804099501 223637021 852691241 307717043 618112053 713958343 369301433 717254735 651101649 495935297 793934597 727944693 158498783 276442905 362464547 235214601 766923369 245937351 503048013 101006169 162244889 357538735 157620967 977366809 136646219 478648347 879731323 614907879 215397371 947079225 61988031 677482951 514216659 817742629 553644939 481904169 445466401 148237277 86747365 308730593 10714589 676799055 320970229 866130731 434323365 941154887 595803665 397722285 398995391 584082051 710743989 148644469 296317727 581558177 356022657 469551097 128933719 532265771 356880193 816253971 343362985 557237907 712794859 816001035 378347517 216698931 301908887 693267085 449681377 217009225 843193483 497896111 851532683 146848771 384151601 715174127 651549403 926277229 416994587 325083695 156955739 899449221 944942343 65821889 552113719 740305193 18855381 715792215 448034119 457053219 445679763 250123789 954802185 151063845 488425585 358913901 535127465 61069767 468428239 750904671 859458801 770640269 61906733 89897533 64416603 670954205 386467383 30832577 472798213 952764939 756608191 500999697 985082039 79580237 974537667 930838203 47621345 220222663 707820131 194547123 484017303 839726977 902280941 547250263 170487197 735927405 876689363 181346413 127120983 55960163 579806385 180078881 474612437 586897959 535919433 521449993 687126989 329395551 49370759 256931361 259464609 880918429 145675133 994188497 134569303 360627547 451819113 279710435 257155485 178623227 820768173 109460879 271840715 120847813 495076563 683702127 564231907 52920555 260588431 802213771 900907143 46997125 149951165 592752721 295108619 422011029 17495903 734898835 319536995 471348741 458805665 181696657 766632495 632922535 902484439 180176111 614140601 677214513 155688315 977422779 152623853 153938503 752758319 467129705 908955491 258476913 325493955 446453205 748734553 22434079 585091109 273211721 471176891 569640621 744929907 761654639 399616787 733891421 722358767 737731677 380063899 250505555 216674311 790927 40722481 447123111 220853323 614604523 864828765 323831885 48982903 459541439 186012493 172512039 702163055 486250945 877747163 290290433 109623613 520250379 417562245 410005899 770494997 870749221 457413487 108046173 522041941 681054459 645965421 380368121 284031867 274794979 514856437 318236617 577241653 372548507 821833765 301009693 234296153 361794375 324178883 865393455 510531293 181348723 949171523 81337887 231515367 534680855 364613047 207230713 339343553 365373583 486551521 223696557 658485217 93392543 229470505 683539731 315761887 352504695 469239451 566580205 851901057 127483817 934679537 533055459 757383857 449997621 871658123 222731657 765644161 132626049 968475245 810682967 473816621 627136341 57771849 974540719 582209049 430130669 409446261 152869847 364765137 361743329 68628209 925570309 925053959 691560761 844182115 664250959 708619925 653696865 339989531 411543223 536075649 706392623 940706065 198527013 434856437 906857183 696396259 835823213 412302659 610977049 446677465 509972039 628018153 562632679 651422689 975343699 246508679 246444223 893326229 180456477 242933483 117834369 166865971 121644307 285993735 520364655 290497439 622060945 115019767 915982137 777462637 473426391 691343613 79370225 393956307 784782093 687641219 280208151 416404653 521863751 44586273 990505359 44763271 900769661 647053455 444085671 446334349 941833871 262048943 2383891 154069657 440228937 413220495 174591729 655331367 623626585 809606497 553001157 497506143 122921817 71152001 291896703 352556819 798486989 876652401 696725363 270328503 160400669 453050589 635513949 615641451 72769431 860850073 191745635 157427449 813380217 112221855 838508819 914861259 609906401 104419089 899949155 638283517 205822169 834348351 515301805 384333133 717636693 954378135 777894073 167382049 954705961 781329847 833126069 303036809 346931483 16434529 398193459 980295229 577261265 224827777 578792241 333055643 575055583 316978475 950550551 734792619 18264507 88047257 792712881 690990621 269791177 609873455 324699187 758275397 534911059 269030775 888681785 680673831 518517383 380356647 291654349 214562407 65494143 807692055 58987865 318342995 209668671 561045835 545194929 613284583 905436845 874114801 53302805 873756351 442067611 860941913 783902505 341030177 91406277 596579583 307778811 327769599 717964745 478938759 600816127 676661233 882539313 392645051 477531669 104323891 364197487 44953489 503506815 849088685 174025947 663853089 491775979 91542257 705445817 976816049 912084847 558988083 210991407 248023977 101322119 626558035 226828111 252150175 946687515 424214489 30519573 375232079 262760053 912789237 414270303 270539929 731992653 340132221 961832951 738335883 473995453 647061745 353772687 247530581 281590093 585519479 386526143 87628119 297545963 166514399 36905993 98406671 957341929 799943585 66191063 65921069 519238663 407844827 716645243 214668673 561425769 533724757 732325419 417360137 882242973 326055293 431704331 603995877 689190295 215860845 78931235 452861539 768414133 339404769 830472037 823730421 545473213 895117635 135880105 154089781 731968219 18347425 827915697 367577065 3141283 973034673 557567015 441794299 520798743 139297749 623330203 699332223 1061271 167983379 816979847 861766061 759465203 165234201 266735949 943150061 328383585 313217343 683050805 724065735 171761019 349833349 958902641 229226991 102693449 696243857 700818713 415738431 58624055 962014133 502111535 35799229 6987037 683161829 290615197 171289235 173168691 100493505 920939571 996115733 961452835 985832593 665159083 724310205 593236215 684724037 168145575 707988015 749733671 632739955 491421357 146859317 876423823 511268699 160701747 455657923 901735541 96922083 234584719 129150709 76199299 322258331 645496579 713673229 632831187 773849787 944379321 310430071 776644831 347196705 301896641 384337863 882440333 651260245 25229077 537018551 222218795 349111685 945218965 850547243 185206381 397846667 538906125 669211437 179083635 339843811 508899629 683221745 668499391 873182647 382646411 503603667 887924543 751098835 858317229 271930455 181487177 662006963 645277435 165293605 174186137 113701745 988063941 916306707 231218263 775416281 447458373 647652891 359724301 382379351 248384155 935521377 927479475 380288515 111905235 739098159 100277925 342348189 474221019 447894523 788377767 762398349 673227663 256448349 457120231 708365023 516561839 292320281 51613181 16472909 484295653 980071709 50671075 21129783 146813377 678546297 943602943 3585185 161435067 460803433 272155677 993524027 808559161 404633425 818658421 255378271 612081791 170040509 588760229 765638667 580657603 461845855 363952557 414070501 603213849 463718929 826753535 320046397 164683143 228048345 800905839 915033867 99922677 895731935 183609 30541293 949132593 305194873 916514053 553162283 33049593 767585059 348109277 553087923 176056043 789794685 517833783 16934687 786738835 78057813 839451635 892033707 541633887 673088925 196488531 639750465 510162603 744604783 635819525 719897453 897157557 816386577 936695839 451554923 284834475 701344749 476694815 980845333 569604505 176853909 360638185 82480375 577479037 145510855 480344267 600632125 288653621 947351907 250119287 422002111 460877963 957201015 227553039 339494909 773099825 124173109 873755671 614222877 148728257 312129785 317809787 134083569 937989307 364753733 956940687 812542445 787861895 98255557 12866579 180048433 701006199 655588427 270934829 640976773 740200647 539472853 656860005 530748505 923953045 19074437 334531511 694117827 42961643 98874021 689761403 746885761 312438203 581567657 951593081 888318461 680164319 888264235 108499421 944387911 466711829 337169395 400255293 937615889 752856585 923854823 678440087 226699711 695881037 705891867 270705741 715763799 348393047 350078925 937937969 749389191 596175499 227097183 442509427 670670761 83127857 22318171 364921013 256147641 762710907 447693943 670829817 316486497 799518595 863058057 333906607 495346669 6859591 490591387 668758953 371899225 370915507 976445907 329165607 649341503 693047705 365907847 941395661 510520811 941038767 206553137 768821161 911536457 185374361 615874677 206247215 195519473 809078495 368151069 424469053 655825699 626769651 626530591 210264089 412508357 787513133 930467475 277374319 914322025 899143631 38366653 297139029 186815043 127327235 627992331 26914375 435380787 864964315 850763021 908908333 934825153 61544525 752573823 549703249 56443933 118656061 868212293 848115305 124758301 56082803 897697385 698023829 441129023 734757535 714930977 83896919 615720109 275875679 318903493 437403805 229286709 513066799 48665563 514288319 56646991 622502523 849055755 847529589 55617049 86857619 583597357 299936745 812516187 587400113 832251959 645909159 856469635 158173175 53245519 376802467 732273065 481404013 415766465 740051771 131300495 298934531 493426943 510515763 206534551 509214869 315241379 955432123 980676309 818628067 977946995 823905383 715928829 152783511 750127961 870671923 640287857 915614273 167229543 599320965 498350133 694073691 743274201 766851883 510957819 99977287 966128405 698217561 771859481 584681037 141771939 674488751 948850319 508997789 713506101 675360815 483172869 369786707 676476331 765211719 566357447 157746287 278500613 366061773 424984015 990528731 499002223 426974717 632695227 784692583 67499323 488092287 431039443 231985101 554548711 498983005 895655943 915725231 445746453 601636367 365146861 952481171 629496719 964933489 484613827 78312943 447710281 157835463 775715443 790000153 362840925 777454017 966184587 888267089 742654225 536078961 139878979 81526725 591857871 990248023 796545145 636213123 923583019 209425239 184961203 412003205 568456159 563007167 597301797 687753387 821084367 559953987 24552609 308807873 260842245 486452483 39222185 278538613 700056245 871710847 736425317 139047267 648736571 820988329 435543459 571477259 529770009 118911957 67453657 788486101 119206907 213751231 379942695 315940629 321714101 477209743 476676439 682862851 618294593 496575695 811755989 873413567 463035075 796284791 289034169 189919829 545532805 897758433 547595203 337001907 744083709 224363477 189880153 281695669 549452227 916896385 319398795 968937499 849989275 186424183 225139217 38565773 397954929 460533431 552997961 502735519 885578329 601531045 556175931 856853703 482328717 802159885 348462999 510394731 218717041 814854695 437281459 43040463 603701649 171282319 549510541 578889511 174354845 137432907 15355599 448173965 578382709 880133831 997122247 29926655 243400471 850944471 624199789 524244843 165932467 571233213 388939359 165913245 38871193 126994457 980190691 854682451 108932165 320869883 70316525 168634923 103988571 455550679 604062223 513087151 24516519 106057101 665754507 537187411 752209177 226260319 547727945 681054059 623864017 283902715 965900245 166672445 882070031 373424503 242628203 871941103 765613885 105208655 305619429 395279763 467481843 28733291 909159631 714557221 701911783 7651863 467854163 407814787 956798207 727311877 455137871 371787383 292413511 228691287 67360315 594428339 700397041 707841679 475807813 205580241 349665879 329745821 396584759 543407183 607851007 457841365 206262411 34800537 298597523 226716147 204521823 985020417 841999333 571541277 435210619 685625021 35140851 246980063 257016399 717219057 209264863 850628659 770913775 742917797 412513777 183623025 632071711 550898635 408129185 112961377 517740867 127835963 188431497 833007407 624153963 281070521 107884395 919163505 311564621 909657835 19319859 427521059 601617739 437579363 507967477 304035755 541365355 744763035 858457833 909113817 144373595 206438901 24283511 231639005 560659315 950967225 758085927 167675993 863697843 407978265 722697645 693701711 768570819 161798701 583389157 54650927 656248561 415865593 69899473 454983371 578526515 488466531 887550621 391101027 768498217 525572925 879666077 698757019 30618141 974439233 71594315 592599679 456785659 312024593 954013515 696547207 691347291 738575925 265696359 298337935 878983547 425978909 768117139 64161245 553384007 252191527 952553195 973268253 904991817 493826191 737654451 57411683 941267131 177898625 163951699 456708913 210918523 45271821 910445409 647662439 362511121 726677805 30657687 982139989 464662955 29920707 667656921 932137903 565582371 693970069 782228017 377928853 187146231 357600601 215657685 850210953 767072587 487432357 788843037 317854841 61289459 661040379 248231309 492136379 803063397 630200261 143679443 844552461 472167615 150443603 406941631 199867281 935038919 441111263 872689485 652678105 170406895 661282699 291146913 22693591 153593423 107424605 391698183 532126951 614368675 475643723 852088815 488993491 195671379 554666795 406138361 723214533 28494449 185915071 955154915 791657297 895654065 780142769 578099613 997227639 760468341 743083921 118584631 626872475 108005569 368754391 980041711 405291403 355047495 715299817 532941093 239083899 863081565 399935757 400413541 284786185 445199619 826666611 749908837 926881083 458106079 512012087 967982847 597928573 609037889 211636825 887430197 993780133 923761185 60068289 242345521 996817905 501062429 880448835 150342219 914158851 837755005 751920023 976210169 861281259 334783279 196744541 915256035 747752479 655565517 240006177 34689487 576401531 289806995 316824401 746098101 292445251 185937515 462623049 373457327 402390053 564623331 86516809 300732159 853884217 324977971 84014969 915954193 876201465 616810039 194137581 876258679 541991755 421242747 6260125 441495279 538631035 927165739 353914473 648576091 738456385 771624481 372107037 165682885 708146361 539927769 838997095 873557857 882737769 415226491 550219747 367223945 666516029 144964057 847091471 549521093 885915275 526200423 432496217 57991099 15062287 837140805 474868749 689961791 929700847 385950779 110676841 845570639 526549177 768335033 121062795 473910797 421576035 185893589 62188159 156854467 251883847 308423759 166708787 546402533 335816749 358337933 479159681 994245647 306945857 177216159 90200365 865416197 952023577 100642877 99517149 961530287 242089395 999741637 905668645 155310115 716041075 647924543 869816699 616856987 531801125 598891611 85373253 328195705 88689921 39733101 466985671 950665293 982153891 827991929 660027189 565382853 287415311 912410145 32735399 620339391 836672949 274141369 812812577 388979007 195102825 114647863 393958281 15701101 200861799 620717367 95876787 82612383 71805013 172729605 453724757 362526543 361332801 491640973 967667219 703294497 979104415 918479977 410031733 853661665 876562765 225914069 392691693 711118207 523266705 854162105 231382997 927741211 19118615 516487335 756547435 871884531 727844341 296752083 288063195 531443319 652117929 814564637 190817335 164655415 342047509 319383053 82454645 78582255 391605643 157666259 449560697 964599171 609788603 244953157 80574475 482466303 810661319 396097251 444047581 659141525 57001521 856956883 872067975 223982495 150953705 326400229 346917003 544785827 586364225 192576657 450489685 253951049 939056633 75215093 909704497 184590953 108300853 633864921 161682523 31212025 859300481 923675819 716548853 989317409 611778007 375597957 709284359 63482663 214546575 633118243 629046403 944920451 280347503 775099887 817273921 527833295 764374183 793079287 127337731 430507981 466571979 303767025 420953459 47722601 430311895 46266175 933711905 484144821 671131187 384081893 569302151 434172911 350853545 316473751 982664199 463097207 721459311 262464167 777542889 274332123 138641445 303306519 280698719 696020429 812955853 562373517 481936001 588968233 510133205 507025499 188891473 873262577 270744851 785503349 595964857 619886929 65706949 390627963 83696009 246818971 800817039 120169909 383098747 641681997 824687485 212376851 944070193 931392265 784792839 800634923 183667507 914459801 452029193 970194493 276548081 890586865 101830343 715116335 885320903 202868013 70699249 481655953 234322933 950370447 772481179 992493211 4570277 832577411 257496129 771636523 448830439 19440285 601619657 972349129 284835765 786636695 217351809 521988515 255517681 683895893 769053 202769043 440149857 998743521 426752443 454577685 524650171 847261553 420896737 331462995 775209365 952087389 621172347 341265689 737553265 91854377 243727839 726365411 991590071 840223617 457207243 204181451 174464955 324974905 401392225 669493661 377419701 841838155 109028147 558648773 41178055 826107355 844290611 661966427 912183287 475414069 606535357 289577247 968958523 563230665 550885017 754493561 281761127 190657077 145595125 41684597 387616833 392745789 269476707 965431757 332897393 398912457 436822755 733320415 109279111 513689327 886097625 37943989 370841083 578786027 889479187 272204281 562132019 65237021 569951173 659145735 864270707 41266193 941853325 843077597 654075121 517452413 537539441 620310305 431561921 963095609 494716125 857281827 39066857 742158923 114469799 357340123 731874385 775609053 826383371 46616295 365070279 635399745 309992111 110454927 308961033 110382579 840531873 289620673 209570741 709470105 206332759 725325847 567971927 429312505 937053099 309383885 612257117 714356747 4849895 752471501 19634211 931571689 174743731 13019043 785010663 875275219 678600999 601148299 222126807 285588793 73707457 822252127 343846655 681384877 600016997 473490347 24812381 787349991 876010591 477477531 118944975 996491983 16370023 968036615 419926815 353887341 995417753 603588719 977256449 788684531 449856891 820203769 775796233 744145345 563890423 289740919 466436541 932683863 962149991 311765853 53804675 273073505 722559621 12643275 475359151 186387891 724763255 587053705 607951223 701770565 271394507 431810055 892918783 610383935 304865909 886052699 456655439 677445609 697954261 365280067 122611033 421863351 926784429 931224361 455705847 461486661 510094379 447120411 518065383 543379541 844327397 868445649 149656535 739041747 683019479 121137065 417151059 610347219 109512553 581212075 538296281 784461455 544456037 112906629 89876421 551881321 267833091 843351953 296611943 956764401 638976991 527195595 62920171 332367573 13119997 361368797 396196715 254729203 831099597 380607251 475552233 541996621 505094177 540435305 956086095 129945359 668431161 915891321 498628975 801467789 617111993 638304143 336362239 697492033 846268079 73940887 842322083 874302415 840060815 254750761 103326691 920391171 591303479 114073221 543934001 35882189 80669421 297156241 268559333 203977547 98071901 112332255 481800515 174436545 204944797 706370211 63125361 327383447 17430057 497466045 214573441 766041699 420394983 367348405 44787053 422077151 779464999 844484795 887119639 403176175 513442969 909232035 404830535 252841375 405102687 560908273 464917167 893789727 876910331 65860809 602863847 794315983 88364635 936892667 4158833 463163437 608197845 290574335 504720567 6552553 989299751 941286643 408887561 143569875 303630453 45545885 378121633 840445159 570216779 180228977 974784417 434781771 445754529 827742849 931154705 663219269 672647123 918856847 16940001 612124493 471221927 206801923 539115757 515133179 368177225 54643435 12010231 22079765 970719309 810383869 478121379 74262661 26190259 726211995 364067463 24784477 795266017 475056329 746977309 464436443 198026657 228350009 228447937 22848095 359432745 274098497 251760577 60167287 274335255 4786913 134480971 463016149 566878321 432055487 645039739 495948883 774559653 637916717 501162065 724320759 142638725 242714399 963854007 228344811 249432399 887366453 900597885 977541251 319634091 442646711 676288349 106862391 726486179 63779221 403406585 878938031 228237743 52971619 591064023 598511283 438445995 639082341 946141805 962275127 790179035 497674111 4998161 785164119 729598191 862328129 513541637 156153685 49533433 363958243 765684849 578548893 751882105 473946689 652317033 595481793 821100883 187490279 57530341 750809215 472236757 46489603 225885381 707349689 598149555 72454249 349260757 695428985 343513355 362265755 554974915 340346099 770120803 244851393 529180715 768629379 991780007 873580199 332861069 73889707 152524589 462557897 151681875 321668377 132511409 381479233 76321227 322968475 622311515 130175195 159929907 190870833 945860277 618974211 553170601 388149245 714220213 620071377 906687545 467846987 807179451 155170565 988754897 720337035 807467401 81277701 132013901 922963035 990379855 618698465 499525741 118992765 678176927 201673297 1744857 282872287 399775609 250706099 662052389 504190353 529819711 670115855 433453769 430009807 32891075 889829397 452051237 20385789 198196535 587580187 293503363 536839333 3048249 434849055 61646357 928510077 564557007 721580235 269421557 40074589 676240739 944502381 241282595 783585611 672429263 62395133 820455559 123524975 587544653 70884121 315116789 767906591 294317955 27266055 235595299 75530965 923543423 615002299 619273909 143400759 638777271 135960775 485456437 376420875 624994053 642189677 842994705 152904009 706020529 568375445 880125603 918105609 5903719 656025035 467040303 146646929 277808703 213324619 33463771 261570123 226429361 445321455 621486779 276622537 714141863 56367937 987189445 491921095 631486315 289968241 900175837 64465963 538596021 37707093 642411723 217361915 76458145 753331821 530157121 134651759 856174515 883862753 141939673 342819041 334121435 815941501 654897425 99839699 37758315 596173755 192257109 607794927 649063459 376671417 729988599 91132173 465514535 697913407 561436461 518284325 147741957 99964859 108042011 846884185 483249841 735932743 595150281 415295223 794425483 822093985 306270505 814552433 671780435 510414383 212112403 763477091 466834235 165739521 688068939 943003023 684220119 356040909 678487159 447050209 575021605 364650229 153099049 81044075 296429191 367264639 934135261 351821675 205607117 53107993 741921007 367379777 910538285 504667419 713882541 256889213 947315523 733635205 73264455 425860045 198339859 191024895 585606101 92236047 332081675 61509589 942984539 769648709 361509633 753167107 859650239 125425563 53350451 77739043 805201619 806955877 997598789 80790401 137653585 253216029 967246661 881536775 100330459 625661029 415059367 238602577 963006713 205325325 992167753 777009309 150848285 230346499 552101999 942213073 532941215 759963493 625925833 275942271 274958273 372215157 654370923 57503963 593343405 501203103 326771921 361410757 39604595 401741431 806333921 247252165 69942285 372872119 57975019 973572105 364836445 881376579 322516383 241599083 822961707 17120551 798548253 387663207 969472807 290515859 298334443 662794535 539815405 365002725 462274551 25383801 435899133 870697889 211640723 789194965 482361281 150551919 7423101 792340311 537054089 395485733 706217437 543543243 395165839 93550527 711116861 33502365 374221557 294177373 563160213 388221671 762850755 999655243 378691905 952312677 716865001 347259903 992625415 177171327 346045763 889545489 767520273 320829511 730368401 642891591 804429561 440186737 90628989 239710345 177280953 333805661 64354199 182806767 210921655 445752597 38167385 409152943 924918209 246063429 780366883 339071023 961672971 702251333 541346369 664590587 229554739 207652627 42152929 441441989 127113535 573857115 202306079 308345191 52992923 315553895 343799291 936183015 80566045 699647281 75669343 51254895 797111041 491883095 480371737 528990545 165213935 636711713 201703655 5259275 304908273 925061245 640425577 618553149 607154047 617635845 202971173 876942517 974352499 739721461 825030031 540268133 35428375 178238775 982258945 705673575 626716947 405706841 696055483 478993153 380531327 632957075 407548391 784867229 155467481 539694529 197295507 629372879 9367301 741915759 420718525 489057103 583561553 929136329 2971203 756079109 219206257 577203111 915597809 990867193 24300163 448888715 296857973 650276703 406879245 294254487 946999915 864720275 866307833 537892511 532542033 148922391 102926241 895964183 909282709 804317847 956179903 804383007 225804933 482919655 697657723 814510975 591628377 550331905 980291679 537569959 880997941 39489287 717104737 161944237 706407459 885143111 199062241 1017681 249135121 713069621 769279905 132853497 648081627 780789865 843807183 759882165 667628351 475738791 2773761 985390653 274827497 7966683 600421941 760579823 324792683 632808729 154694351 666288339 964218173 478832283 31762843 588538009 457242303 113523397 709400017 103692181 532598587 409605921 400542733 962840779 508312547 798755173 347812691 445220317 482850001 144909417 945379859 958459423 354157059 981685553 253600031 654045063 943346789 566265321 432091831 117309873 179088073 499959013 462389633 401759977 173052133 149290913 52187013 314865947 27944541 133614525 819952959 351140063 996257209 553185285 230322823 190744693 841763691 912188271 894653861 703406277 114213069 535563795 176461893 39231579 356479261 730896439 536628861 379374707 493777543 322383683 40969161 793079783 587456285 162776269 38778897 323137089 38337493 645469073 283322527 300288177 597147539 160155247 558364459 402206989 822118431 647205747 26201807 19485397 411512107 883914451 48281365 610924079 910260047 701345767 323190501 976011499 842733327 622388789 235417497 380663169 479048657 679455335 856670697 590592527 849429735 592153423 752687871 803056477 756116107 515425003 536765799 318215641 310976735 789521755 257033237 322741917 815570667 785595373 269639527 468978789 102316961 179422739 774123043 234290331 232362713 74153063 65632373 199736909 516006997 859025839 170450675 144822065 694115519 629415381 683241369 593951401 316945575 700576491 542743757 947311801 273112457 988505647 709713501 524216595 842831041 638718211 910572159 417539599 420870301 177042415 439415501 932572073 946161997 239318955 812468047 152643721 382501353 430890513 160301939 456819969 605144947 287824163 737424139 855779333 155671509 662221325 992385879 900614197 7473375 85719075 954158585 478743257 792361803 927228895 780967427 178179809 695995323 387704291 553944807 877255651 795750327 365133821 892401539 404922655 617272495 797172769 919932187 241599611 614742783 446718309 873964127 559930247 459315943 862890771 732216929 79939195 303017873 976685457 718381985 721236277 185778701 331720053 934596869 532523579 99856469 194905721 835290839 585510849 499340363 355305087 909962189 751921305 732385973 371403927 355357189 610460999 697823305 900003823 517439493 460117229 338589 966889701 154102201 575956575 946760499 684119035 134574455 464930579 118480499 164637407 511260925 211040805 681464497 662399841 613205613 66717537 560692517 430665853 29287255 208272435 71939313 957629271 728255409 337536179 692839451 815169593 415837911 210181281 245258393 937805721 131757709 587039845 221057345 161984271 784322563 195963403 429297363 198916191 868577995 316613197 164360957 135208055 221071333 249087369 185424205 410356839 135645877 917890249 245645885 662339179 936331273 549141175 965801517 355394279 924178197 538560175 786377833 46303079 35078775 660744111 875117087 533251995 802120501 286359901 192036203 275201123 344827323 792372489 781131851 611800765 813511389 954037931 816945069 239183577 932913885 718871521 468854367 853065479 694407259 684996849 717323801 563849413 842059623 799142863 380745857 436001715 786112119 985146125 527407131 54184607 796655973 920823535 948414299 10524283 574215289 992614999 447173019 961361249 406983009 961875929 263946267 287974807 123251759 451259051 623141123 761248391 678388833 539765161 572141159 891080643 351789023 730763871 675260221 19893769 579820533 443211257 40997481 75785273 305401431 725243983 773626293 912899169 242513955 332185313 76582607 614630579 374997725 279539157 871319121 174018699 985198965 160502013 46151871 739918187 600774463 919992013 343456127 6062589 533008119 565902181 951570405 112206617 460079043 86667149 993351719 740062391 44310577 209534901 84722281 63959289 242953013 482538739 641854901 848082733 289445677 612582405 928025849 241443013 177067231 392632917 344219151 201964125 240090233 875626737 937274043 770638519 295054477 700654993 697611171 359351233 136610585 887866259 648013145 412461961 707818629 227129599 94705497 424615759 340335259 621776259 993963265 206973045 508260243 907475833 887265947 421796741 424414471 158949085 80749145 488310067 373037825 747707481 904744787 108881243 909267689 323417145 415798411 445202433 214221465 666114937 770268653 514687053 410834763 411889331 735247173 219029397 197080741 611748147 481368399 289113171 803265459 780599781 393796781 958998315 748772847 285315681 19283687 141994471 3542577 481375207 473074031 919801979 201123263 775878749 84185245 959108101 364214089 19745109 205662389 479244739 515408355 852920577 265241821 504453667 859613707 232067399 347937319 380580793 809421987 908720809 994695821 21082177 699455995 526913881 971105777 767643035 126935753 269527083 609401115 265681619 86456615 133624227 423199933 182475039 439195037 9920741 670691439 836064983 678323225 506869441 144433075 960102529 606883565 214277807 719302387 707595205 386951129 198395853 537897087 992212089 295211265 719955425 357131153 232344473 816435697 220386399 525020491 916208709 138517153 516651865 529707445 817210059 884131949 878634641 879849153 378183579 178055451 579797103 690627911 919159893 73640405 415755521 287355913 829953209 676549685 981035261 400551601 717547953 857738549 848793797 346370767 582241877 148175931 842773341 863728349 777549019 2770453 93718903 274668859 547055019 133575673 40646249 939243829 513180747 263625857 239098675 384588795 240334451 799918773 450532219 286608805 393762557 401092353 171669139 677003829 202908395 556966971 777410671 228766867 632638569 243369121 980151983 776899475 981448137 195174101 384882587 483739885 785269385 200219369 693399331 230191683 474618441 279393615 448843227 701162011 110349783 226935267 212847111 388753131 547250213 697457391 25309323 506042889 54779727 303691803 427397623 988171447 118399383 191474561 347740033 395374877 415421545 205417627 586382347 137850703 807227737 381249871 927552795 309892677 167569185 749501675 221925855 529731809 598641315 476446499 745523249 891849961 480274415 965613333 563105677 508339219 355663155 734650951 283038237 399089907 528165837 289714597 638063533 876295695 270461759 187677315 504385209 382326991 558766133 629344163 21525851 607344259 832389507 98196005 747267679 82091875 40076579 286885529 247919665 773059989 967587641 489155061 68320233 675470365 217541391 968725653 983996487 282008047 517745177 705510205 805343921 759003877 785007347 436749851 703453751 292737727 630340705 38307781 95842449 184057381 667590219 229262393 217087261 333535147 761887431 999735259 802930659 537280713 82693903 218660985 949820051 474281183 692315783 969421383 820517251 554538551 445052859 927723747 231126193 141556997 313504091 423137361 961448647 429197405 742972741 591406593 305724435 462302021 624117629 722027463 21814669 476101539 335829803 480545503 165717457 721141579 558199207 1358063 886102059 589356275 869293927 545426181 445170567 978482495 57696017 272831639 87765375 126081977 180008049 524714111 855933775 393204687 545697655 61845509 153306337 373197275 400457539 214069205 890380225 679999009 66852115 442808069 33501225 944620999 596505431 55888403 919515129 220191201 381978271 235321825 757060533 793508453 557154473 168741569 636299151 545312567 268464469 847955813 952373853 868813087 510090673 826962921 358254239 578815183 884794095 363710679 534067067 421900257 656180073 401747479 531536323 668503507 960269221 173493251 376881387 227838227 699275597 677460565 121023507 813506541 34036787 619334963 624652547 844935581 478751573 395728939 666133801 661869893 778986451 722938161 598492319 869162733 192659451 635860899 419335459 205011079 463442495 60257095 52253979 834934509 155890747 20267849 26489493 723492573 46074801 623250751 485437517 934024707 881077645 251356709 843638431 286931951 917085923 100766563 584852627 50095901 629349355 804646851 586138839 28640747 300320013 487744125 385041603 593389987 736306641 980844075 34200919 193888629 209382891 921115605 277794363 675239295 630487095 876866537 268687035 141631933 524076983 792297273 81705683 654351131 703489687 532967941 452217373 843348585 88741675 968371441 720673507 170098529 680909037 900120073 201995029 243288997 740114817 127551429 644497225 98996157 941921713 838372865 475306431 965843995 923171953 104293635 569713501 222457879 703559133 634234999 673684661 507506419 615777337 29728883 258975993 738628825 521759981 618158195 472726287 785092057 202176911 564692061 716695673 879017197 296722137 307439999 10895975 705253623 368456623 394861455 462359219 956577727 5338139 605651879 624973017 486248181 938930771 865296207 589741827 966690613 148164015 850558323 451812095 819107585 433122739 756064617 885342021 620583869 764041997 390489583 764385265 508794047 939066509 987648041 731793871 416248895 797631535 679078563 597998923 339589727 557696023 355454549 36631423 915607591 125561745 840697243 448525095 890006151 481355789 596746553 800508331 562733403 75197995 675414879 612015133 486441059 779205289 412623007 553733681 921436233 961119607 212468985 737003335 535487901 741131429 643269841 675903849 619699161 147052399 210450421 253146691 751963229 121249595 670123163 49351213 482499957 51859599 585426013 587045669 899133263 808834595 208782147 690824663 523106567 612286929 919940793 708738701 676934557 176537 744761493 707568705 386196731 372442795 522516499 705118609 627192561 512443991 806583003 318083013 532951607 743722779 662143991 47631307 291142003 410154391 598894301 903439165 95873065 528069529 403084397 509940055 974871503 179705107 897540585 980417539 440766137 747482913 542734337 72065231 872966445 255026949 490043335 997838321 128838739 198734635 684992955 315328331 506368827 970145317 136065217 515962723 220307421 852053937 759079207 959510119 746610719 621743023 91730337 696213807 508794565 349170477 677236301 948910139 88091779 814264159 44962223 618916531 855976691 771933339 538025911 696190307 828296597 396738921 581023929 641967559 675274449 376733043 198191217 529527545 412694779 359688333 222480133 704635587 975052617 470196145 312154627 713260693 389086433 788631555 657184097 495405189 509676999 370538445 193937017 210186323 748780527 830900611 100867859 668237413 766458419 572806849 903063133 208351435 455207249 142650185 956047337 598906429 991268087 322718217 615778997 201094937 322078385 571459087 114497577 532273255 533399805 302121883 227540753 553158357 288194105 176885519 989694625 812225981 385863599 160476663 392520053 706143259 258810001 859528707 787385495 872190873 63106297 934369809 187630703 419540869 741769957 935405859 648440791 188312535 24081217 117118823 282347273 420882475 824007391 208845613 428223147 164006605 552115573 996593137 897687243 752431529 614191783 913144151 218181597 128669527 817480447 108887595 259307457 731824151 70149867 18659677 805058743 729898193 223018949 913139979 58282611 981897745 456104655 13905785 19427077 37571345 890054197 486035471 266016235 842116785 600884227 334845029 860768013 914530933 893877557 707053873 319070133 698175887 744763565 283370329 485139355 778521045 235580979 322049769 534094809 233665223 846605177 455645201 606119927 292583563 364391191 287818801 311267043 148528881 707808145 373672649 517706735 417442929 897732173 337785475 612503003 936010537 943512221 698026039 661642187 231411681 195280059 323684827 297304653 389346567 25899209 312660373 414264405 126967733 259505615 341425329 639125569 85576359 363760831 224332961 309706455 300254535 467100017 434001409 834773569 443838627 640162727 397607827 71151385 11338353 534489099 645010241 91833179 817107475 592294191 421896483 185488233 560898445 19636361 500600943 91562259 301751953 830485373 480084621 429227149 20456311 656123985 96563717 762946423 58623035 61238075 78369163 256988115 77023109 960292177 984991483 491077903 889767333 90093461 836560471 756894979 401596821 22513 279468235 937789159 657674735 983358517 638805929 103152229 937115645 156511515 199442799 940257927 96928431 998610757 360874687 711817925 585476507 764256827 745651555 58741755 928400897 641027437 686616911 213819247 287846855 383161655 76525471 960410059 388685437 172810203 881162133 872452649 997543001 862477949 775763357 726289155 695042365 967128115 969317963 735384383 550515631 906192117 294458201 546686251 576625119 465003685 30614699 80527227 871225505 434604555 607328075 519081039 793292921 999684567 695818861 868626473 213789321 661000613 116041325 432954103 398861221 510611189 950476239 377741071 131012419 331621425 334843963 886764589 266056319 6244777 168163207 482943097 187326245 6542997 358340269 173555069 941562017 481191451 317564113 338556209 704743691 465332287 870454845 83875057 271334947 907116279 547113319 553580161 907663439 35336985 850546151 12524815 586715041 77847399 544799619 554006579 725861069 756182921 87287587 245788903 812292659 284002579 61878749 471832209 77289179 17780349 58201069 218999805 846218101 521335847 6778803 463046243 105508183 271751005 169205435 306015329 599439745 199985997 869196475 292365559 992061849 112801811 132872331 17815703 874075887 759338415 825204017 706167829 533308795 996444937 749112021 744550317 924786395 221959413 293289935 141298695 191514965 141761833 527444373 570552109 626576093 234145099 2055629 351991701 881133573 320664543 819504963 129718047 749809425 798262617 923049705 31723021 222940387 193281811 729222873 537593357 658394639 635528269 744735577 302337333 651705801 711590703 592486355 818561795 12370163 148178893 423955929 679961947 282140947 934597405 585770025 32298379 26185559 62160899 491776931 614567237 831082903 331858505 654442069 373281707 79930195 21255581 545872497 418971713 907709105 947885209 959785299 189325299 770509699 671681473 68147837 307037205 159891005 1652859 163919515 734307175 292176127 965472283 103779967 344451343 201274513 294645463 928164903 648722325 803847011 729378005 867721141 297839605 672867979 50210073 282684019 289285255 17831111 602038423 138429909 703937555 9661313 150247207 990770295 497517765 135939015 531483277 454899483 528941363 589644113 305884527 413752237 501646171 160613757 489140831 895056961 644251039 237124691 399294681 767023121 939943889 328007553 411301947 73789055 595754529 634737505 709273807 892875289 529713713 32653295 852853447 844319635 606855171 495536597 651856699 948355781 110610695 111697759 397015855 646706099 975179535 837441929 14581897 342043017 70642523 754492653 95016731 564713371 952911247 785771223 930068895 830104675 417481401 717140019 345198263 162950789 647263821 812143769 763340267 611468747 522387241 280744777 272482477 900070443 318824595 349571625 733422421 711169213 678871863 937595081 33643047 391756997 178878507 486280033 526236233 3305137 231031275 488044497 659190477 342521105 229487967 777674397 637620141 271128481 370261201 781826549 338800331 537518149 575811831 261761715 928905967 276998153 886203377 564179285 820105419 554974237 861119041 871974145 31110647 191163103 563584981 53738119 907347445 551813843 633031941 200684383 281472303 37913507 61218697 839104165 731834357 249488673 821673867 466048549 482480513 542088777 437619351 66608973 479087349 245769279 855421601 916876849 698586201 860286799 331223303 229022867 261461407 518825963 644562829 682697947 559186335 78782893 941240163 590105367 961292059 286749787 38475805 113923069 808149949 509022943 498137271 713175021 361212693 882744907 377383063 505683953 465164701 499667677 517053579 60545205 440922037 689526005 712932295 591913361 591692969 715950113 600583915 922007941 404430761 234581523 150300921 469146167 992976589 332950437 96631391 497268985 703918615 71269853 237314547 276357567 665811569 242942693 303877617 788531241 545903275 184121617 125999361 633753727 358094461 108845529 557145389 320400049 470326669 786098405 430820589 56602963 510254177 791721725 161476125 339944105 114696553 43449109 997771009 230418327 583057921 426675529 944024905 462871213 673085289 209062363 472059655 202322721 152133579 45994039 768098235 114379221 857850167 536573935 713758537 114399311 335631013 399570369 596092159 481131453 657856763 520093839 351423121 231545337 985691645 874818147 227510045 367218815 370219361 809485681 705926185 946335097 450270141 345633557 502251169 2295475 606392721 871494865 248527835 176885417 645388875 697196881 994344595 102246773 325738809 349881193 781470193 619607521 257657491 200494355 192765567 288703069 353030783 39084147 200846133 2941953 837339137 397224659 78791789 922849671 159407119 63600041 261650671 209775197 847591549 854865293 35933929 959052173 524495121 529537859 223190765 593616593 153004657 591143097 540081403 495933319 617857329 860593663 949643127 487901623 379177161 526796881 25052205 110126865 850781849 115923731 200754517 276563947 150647531 522391759 984872587 409521731 163801075 668200507 749315029 45443267 23999173 869143343 877382815 440568761 340730471 612521391 248067773 881410589 221983935 493574377 824754031 871493259 315336097 655355949 929789531 312644687 469977027 859553783 673737867 596261461 521464267 139862763 422407541 873826359 751933757 621796053 196100601 480186673 405848461 202557351 972531545 204443949 539683605 236416635 92366915 21214647 966407187 662548119 408705997 973037321 107524019 863681123 561600115 38339843 995592967 21624439 146799389 939521065 979480581 918637705 979488791 304559277 841093265 383933055 721591315 315508581 139271541 101314405 444454195 688057553 711668063 334876781 140948985 721840151 768045545 148228083 8546389 417768969 908383895 210508407 167601819 511246875 447216591 589479337 632128647 859802989 604101603 610808667 239221823 435666375 194688015 109906053 744508239 556797079 109160815 753814607 979062705 57366007 166348307 737079553 844515517 171867557 330471397 560489231 1489467 550764549 660139973 746302483 653175127 381796139 53781615 311320019 491671975 415850445 744215439 620758841 879795239 752761929 218149559 119488345 915735613 978695077 213996637 987452013 812007097 825601685 388497125 84460247 176187083 883986027 63734167 821541413 397316373 616514089 366314917 151807499 757464729 369487735 608536359 751109983 81462213 147042721 901799967 219873067 906184049 221492385 573244279 342596501 425560023 828777495 532198399 931466481 331913627 565508167 895145843 353104573 138761935 373147427 575912303 791320731 347946469 583703873 392098945 622839637 778607291 928041697 67908889 618117089 129285015 537878761 849899151 517683287 912803365 959061995 493034533 817815803 274539641 665819417 657598981 459588921 448625171 423850841 235677247 639318181 106361561 779578413 850125773 254387193 641376789 53772485 819287953 264610841 185247101 74873083 143934291 965031185 973483569 34617931 378748613 224380689 551086003 762880735 161029247 795848567 569651441 254137989 694632707 97579975 679248193 724753843 209835449 390453929 164229985 550205067 602009591 178736883 100635251 570286035 483500529 309076127 930191113 204848121 138102217 491295697 650164757 228749847 607279755 192157141 785369075 401848041 638226725 670061597 114833261 683182551 770038643 774879555 475097771 628214259 450185525 219152397 291201095 922264817 190766357 20595811 445607483 543535665 906458019 166314075 313637101 451357629 84958297 340408113 627984427 9203521 322889367 179996741 317042729 275048725 856422057 627615269 50301061 773147959 102525629 370819457 456299845 299360337 451294191 103163449 971168213 687092915 600591167 346038861 414564363 874235727 791741591 476646119 627935525 808253131 593035207 875991903 879679173 919225449 889610121 671512619 120721915 636392217 894414973 403178995 377601597 867073653 825616429 354457727 424311911 3858873 283866125 355479491 805850045 964714703 978325107 424260825 34923757 514919749 179135903 648696071 423217423 90528593 680707263 669920951 612661405 562374869 975884513 307482749 955967099 491798103 250993149 21829137 305638139 935616517 852505081 540062555 703639247 945540791 51070361 470793571 410044949 624763629 13132689 578741597 228130131 504762831 709285243 717146021 738489461 572585001 759027415 485170877 253987791 137137525 437171725 82124881 111644451 853902547 532720497 379980341 769752209 686628359 209963579 310133601 515826601 795139715 965720971 460542717 590931041 295115357 773903723 356354385 492711443 33814357 458547661 515650771 763230343 432246737 908193163 580095257 944066793 228585953 239881571 170436077 627513039 776903229 726849283 615206965 891298615 745018179 977111031 14404359 605231493 150062075 707751101 982109341 446067333 574888211 600641459 378610523 331411311 906903525 911090723 238546123 87140575 438700909 397404479 997076129 22214105 764126549 361407777 721557433 614219469 466395371 104877511 837342487 948528271 656210981 397088799 29376739 466851675 357700261 512753909 134304627 399695831 245541553 114800647 373182017 46403089 989520951 732252403 364997873 568096381 754909647 750479939 437926479 204656889 393253817 35559017 152756555 552451019 104921309 77920445 725522949 518936223 265580999 536856707 10135227 276330891 391478193 230288865 684506333 43989005 541175163 65427177 778231803 982601735 701273769 336260245 15002321 939372745 8336493 489693127 829696581 477401609 930457245 489695303 356372573 448332003 764113591 169821639 437812049 550637787 536004839 576218337 661625 22259425 338412791 56304659 379814747 277520455 585464671 461442249 455376545 86583245 982923331 78111315 292561181 11256983 620649571 586969325 660518091 753778993 487057973 921386675 977363921 223480469 226726603 262543027 992805751 600296219 970660073 586219997 135597871 529742729 599530483 625515017 386910617 741146127 602247927 196371195 320413557 253702977 478706609 851238233 22962351 528585499 690236285 99665333 901243225 947795461 578253921 789520265 518154417 691664841 880958479 698679863 868613143 418939549 432843997 508319239 217907737 88545825 981807821 962068777 441455465 20863575 355545729 602254521 14234083 993446573 575713355 42323385 846351753 996589305 691328803 629622797 442878343 467397241 928266153 753792909 800985905 408828113 370850081 739111149 647787263 490292493 183932029 528147663 443378073 392395941 150740819 466409151 53624007 922829941 123894497 496554029 950503549 201008065 156808977 330758001 557272535 693873977 268956019 245215949 854215703 544564721 835314745 65444713 314034603 429101157 53521223 647405657 170309409 37863803 894356771 190070677 225936953 531740033 293043709 779918079 995281621 109233963 197696681 36113247 996081663 891210391 988872619 170415973 148441837 504573515 486871077 838630061 787703799 514547251 573800171 702049463 612808609 616558757 696510321 826106349 547152279 323042655 151191257 56053407 183388077 27916931 463678697 202705415 219252447 594885027 728567567 589327173 64220235 785075887 983007075 702400101 504200771 337167625 741754277 747434837 878253877 359581299 423355451 550231281 107290305 990068765 961190711 179576313 905513125 252010393 328374605 816569877 33863121 53861351 128078045 885627097 110370645 913475179 848464623 108082365 242652013 432306163 236532787 71278625 769139837 818589107 51231743 375531601 505494033 54549065 690152787 414052987 313378777 313775803 87062485 910417083 319273141 836847989 321467093 872716561 568543651 830772557 222820425 270535269 85612755 796647039 251391955 396952971 51936917 482084273 56342969 516226107 580495463 63999729 247551979 365546517 131773929 528473781 917129469 405419427 812375529 947183319 59032371 50220887 403325783 675342753 495114095 667501195 721227859 310351035 253866565 731003007 14135581 255697469 322624745 489143131 312755487 621021605 939183677 16865075 377380849 408422103 906162117 909112573 5560905 614603551 113603765 480233375 560049935 390894133 191928543 382973661 668011595 100685109 682879429 51901035 816719921 462151587 799175565 697951971 409153563 263214703 93579783 825964739 79446927 113246445 314898859 73745273 272565559 265851353 883050137 804251729 541394919 152945753 231567253 601551753 231370649 407043323 564735761 596507967 850365551 549282483 886453793 313240189 814054327 855147489 888906121 848060469 587874019 551067975 399809709 849164351 768343695 472369939 484789917 66549343 879359869 211913691 290672913 431398715 69933977 437659 494778215 289479527 721336055 197950651 494291879 22644825 428669137 119443717 274572159 514048373 752335499 312092849 566635847 566492419 34367151 703990107 678852865 613833525 919129073 879367943 394693967 375179043 356246573 737207077 224846469 997660113 293518693 916680071 151957911 428864805 233450695 102755693 509644071 90182897 622846883 515951227 17860731 365130225 579220085 167097791 928039553 31982273 830362591 899713709 258623185 242401009 994687409 718589987 275316395 630508011 377309657 642252135 841830389 946385935 916106101 687292709 517617215 605956505 461518281 837180019 977869249 859826613 806619965 579052493 686115931 772663667 189424231 825053721 22109841 750236365 534017281 732848549 817000595 147296165 698772209 36850471 292754747 501952195 226543421 658012347 189073159 456067801 925022493 402994405 417757981 807732607 778341609 211034515 760422477 736677431 550114599 500805403 212655629 796389227 594844031 981623099 465505663 607498603 265560519 319433751 614642793 173501299 193237755 786307387 218629177 756350111 581771835 415902367 8601865 219053309 904539603 330376607 477971605 424996989 350320697 593842177 812430151 808628727 264052999 80516337 324944173 760511021 816372221 171652611 934181117 768861385 296689675 89244727 153152279 778626907 628661313 681575155 787074181 902834269 337268957 85884161 31095283 270264881 891486271 729536407 200038585 503483421 832398837 704712531 434316247 320153431 994616241 453208379 16525555 600318453 456414799 82802107 22698333 830749689 856355537 401884075 567736589 634887757 480624481 385415491 318638499 689728449 801042519 884162861 915080035 942854671 665956651 526730611 728937021 899458775 136492415 786376333 850409675 314222245 550747169 543460951 753381707 141933031 803292163 989089557 625947299 175266297 565904705 445588087 299909475 639650843 187682845 563239567 278038721 379291255 643980803 728512733 56540063 176323869 701021319 763017541 945673603 770716423 129188451 512784661 472075675 676974869 897869433 540563969 96120257 500032785 729321687 132615975 200595825 500858031 936123313 213618701 509073109 605375109 758937181 716335007 161250233 416156949 568745573 247767347 421831831 46470087 262881903 517607813 136245135 698561007 665795921 958806461 338334565 785383877 757033733 806044773 441127051 463732585 491586989 219498611 682518551 134392293 559178393 252875847 809292489 24877613 474100535 238150819 921109513 202319893 243806757 986962869 462357219 891364195 980164647 137985557 509620497 126274751 101603109 545506237 61746161 933254327 173064501 239580945 128767883 939789513 908986769 647329763 884039055 463260755 1794973 263907429 197732945 825435041 244316131 803105845 910645717 704641761 801780505 528016729 412701375 602566445 462072599 597013819 607274335 86247305 485742563 438626741 858341547 387876315 747878565 595716097 164219717 80263159 134152371 531090885 703101555 670703253 946213001 547426319 583070499 113357397 563272391 323030101 548755695 389533377 750610233 910419825 37961491 808508747 754301397 825539243 443842423 220278861 941292979 295082159 238983597 478085637 663149081 997196435 813418985 236404641 206685553 11065045 60720653 341826605 82935885 961811545 352163997 510689191 348237419 534378347 511564235 304349165 457094571 507113155 414313069 993421769 50402587 902218365 617961731 438701549 279017963 38136093 521442995 953286129 806097019 382168723 427366991 347996505 153336651 654377265 491814217 335934091 175228935 183102135 24272583 317545433 171608705 752552777 691968651 739576959 756979639 837067893 460594181 770307483 749807817 481123375 502803279 88100151 560785925 796209621 297191973 766002501 662083037 338192685 892806385 402780829 984632301 885161315 338649025 286011393 273220599 165404685 632292173 706686747 453843687 302709289 335882739 546981757 920301519 341051673 701246649 495974813 182933229 212957613 434528851 364547551 340894883 967639323 111845907 128842123 547862139 514694143 930666235 666362835 322637353 422953821 525302963 742317263 836241033 807755683 265464967 71304321 144753309 31951783 710260337 437509075 864253585 865453479 384385041 713608597 269200569 680409159 982263211 836681091 198943887 191480213 400308017 693978425 332589495 51447301 210250553 829672773 345106171 713235829 877261315 166479895 856509263 344149033 69206645 525319431 558865103 675724753 514449183 233620311 87684029 659726465 98684217 932818225 608021383 944968117 24480161 156396197 571301309 135611731 94823903 679491247 347346203 979665065 570301731 363588651 466318981 541727597 165385027 844212967 607881221 964820665 572271037 588113555 381175247 936590357 166094011 934905799 16792385 407012975 46438923 946441477 316592089 364200217 710483491 876363191 725653061 848935633 721767717 873691437 24466267 921786047 880355799 414267297 961953041 897447277 803011751 649960243 702514061 826533843 633224365 289517295 161788441 618653773 530226859 895134661 259772459 949409183 672890371 71990667 528001115 826879481 36224969 498037255 297144687 686986223 300152753 636952033 116397905 808559485 608287515 296013737 711493139 750323465 765787665 714077401 656532721 253168225 266757181 955749587 986663759 753498553 740973563 397679581 585907129 73809071 176887113 518154285 466260193 324910921 359246029 963749591 73620129 868492019 619434713 463028449 300650239 329265539 348404319 732656691 755106085 208530997 657677827 249883293 155689573 955598001 725767435 774476505 517699901 458310145 307680871 725448071 480549965 68221853 332955053 598592051 234101091 18852959 804743195 260493387 979820145 28200337 682353051 974350379 21121171 458084315 395043259 365357075 89928459 301233749 590972593 966292779 33490499 505459581 530721375 470294663 238311635 733150775 836939595 588938271 470763123 103954129 175812515 358130131 787456773 771319807 732002879 441798253 645302167 126722527 462248351 982994081 28275547 986498807 26054379 579322371 28267693 114452273 340962543 657930777 956231695 235466471 934270245 279488841 116802349 546443219 80115885 262933479 64787931 6972957 82269003 844347691 194217747 174043471 693004913 521228853 923082745 157910879 660875829 570798351 364746455 830944173 219973207 581404587 195055649 659334651 192124733 779300067 953088883 785909623 286426359 397643127 863382159 353484215 585290301 369646863 553565793 388969913 217108333 899158335 74077693 535135457 253006223 728240765 36364189 741902331 546956113 347707181 270502821 546453055 549284365 582524567 278055327 502879817 901053631 479270895 999490369 837155101 180225297 734574409 289636195 138247467 847780433 572705963 975211785 961999685 185408117 362017019 594864225 829483435 915821855 907315979 671686075 558926083 252567701 384992919 498647187 306128725 981121221 226176317 222355597 485161757 605046855 142351751 568039027 658211891 327145307 916858343 675937083 914155743 871104233 208075189 988466429 952385741 811376509 19916341 598742015 508973587 270783057 677942669 82472873 902710317 708988485 566251983 410437521 887390979 162419933 190363639 661755507 354558431 579253067 650378977 45426991 682691705 764390757 804408925 420566483 362260459 36821161 732366357 64724623 352142271 196415809 8002729 659189443 133047517 519479037 191293077 913468397 17484447 348033615 916043077 198411453 569006525 3812699 370469897 585214467 387690849 451330791 910323997 979610557 279816727 661853027 287705759 972066827 473989843 401245155 857229721 273055291 559097843 243202859 473106171 439481791 606559293 979814559 272916643 684412209 504425437 281510733 590750285 362882391 554862441 352513777 101285029 92754459 686127325 77260517 478452795 930475409 989189279 582986549 144307337 307451121 705286269 894742413 38673649 104823715 481617069 495687749 71761339 426599983 584432329 223633245 284282135 547824457 140235481 17283453 276231203 451525323 730252363 712644849 330738651 874274491 995284209 112965299 484825131 253244485 685410825 260255587 831021795 117352119 792982331 526854725 213789373 762099345 89122195 774116939 928585817 808585845 241269381 406502155 48345923 936848941 465484015 694285763 991817963 210613165 739276821 930278493 956563369 104783377 249285799 442411623 528867775 391848603 759154103 863133721 335701591 615470519 504383941 124887889 911194241 301424633 756299703 73227415 87906871 701843739 141485525 352609819 891624793 585977089 53244635 138153649 855388339 357800117 615863009 892550875 181283059 932373867 275527279 993885121 776455093 669524863 156214641 343949361 955812985 683447157 554610749 525313441 787990953 297357557 190643345 228418355 97876373 537590741 103645839 825564845 158445943 248055055 226713543 999731581 366038639 646354375 887248943 451996603 604408457 648628295 551535907 779576103 328920499 307748613 632597607 311424551 899895497 312846745 655662891 264586445 51111051 294894023 897875201 959866829 3401377 693394557 86633193 389978503 848724639 659227851 299524167 426047747 757520637 143326957 972472809 101706993 39070235 784216391 793671939 357421223 991067461 799989093 828837939 203105573 593137577 115171577 351721599 331073553 112533347 866726621 323035729 182789819 660557939 429022231 346163331 670885145 699629505 429931727 813465425 935018701 775440417 63076701 898882397 945935901 83191627 242078519 240775863 146739961 798869215 267888131 590247381 657227253 368001895 591103117 490192017 282014547 952446295 402745287 863296307 971381755 99502595 302943179 819732841 29125243 31803569 376359647 655283013 985179657 880025479 625452653 673843269 480601991 302974105 429622279 711756369 312077945 705094367 842025067 357194933 533304337 593013049 416318073 951866661 663829031 967050097 674327103 119612607 46379063 929789241 80585711 504527111 468391017 523528491 760541925 533046509 333724301 33230277 926851747 753111493 146919707 715662965 318314453 298118731 790875187 465534599 335020877 753131429 358619801 201734713 222982409 213546081 423087295 787471785 209364779 777552243 202009017 292660705 994475261 402016569 173949003 248999379 577319411 591299705 710260697 715831129 535375017 253098335 828211571 828973105 959328225 18934913 609328337 222551815 947827591 385866205 694030161 278357613 973606317 597731287 471660283 645916121 906035089 544417339 163666301 55255215 354225301 789752641 125052719 313105719 381097283 46172291 688344595 50531747 812367953 235755019 994896075 281788685 265460631 570490689 331167659 967018099 413034265 706155007 297139111 743918529 819385347 892785535 225210721 472224967 929485225 157810023 192617501 41077825 666558085 120231107 928093901 28838605 664287547 151713037 89431305 183501301 870158229 153865501 398168589 645564715 563234697 268418105 454064577 982873287 909359663 453827345 941228981 894554379 768643275 210465465 537315361 887741217 758500299 171177903 974627555 483519001 398599615 510383829 30703237 777483247 531288163 907167867 378934065 134582911 306665883 327979863 478876611 227912855 523500145 665618307 523787449 712418023 667634715 94936967 251215673 381478151 814930673 857360209 852022803 956581499 967335801 263600435 503501501 40043431 583733597 297554157 619442265 961558243 151354479 285158563 197069485 678693731 300827051 786898401 867655463 437080137 82524725 459524767 430348257 982950305 932516441 966963769 783617687 103106395 138609801 647450229 736236979 264586319 155086431 959859837 685084993 240873791 304002977 121945067 516756477 880313301 789970233 173946809 353222721 977684897 453068857 370019149 309716249 486995741 107408605 635167093 87504689 195175595 603198859 46505319 256777697 567963027 658561483 594487229 396946473 567314693 9045327 194011519 613148079 636285725 727188727 691809049 787163075 956527067 205620163 329130337 779215453 426605097 176229343 83589269 678149405 280428759 47691677 489989463 134550599 531709855 257089147 216255417 984576459 652086305 959494171 440880685 94870595 460162281 723687239 323581583 416364525 768946789 897789171 748224297 313889711 683170801 368603961 142092195 329925145 419628237 43997279 565106199 404575841 830243619 973030863 923007999 582298985 218046211 278322973 62464833 600943799 20923751 47836931 419458857 81961849 355201839 337999461 490895729 596323721 244755495 713290061 624091441 908330595 260497917 269371887 898867185 485704751 27179853 776298919 377762461 447594687 180517527 114222583 969432201 112595079 861117251 532583307 318397559 54340009 672222373 750355255 276615559 503626473 533831925 103128309 90285641 525498553 805497427 43213033 394673075 946528815 308728267 245759069 367241761 651718667 341709899 95641799 438561879 556847027 687984047 662074047 189381251 239018041 269780405 127725833 98804539 649441105 132648715 537490833 118035069 68896859 849829951 362503787 277344429 378427743 481174729 306641617 271720857 323566093 884901389 821280807 701422965 945653945 493337173 685258489 251155935 505164135 339454927 933490679 394355931 143509179 381013911 284723457 770967513 114407173 337560235 390792213 892733613 810915131 764831993 19666019 487566995 301315583 467915853 949747003 146161457 993287831 45032805 327772953 174355861 330458609 328851679 611875489 518748467 826389927 65402437 342903199 819321067 412009717 690561801 293027845 248450559 534191043 503949189 500714221 706696477 75805091 196023799 798069149 278245211 944142537 833374093 9228413 561204535 125965591 993802067 573791781 234884499 853982993 933614407 328259147 304060609 755540201 723396935 653788885 801291123 185288565 690375197 117238479 344373189 244345141 670929019 810821995 265257025 57463631 828860409 308396803 408602319 24664723 721565211 630253597 986702281 751762553 199663431 961357411 479770857 327105567 741468623 126849961 305294933 485142863 318037231 23401191 316395931 278285171 435132869 515209029 868685487 872811687 996577371 246186249 397333231 4659879 124637859 845258923 743137825 136071133 598039925 362089413 184617329 833206359 856425875 996828185 570696821 680027341 589897385 679688851 661957161 768460189 832369219 952603207 105084917 246624717 487699677 572456303 113272483 725252111 859587801 639503981 84069227 151852987 913145215 848996047 982676711 237841869 358758913 390348359 522570271 325082607 194167927 199613873 576858497 852066669 369305827 775341071 867158495 666639425 546793007 518996879 798068089 535239691 570212141 197807743 205014259 115861775 408010643 968586335 96265305 717819199 612368645 806652625 332873763 967726385 58299913 666140831 574874669 457001253 569079061 290255037 697042109 26456577 948707711 851896135 837606783 500175445 449930891 304539265 276343433 497837401 27233885 500510163 985710423 153599979 501191949 915627219 126515663 500337555 883467663 557461051 523595071 627556225 986654405 818846447 261142877 110587787 696464507 32421625 44355395 433726767 774071905 353175695 501154425 124927127 690329359 468517129 98887659 212596113 697734919 252233195 885405423 545070227 375069107 295560675 743739459 970658239 560699491 156027841 737772811 732498395 888203089 550723457 553447379 733441365 584533661 499402567 263804819 909664581 884287827 466232927 926366887 371737707 893824099 477266489 563250131 986104367 33898405 326215541 929790791 41565597 326562523 577790161 505138069 843684977 887746733 927821885 464271549 495695365 44062639 279106505 642535203 852989027 298795865 242094259 391846037 548134715 633792781 961387611 452743497 569521379 430774033 102709069 353851097 499639131 251964827 203824191 440691021 669357385 318763969 336946955 623542289 104778493 653794949 301470131 386493179 167363951 709546959 239325537 18690375 690680637 750243699 725798765 776266397 793141167 32010793 831486541 733987335 875778997 59444881 516152489 34935035 314406117 141835319 344479815 47908441 495858301 413232777 863414559 302752611 607114855 278574051 634270795 176052937 594367025 403581573 17689869 595085725 879628817 778154903 562573777 921336415 949610473 733547053 890128169 971815411 991277631 849912895 809816275 505060517 547100481 941223341 410148529 232317231 992101319 870799681 812448717 450742185 737611857 268427695 136853339 59735705 68145159 17840267 752684471 542864367 115844021 309557595 292569955 468277247 696741077 917963911 96177675 651977349 339944071 630198365 63758209 900240295 341992079 417153563 246522051 229279475 487485535 255498463 334559987 938324063 1011725 612333235 87814235 345221445 447444313 671019915 784356719 521316717 244797097 633551419 952800715 887944709 18544653 954670473 516736307 9881759 868818493 697157403 736637583 651678777 211927959 937609349 973491445 204438587 754326307 6668861 171362975 331399025 141432207 441224871 482694639 257815821 370358325 994026765 314272885 478344113 764451345 100873373 526209503 947775073 999815885 180575089 781508363 100957063 492322743 343771533 235702525 898019837 313637061 560176087 773668829 486493693 810933145 789298977 156087809 617714733 320970361 186064167 542251235 5302939 322480979 691741575 328976423 133487547 961764031 759295179 6317721 750533485 377086205 851625829 69276457 418338801 481140981 903406765 187154423 683304187 10697011 736529895 649845569 578213019 307228913 175318329 333004919 139806799 805439247 527619253 499663657 860301823 16257809 262990167 638213139 245272821 897101353 833143293 246144537 837597415 7714861 758520433 944902471 799937269 426564251 594995813 570692559 480940705 788268957 291949681 990213899 200006875 724908291 987702551 316576897 291438837 928333631 777202625 502876891 589101999 280198261 697709505 246721259 248447533 904529771 563587405 656320173 488279805 623459473 654357129 424951367 245549331 199553787 213805181 33941759 220963021 860384109 197261337 362762829 643193585 537962313 393717051 216617675 802997673 447911331 879604639 979043131 170237839 267515441 202831345 312524169 966639261 243130447 547919553 463245255 178745147 338573833 594326409 425224499 199036723 275496203 644808619 189750061 339671739 741448621 500120431 96559171 469151603 153737711 723758343 206657319 480413533 852074105 668654475 589510581 192480743 549762967 414177789 238171119 821439207 883664963 66234439 32517889 747244955 219585821 616711225 243576895 117158823 170113385 254174861 31328801 505377303 82792473 585708005 30896975 212552803 886727875 827037127 872292753 547904871 923353765 815167913 568081627 686403689 560505769 281141217 995134025 460800019 389955933 484110513 923988765 577148799 341841401 294976835 602501059 519124263 159029595 152628391 301252815 154769905 484841483 155218647 203596795 616376875 373166647 777347507 207775019 440039049 518518457 82251271 982049129 256259883 550379021 832720001 670901739 391472787 620185437 325714109 329535241 414775471 464091511 605098043 884274503 134714325 59638737 642564965 721516625 809787841 219448717 458064523 461315067 497245851 824960623 532330215 158756159 712028653 324076523 131718553 931826497 165023663 630616595 234030253 56089165 333883707 363068073 75699729 631221971 215344219 749179411 439643297 917135473 229426231 654218851 538760989 418255595 768549481 515415629 914304815 904846121 57821675 413714993 183590501 350565953 828666915 73072407 796998461 766188655 184507869 445548463 746609687 621888531 380066897 945514831 412734009 686931641 877553691 579351797 402993879 233499159 531834945 714003019 546288139 549358853 928200495 856988321 731444181 403907721 581121979 534853097 873823517 143184077 330359841 562697671 899793079 302956067 292400905 825347713 717244507 381969927 318740093 689192455 650535849 553643551 632132339 186164973 564545837 312079665 60136523 151764341 692843861 692831797 13170375 284306567 599340411 618777413 99963413 725396657 959110883 411078817 481568843 768544553 586419125 474096057 923952871 754844881 310262271 797667359 363524045 287466797 318252223 196641419 350783561 172490607 817915091 666612709 564642323 33542511 432690181 62370357 553093703 416550569 904583687 691396525 306853995 770583365 117072243 22172589 196345195 404506899 587510473 491025845 420734107 229837963 152625521 6956657 240821435 416787917 835480253 454879413 841746159 883123613 193951465 697461369 160447941 968125035 191508499 354311653 541761075 459012433 910439237 546172481 146931859 651157261 208780657 52133633 996960173 858000645 264342129 121723585 320144301 952619081 105255427 379029571 487275817 171328145 367349459 574860659 179729439 793123643 975551859 324109413 832285425 333734989 479951193 226171987 939812209 747813243 727722985 949782177 220576207 791234839 983166827 648647129 254161325 472056101 447875601 162386095 241839885 205597767 519397621 558577919 382857567 910058705 413227797 861815499 172829813 241872311 50282589 831863617 605184911 167649179 933257375 559403951 509835345 236818881 520961169 641320597 165128649 633126171 320522455 957714069 947310955 608339265 912648953 604268411 919610901 112949613 65366121 139878199 995735821 378645901 922812799 36295911 461929727 49072427 470360701 982293967 60176641 195263617 504081037 242655831 684973455 603466605 185891009 208122645 148528529 612121209 675906319 385508291 894439249 846236111 158267227 637618245 575652229 637011531 6161005 278452135 762690637 33476715 329338101 295518489 967062571 557187413 286023823 449857787 789577485 810949081 360648381 935425483 625000267 745635181 917080037 910442809 550391453 432690483 761513049 376648469 565329197 774342385 956109651 988930139 621100679 932523541 422566901 606850097 506237087 701020345 882118725 466372829 257954003 414677145 549972025 370793687 818933479 41492511 881345191 303344567 619520523 67965783 838624337 344376131 465787859 287296765 910964449 357511269 474998587 138145131 448037351 588017711 281664425 207989165 39514589 516563167 800358891 422488175 238066981 265888981 834593077 273503497 139759367 58875295 228131367 310317179 221734067 817689839 387763139 428790891 218464325 988688287 435725943 719289897 920028605 526397109 527704345 268658093 691311621 571255387 352856549 283263637 279478765 618905317 646242179 428050731 768162607 290739659 364223997 272501593 24501099 107900597 489153483 593313211 414787373 919175787 503744201 361387151 243895013 577819105 974172475 226294971 225863657 909891891 238593233 413761229 733684607 357676707 269227421 992518657 677489615 96279453 469341471 381734707 987287273 596045237 77135675 217601515 782476231 837891491 47087423 147666263 990335817 275683919 819389151 108848465 217761595 676984769 166628665 26992981 581240651 453606445 180764627 851074955 946862101 55240431 564440985 475406277 142292505 80065419 566334945 882424439 134680767 631194793 797388135 599330755 474544987 803976989 21569875 176940653 311310373 392977637 948798511 182255335 677629757 591948323 635294963 454582343 291352495 128865315 408732665 868587341 762101353 744936533 984884233 554618719 100089159 750619479 612023633 365898127 536179209 135801835 292217955 588469137 218983255 818223615 130166079 901952709 67230149 101153187 282709577 931068723 693530825 636233235 273359693 241483403 107990473 584452787 585526403 942208801 897958665 140809741 787689863 313556217 464634557 471484631 504090719 377517751 686922751 979554537 641957495 211168427 673124813 654550601 508016547 127121355 203269141 220822559 65787171 130134201 700091043 467363777 926993565 349214907 557042741 904136107 101998363 344183487 613982057 878146685 954639379 360313439 866314697 695772163 493556837 706241239 979590343 39489587 389492049 17674767 231388861 900308005 571429771 312069017 451911659 87170847 373032483 506432425 921188217 594767243 180032919 364344865 525523065 971501563 589834447 492878725 504287975 340121131 528989717 953816583 725647009 669538305 652249633 154870909 949635697 881836163 334139663 622296935 499233033 134472425 843389795 395125227 227931139 223158157 315497741 743286489 472865501 423394033 458094689 373570473 943049731 545201345 773066011 199564665 552922567 236758735 394115937 795306001 289148255 844337177 235545791 509602529 13964271 798261183 431501103 156613119 202724735 185893903 14668809 401193769 840429057 16220539 469105429 47802057 900717133 918528415 771662207 621757165 320886055 906045501 52899549 984703565 111091765 86044225 389845547 64160069 974028041 738891965 517102287 758246113 720588317 203273199 558473625 369841613 15647699 301895737 37893561 524417891 531149683 341108517 939356625 398197919 920350255 723930215 71366883 348669225 81674271 624392411 191292765 826436691 514965319 108904323 920455191 457531409 371574925 188586123 417982795 679465477 183100611 112638023 497912733 273020531 842571683 300724785 651873567 621443405 875646671 527586795 706148931 591056169 245207247 853802053 383505639 810335303 814311955 580298797 425681745 350715789 230118393 642726337 732160301 188036491 853595581 218883907 454678671 273863545 583662475 421348895 637395191 980644405 334586739 179731433 672763467 475173703 577381487 276659035 184008661 172991455 225517409 928224601 840846667 287174097 450318863 959371759 745182669 874144417 278790703 264112461 116113117 563897971 709691991 749179601 432734569 256107799 823442185 186194431 224844999 451697923 451817391 556808063 368932789 569358425 300921241 654222375 195006293 897722847 303551233 520035315 502015545 645612547 522537481 591040259 332182867 726717917 142727607 358285987 524520191 234260525 388033793 319125577 419131911 359941723 870370237 298868365 982862483 421613427 402131373 805566005 881899837 367486257 391034745 153126697 814924287 770195695 670381493 541395841 739730751 535804087 110208473 473956979 128703691 896307769 238726471 985584997 966358231 601677259 289244741 252453603 579290369 571434861 119454473 93206431 498118479 830625221 903283369 886303091 778518829 281746211 50832423 495509605 304893553 488908415 162765163 850228127 144538713 754614903 795268681 361608819 973032071 577806419 45393273 461560671 725421579 256509699 61029787 93423363 222817883 976618011 371288635 932364077 372679251 899703519 960115399 807912399 257088823 60026675 671438235 548823555 663245749 474177703 155181815 451842831 725439717 926890353 549114883 400759133 247409473 488032627 560803795 611586945 115908013 712264497 520144991 391751989 988645499 607071455 339774343 403146331 733728349 542720335 776167959 22564865 936287089 35625731 609615549 228275545 178470461 824913187 268067093 89650879 550862509 780667003 47104157 635171509 185685781 96963205 137625027 96942823 388729655 474715233 781884115 197369641 766352691 616745939 176881419 411250805 605933209 977800269 258726281 443217389 281287519 124875749 679770713 218544607 111877343 993981529 750492521 240971967 63236833 477124117 416195475 439216165 179842705 771164451 227590555 844849621 52636037 582817853 597456679 652686011 821283515 743142849 582114763 354761195 640997271 797439159 83490301 204161439 859051749 850517453 834317345 576028219 756757981 112581725 619841921 972401993 672270619 778471779 817386827 946223231 78678435 973572233 945650585 750141621 723973605 499480349 666917487 915568879 163698357 578630933 991727283 857615707 281760847 330578963 111139641 572794439 66704217 56952413 521255351 433135413 71336929 678138849 844343249 7974851 137576027 610313015 68023311 780499645 13210277 276084895 309177059 164550425 842325253 806828799 983521191 807658223 925785383 194703081 458578841 743116933 104785697 629989777 295942373 720396099 582587505 410026967 14051229 373476543 614641401 571010373 840297655 626750901 752553993 10878215 146877207 157497605 389145431 866290931 401145989 318362299 55223295 299968653 998335667 199063309 526957445 286409209 590834233 642218835 600531161 158712583 568734105 870831379 302523213 448007215 739570749 534955767 436964769 384048015 886624631 366920145 889237241 460807151 945002877 563435935 992030177 952062911 72373363 524451969 678167889 871196691 655264609 407756229 273248679 591363503 572676409 722153693 572738979 531735541 82907603 223451747 937434999 306968057 460014321 32989981 655175607 89550705 603761469 610726645 123002463 162347961 58038599 963069 685024727 428624093 991569033 838273395 77732841 476256905 578661477 714360505 475394251 711625493 117898019 642993239 81753629 413245057 745294069 526621447 206193633 700082549 747367155 822376605 152527749 395633725 691227167 94090529 313317599 271800787 523755107 710660029 927931693 123927767 853302671 254435781 242901523 637468813 713765469 594612147 926791325 334305767 74204015 822403113 841257539 945516153 479191115 917818613 731807201 513980807 4765799 414493195 960419003 710180085 393457689 812924547 742580609 763323987 373344163 479536545 829280583 472027097 837371439 879994321 31271049 995768165 816169677 826972583 857090605 638379391 938486135 803436253 546681473 341333589 285655053 26515285 96583225 36058305 735692123 389477919 366584179 367259455 445805585 927947369 693618869 550612217 319569863 155896465 646535147 587467965 24390143 108004633 290648939 492544001 944660257 666125231 269613811 546507239 214696833 14273571 465263269 211786803 462279255 895560049 223500819 12427863 445993667 659841725 847899949 157388395 602724049 368355921 359517525 359918635 840927345 806091939 720340045 503863295 893564537 1300299 589815109 545601527 488835503 460266509 799318991 10603213 137869755 506294743 638967531 922504923 859230765 997331897 100618749 292693803 757932925 928292847 814447059 709931117 856571409 603764445 509293985 87651319 175028013 902104079 509620229 379562183 209889799 567033653 168654853 585497223 628753587 989427503 634733581 973203077 104022327 789954299 413075699 942391993 24362107 107129545 652488435 421973697 961681741 816224489 374440627 61547237 181504363 348414169 925817409 650027283 234913907 893051449 458500115 77073893 862791921 182911447 488091651 41551767 399953747 515426469 132486235 125816595 166489845 905642685 655584963 434607335 634619669 407515749 945226067 894397001 721458145 732913927 549360009 922308635 573569381 979913781 67994441 841065441 675005599 940692653 925314527 978618061 452737645 327030607 915481859 438527669 239075481 142795305 584410065 928936217 728516823 353779565 279187405 810139681 290657723 851567223 459673063 629556633 552641483 925005513 208674675 795875323 840048749 734871311 384054573 733783909 141910773 981771291 74238523 746919073 266893721 689390059 561124651 200025113 398370941 12360863 511600369 326111465 507646633 661689221 855578093 268672463 960498447 759739409 640890593 280660529 350454665 929107673 992155643 764044575 481383381 53772453 522096081 561100881 133806753 510712161 655553119 356495139 840586873 546628379 761650701 553545121 266162393 176009491 372238501 659919225 233290019 360170667 147106399 987064063 371494817 961776237 487138007 449952821 972062847 368299277 652353041 636767683 474951901 449916007 545676157 39889399 786089911 367770239 205294829 502802375 907926777 491295357 335116705 954116565 925273205 467761591 724019517 436093285 8091361 762261159 549776079 87614313 943003361 294078961 941135819 49828215 217131517 955394911 586578703 302410959 868709287 148123877 681983457 517497689 26001975 632355745 886529773 313013409 665065455 11753681 746727753 861854945 621022713 693123299 977874289 891810295 914175847 155554923 174397003 924843627 111602735 647385893 985443877 845787757 785507381 977086193 127478197 994109139 326004289 780965083 802898711 524070941 868028163 773623321 40449231 221027185 372608025 900453123 534823115 862301599 162457343 356135455 647439201 311983645 23620129 471794453 308628047 327475213 743779279 61407163 366164921 267213621 134632259 381620493 512799019 83797251 871409567 612542507 965408413 100288401 398334699 958974307 759036779 119221403 268048151 312814373 241455451 606019211 493574399 568812817 169038233 529361773 980968805 481011431 138466745 611197437 167993837 17258897 954389179 222099093 568755757 256520231 905647109 395113537 510911133 971722975 917429857 818695085 121865631 620268065 366982405 351523377 513247867 428347251 734699663 975220429 589427297 618708109 750029829 462399783 173991789 623049801 475925971 858284687 440415135 705375145 805743313 983863037 309551585 556500185 318506295 891843599 869511427 259846699 134011823 572614669 535836863 346236189 68878915 547699431 860753079 485722959 735566187 140027187 234745201 943791503 804444419 12933935 515448675 785736911 384006991 525408709 793782243 615587627 658736639 823213443 353701427 597812965 955564325 563030945 264359547 887954793 255074369 743898365 18886863 922389579 999692599 155084063 161662503 960569413 785867605 128251189 709343587 427533369 493715535 719938839 159643215 460742199 2874179 171480647 242432153 842753645 400963511 520663783 757393117 894432313 892998295 98883787 475897243 508731165 412446521 963541607 912511037 245543877 244674649 582419421 162519569 506434309 480341791 539351537 507024725 591874263 883866133 590555413 250779175 556423519 191952433 294429791 644494227 802067943 193360339 997974671 210622087 358314467 680669117 951027979 423047391 699040751 675079197 809281765 506743899 739832015 213320075 362487761 414059427 111490667 804210687 185602351 634914123 171833561 124751843 849654535 258017993 804308307 548025091 390314247 5197699 992858429 168312211 258578825 534632381 394954019 631253297 746749579 314781099 745588149 432082401 314630323 17818215 420107985 811548435 616189521 192041201 534607995 233318043 614053467 212830513 981823453 195343285 986422131 178454779 932609609 615514119 116763359 999978757 754186811 329180319 378274701 252989939 825905751 174751987 855324949 638922575 217780841 144141277 93855929 774008455 675719265 876245669 796216923 371946997 835253599 773763575 710089615 46869469 969419937 632934633 9401993 513565029 687787159 724985337 514138923 372413345 804589009 470608395 717779449 888807047 105362957 269750635 23722789 168706043 550565675 716123345 849495941 970062533 463817273 15635545 147681689 544178583 343573609 862015111 838884999 112315915 348608021 279291211 936987423 455738271 74771395 121950967 200482521 452662463 12490525 622442827 884005587 78258109 330851317 865496683 944237781 90317263 233281865 348084709 645240911 536746009 577403449 219200941 983691095 179280547 81933587 93326625 345444267 355578207 321292873 829128199 334990261 444967717 145158519 695583627 50525059 295505081 296120415 188447555 31333323 509046209 442584045 139839533 757292783 761095119 682049333 886370731 259910645 854712671 261215855 474465933 141908875 85336269 598464003 521398281 681548555 756586343 778057593 103723193 963367281 435994205 692372613 255227815 535643749 941525447 142899715 632562491 297070905 936995241 852262645 290427469 201566177 82847465 644201863 80682779 712617471 504710745 58340877 690008649 359428567 134567347 74173441 315398629 775719259 959973529 638637319 966606435 883567393 276211091 55443945 961165729 610019689 380531987 88098715 307392995 15322905 608260721 186343481 854889689 499127489 156243695 119940615 636486807 76581273 765565111 23607405 78032025 315309183 11551193 451946241 68559045 327555323 747904335 666671229 470720105 854576701 788041211 810550213 547996475 841640473 394126245 478227171 361163349 199897619 61485053 578491405 491007807 637720655 796030367 806749851 734733031 380986013 156315915 690615313 457003679 953036659 861510059 385129757 894993701 799387891 160385231 309402255 109841313 377234403 938938033 83453027 535882909 709645489 164303731 285478589 590780177 923863157 806935067 380304105 280339801 126189039 910344095 71492695 509512761 402864775 146715093 257743271 766022113 561755977 421310079 545080215 773645541 267078127 184634951 361029143 553146689 586159577 703784893 751499575 500920155 868158731 128961627 798275123 940416769 543154999 53285761 769841265 956502631 669388467 588041595 339769463 139503915 453388671 576382071 653139709 832820563 171607617 694188433 244530141 54603339 749352265 403427785 619714327 272543209 811606927 2981639 328868315 280211305 5358001 307268895 898661241 407438963 835709175 377673417 358151791 210280977 383771729 475723943 685220189 466367931 623361875 184818751 695878673 84562507 180440897 119172357 25028733 39435531 823394815 892095827 160472509 804144291 105313563 251333993 2184467 633606699 412701905 472759921 51373291 221496865 635996413 346199417 649801175 309889385 38763045 445600895 947147669 196190801 333307005 10362209 513186821 392967565 90164951 117528299 155150901 257157435 743116725 88402379 986081113 73332703 301329469 61624221 505656263 724948329 869055809 194728927 987329543 791789101 97798197 534593279 545603013 196538343 607168059 864472395 815783119 811529407 408179479 261452283 872729637 895778367 64709179 611183667 517942505 416301149 841820605 664952317 338457957 156918905 308170075 83042631 360525837 906651733 57376641 252349675 493479037 591274271 480443961 472778157 741942391 67219565 563001403 958620467 900553961 910987581 336025579 732390673 321282273 444526833 696592971 789608383 431170719 361344603 456861195 139331997 581663365 555696301 517523589 814597621 296749087 684031621 204299445 225275385 218455837 706197735 280309317 548414401 38952029 459118659 37113987 851239249 892461795 148069227 628702053 896953231 507306199 511405215 771341965 64508751 846838415 908143749 956137535 614965831 340562309 123117861 703595631 707900443 693044573 472630011 824338863 235763027 397677283 747634655 867728961 486454881 323217159 64981529 780217099 848921247 335161831 4502357 574938271 17309515 48161735 69166505 350164017 802248337 77585423 238230673 221868193 209687171 719180887 804351989 485601145 857743383 199165269 796281631 467011555 78285873 675965935 535203271 486615483 781401753 971216945 951661831 441876095 3142401 4277323 190696041 25419861 246413313 743043485 541182677 614838541 818354717 729268135 604577701 121200415 728880827 230634771 812755345 887329961 464523565 616546489 357498307 821881971 443775917 776829583 344564935 467970285 960675933 108302523 500901777 494886699 403061829 757873289 891704959 803385839 832445527 573601131 567522903 288186017 435479659 696567293 996188997 345609807 627518019 550610689 666563551 214141103 42408073 26396257 787593761 468639523 418007501 197794869 667551857 616614833 136812427 103331251 827088029 318837767 122967327 569109571 140879067 67334269 549081815 191549037 640784069 592952083 35731683 256645861 362754659 880829041 779698267 271937415 801892643 499458275 21752897 879492181 129313495 964848995 468571263 139304571 912568509 949289615 241948389 105087307 801558141 744231857 676255277 1151299 891798307 734928307 19977977 646924037 901628963 287665713 551974097 670009947 707560537 348918377 368577317 671114553 419100943 400841793 954337873 474492603 39361263 43419465 66978965 188933667 576477453 523570105 875062043 951277021 898259433 544215407 757232371 116659325 7722601 401872627 813358103 102397373 873367253 874953843 52995689 908551553 379525609 37339849 185401519 579203795 920122301 319953521 843167 608208103 921632985 568978069 420353743 126704665 608826665 477899267 956950977 495623405 136063235 376825393 820080349 267240203 300407843 521239617 463927927 307393097 623982769 778140663 897307079 52857761 395080247 444901061 739835887 117363255 755312301 901916867 602331381 328742487 465537391 38843821 537123023 328496753 460617793 572915691 87290449 15261219 546883155 985471885 807896129 844829489 625983287 520376651 742041159 447283843 253339629 31555461 775361523 232603439 544263641 108711743 61161919 626564465 797233097 617252139 152134155 470555561 684732145 885138079 982390305 550064995 973709295 574472857 328878901 955082325 747551689 115333315 297646427 380161879 543756009 280191595 317584025 464812911 170806313 602066313 561471959 101986503 734308805 518981051 323608549 588166577 446736991 499971401 69146747 771953577 390446599 394296865 267398461 548974163 164170547 824757469 918360245 231335547 75449789 684385209 552129361 121408275 289017325 718409631 321070701 598395957 110756721 897983261 659380039 715145255 547374171 312041833 867706893 54976083 377373737 391661413 567483085 73731659 418857667 161479829 360998527 576685261 991629685 419786795 795278855 832771769 902766579 384132093 725770543 825228317 258263387 9526667 651252133 541278507 952086833 681521917 146807811 256948031 529592421 982689311 871955149 800930267 970259529 838019435 233348457 27979691 957661087 502738175 801555243 424638337 27729287 489931685 929384009 112846683 498755729 288907719 99353319 72460635 886443953 172467329 116829711 123503307 44480837 334374545 266929327 406270239 686380563 194712925 78197921 676807411 758611527 339351541 354437033 86885129 559125111 284747279 449163373 983323469 814490273 658132749 573108607 22956499 734257961 304633589 215392347 492150229 216830427 652507511 25522783 356228277 111886063 954553063 221694421 694403331 433965567 212831559 608534767 768971117 332604181 197860671 825845957 831092689 950959513 909608733 783677017 967330353 240785765 48816087 697838999 709566393 537482163 551583247 140386891 429847485 371458089 956452105 526797617 279095479 572486099 96802231 881036523 436688203 967685163 657417135 943601409 400504131 15969801 899631153 93756133 569490581 484425395 993701669 851724527 452970585 672361177 504403991 570237283 987464147 161102735 507482433 842218855 502650225 907315539 978966657 173087245 598588867 211805447 307219551 220987215 849553541 839739131 765235979 164358415 80844187 220489189 376091483 206432789 560726033 460042719 451686861 949053203 315170583 354250609 256743819 594010529 504551181 859467913 778938723 616876865 942310513 615397241 455856845 255271005 173649139 113643521 615442151 875856709 145726051 824595011 296949113 573340979 303485373 814533073 231274481 624645449 667975717 476604061 736991337 722925967 932476391 307312133 704686749 160816629 861837685 6890445 915649781 516839769 451738217 486869285 116010371 403637367 359857289 356678049 853853947 829925625 547925183 634359869 720291775 230518389 271523357 850720351 604440787 432602463 879878369 31901909 529092329 689115161 227178347 455576277 53424473 162673135 741993801 833181433 182523165 105952273 541855789 356116553 54583267 330005655 354072305 324482865 612129525 716202883 39308443 971384455 932880973 161869245 193592661 175117449 39705993 422066713 955800435 374650841 303100145 597852239 643168365 787313801 294839413 466171905 826141163 274938633 589554347 916431285 235336885 637653819 52798929 481064417 472935359 925884259 553345745 616597979 31127333 317130027 889442361 221504229 44590889 936329389 65417537 763352359 881509687 927646563 777971911 557236405 174856929 705236275 721614419 974322823 448059621 247155049 99826963 399957887 408616997 610201023 276605151 598871907 163095723 7585613 887401273 65594855 270095531 978556827 248157763 441678757 241844609 569996693 351207889 65298717 91976367 120971919 348934231 239958457 192000227 779520843 336339959 272492233 648079595 418959081 2129781 228769925 982672583 909378041 570705731 344894739 945203865 623757681 296512119 769476471 766434219 306940333 527629777 219852453 872105331 288178545 64088759 641270903 438738569 56934123 594818105 237779117 94358961 878737073 846373903 465247727 926643929 602601665 193833881 901827281 237748753 672546687 307728091 556310219 658048661 761299641 702451077 149706557 936952265 291809443 316645873 676645489 923151415 650578651 515158045 216998553 163954837 103892837 804049583 350580943 829739195 471239601 468092405 943082515 657330861 906901395 650663659 814765645 453788569 270884423 828111917 525831505 830325455 372753267 282075395 107721685 17061579 403373605 938489947 521078909 158206513 243780049 665522637 469999827 445260493 393041239 577222297 812491845 823497361 96172025 62189223 894972717 991692439 788114021 460322181 492456399 165192741 188169649 824471913 292484945 980521891 173113947 115683379 638159047 849849769 21667141 456968813 523072551 746551789 817124545 463484995 320246101 282841687 700261249 675982477 770645785 733644269 62661025 396233163 777031205 403075047 591370155 163517731 734280723 142197919 946736519 70101861 524024417 477099669 501985167 425556489 813015931 89216377 467739517 162391597 395554227 340185373 335721847 852690329 781137471 544504953 6552331 894484413 374197827 891327157 521537069 933202095 647254983 617367065 470406715 696061997 633819325 367193369 145276667 884496033 646357503 782348111 595603865 55668249 318068299 471338625 912626603 65695051 501005133 237571993 53797421 963065497 153538709 244321707 531195015 964325129 592321183 383470833 616322947 952758089 552346057 560368589 756551769 364814003 944082781 195111885 604831139 92993091 92089483 545048229 798757481 465848737 301372785 418682667 712227609 132343839 944491019 473001577 665595525 146028465 40510277 366576261 510429421 622754297 726713327 430266323 852841205 981288763 816921027 679353297 295662249 656278377 119464547 462918689 799000705 819418905 498407511 487710605 318798937 469445771 635513361 175112971 810976887 371430565 64534249 609080499 249057415 174674423 138794529 177315017 741990559 196958137 925309923 181513913 134929979 147159241 366411327 539193367 668358465 545574575 501324847 649107357 704636671 149449883 741827733 601537071 769366827 860231265 628217145 318745049 715840735 195828101 464321995 830108363 566463395 501109291 180522215 649450083 681762915 201308195 161219853 807952933 84507253 751625699 649497511 477278393 441185943 703032205 666399749 920957685 829202413 762172901 12737633 685624531 677976835 626230111 809136861 181217399 229932753 759682317 918494849 785082669 608809907 585599409 574232125 141015143 587616877 980645555 377027565 922120383 597917487 188156191 679637329 831258363 385021067 48561327 776683795 360367363 141371521 217575107 594759619 102303981 94665077 613530463 736729307 582875125 321736501 121582645 60719547 495059323 495401975 663967131 951152303 139602957 202710357 975531409 199010789 812422235 310106967 822917821 69387385 584656453 694509417 585966447 220746603 111543755 888471393 2804895 559969957 186104345 880609403 990777067 618620405 112245377 761161821 142926235 693442073 369948031 367261207 583453599 698347953 404662201 949895961 908222091 28050499 881793783 934179909 750504355 689331525 205834029 926674141 20301003 720988939 634714485 842968465 849061265 493158363 927811349 90066291 298418737 751715037 948452983 820650755 352940679 4513055 362463279 6744357 309122329 292377759 299084277 778215973 463267353 502069563 735278513 156617915 570936415 204319167 149959275 566508805 34791015 394643161 84771159 954307459 92299609 761356837 80338129 592258599 554896391 246534435 960347483 639469893 132425189 714027579 417308833 215755417 228817427 555014593 739477111 882251337 756661851 730459371 685742037 203082723 658010153 342814943 16529891 743696221 260685205 49654177 370737385 736549393 257698397 982217509 630118749 65107911 351770347 566617669 975574741 590630317 372989775 596794815 212814107 389945685 884316219 848593729 848888085 2397117 294690323 947377751 395553241 453976653 254429149 656440191 79511969 174247889 853691977 669130007 359928529 286664571 866360493 881707113 382834931 771336685 482988039 999330983 831514043 264489003 499869697 414976491 730589703 108914335 794616297 25963059 582752469 589979683 711135157 566463595 604500051 19305201 240897799 601843045 493186773 153320367 334280227 889539799 484121557 378505323 883520763 808901221 416851703 62637977 988065831 28713625 295653127 904498457 4643811 92896223 206221047 692801323 383682327 319212951 375353569 423997315 892628565 423837437 153688841 143306287 297439441 747118141 808483549 634559155 50658667 649366889 334660589 543768303 8000941 891933559 867000565 757615157 733601473 625681227 356366555 372097077 945895043 58983085 573858725 902730769 158660209 670172495 520130443 122333003 220267185 421461961 300910053 228523731 707363603 440662175 473064505 110293499 69555727 80931639 46545201 297017219 362012099 898462435 905569695 658492559 758763255 458149853 169290113 508559277 170470425 600493639 355899639 324077521 910102595 618398505 405491023 302409049 265610801 149410677 323752441 730582795 724300109 435845379 585440661 878804241 879934117 138934165 815102691 699495941 686107631 35945429 487988175 422845921 247086221 87350869 435533931 884822797 375575173 420768395 187196917 112684883 726593413 560461273 165096397 887706857 50587621 528238731 876023937 14975343 813338021 50830033 385780931 105854695 303768427 443042243 631865967 622523071 879354249 463565923 331321735 747951821 641247987 110839451 590075703 685739087 123921481 225603643 861269203 945121001 306600661 704693757 680531157 937944999 38689665 527402115 677831135 108547585 336564713 260814677 67112895 36879571 831562571 235212771 139595367 100096867 234928013 822551689 154372851 125044315 881977407 597218695 671015079 640433365 876928921 721252871 669489131 507206987 353744761 839381273 827491667 350099107 224249447 35866295 873234077 186701611 882318993 867686083 609658283 516859799 348285137 279538179 781427591 60992007 993232803 818911533 514839911 105630973 500384817 589883351 399925155 538338407 369523529 17387395 50423999 613774491 265279073 754367131 311105129 632456533 386001563 113005421 400386159 880137405 684008379 85913911 284405203 698923613 240845619 752741145 744110003 107722797 673554715 14114585 279535195 207632775 968045871 358217005 874443839 868827189 23066071 975107115 450227453 859469663 320053539 752317653 166678611 534528671 470383563 623932627 925628721 632730863 754532399 481885625 878365351 768354741 134860627 238102527 387610865 49733053 830543849 185393157 783104115 17770559 139796295 728168727 495251641 698361815 204109931 896032867 176700275 274540427 63223039 260487173 44333441 637659079 586963537 390776315 605620705 362964833 700908633 434987315 9514691 291044501 260881589 536982651 244328567 700446219 516626861 604571019 832635 631001037 697119023 172936201 844526191 254028881 522991573 188926073 254892833 473416567 693656027 337275727 572749185 481247105 224331307 173137381 652538799 380086301 806423377 745021307 434282987 29253985 722512009 479074873 613996961 124723915 852981933 826843187 466939491 770569791 966998345 12202079 856284909 930888457 742938505 152374689 609998373 802691809 827945285 61508547 429361171 347869923 683284989 733546099 197754603 855224469 300210137 258362955 476733447 603627747 667916965 10315215 580360429 899590433 109136603 258258021 932847687 961287695 996132505 401086817 744664297 279339217 874132647 59021049 592348365 176137717 584762229 183694673 543176213 506814577 538072601 489124723 423644175 589904031 377301843 651615821 338121261 605243719 148368009 362694073 5775115 288860309 354375883 490272635 684124523 494484767 37275087 342200377 31728953 930066659 433304311 522062469 715783817 619182659 350477897 889184219 261010069 779432209 718222707 806259609 648540353 315795325 244238543 738650121 312950679 963376425 462068313 343619933 464031179 28285975 729041595 429343405 215911737 200272311 768417859 155276029 97955299 629172699 687006695 860372019 236769015 897378755 816440393 800395297 691268549 664395539 434224301 870325633 510829257 600861401 175485445 999760117 79557799 382101129 665587175 478318597 117076265 479050497 368258451 958537763 915179587 731157383 299115761 240674727 4412689 712943303 104147853 936669397 938325719 474808791 512604577 199463123 805787133 150863155 995205899 946694323 185365273 704700867 447411283 679194735 713550823 508872145 632489385 32809961 405180487 681651219 599842787 546819561 898262853 177726633 691544447 73361185 4726807 929544725 849177511 501983529 170958101 520844869 914615593 586785667 715319493 181243281 149154173 106612377 101736655 824379313 718816193 663965371 150597385 966969551 604431805 299577635 178084463 570318455 165136095 122284275 221906465 30089885 420481855 38182451 668913261 757955743 500041375 371880661 283805635 948915777 429103457 905427377 982937539 912749747 883686809 542873993 934498859 235576713 330334715 374770183 18670571 758310335 535809769 111882939 565591061 66412731 339126119 524912671 67122913 488783179 575563303 252676755 827331253 202726051 899617407 861765987 403859741 952117603 82830703 786876351 195356619 160823949 965053087 394026431 144788891 903535759 310478683 816365925 405847951 3596351 593192861 608164249 373330387 397792217 14395651 599132975 221733561 669894661 815644629 828794847 60350399 18798797 289039363 556152651 981952133 202090665 916053539 97390075 411483609 543998837 495401075 379861599 830041261 547073397 582930909 984234451 992395549 837932633 533543151 237629335 577167723 671352883 910263009 637415381 660723971 784684675 243324049 486988955 450817401 607587629 934967173 626232039 941448583 641277823 410876657 880621465 55162383 837030701 745474727 114246263 385147679 833474901 481128489 521550647 380007147 554683261 359102367 410765933 815251145 801998481 136904407 734211743 872258115 545237479 441655367 452821813 636746751 392535611 852163599 271519103 899648211 414542517 345322233 165237685 940730553 818065375 763144049 310495229 365827029 240663729 309345935 938080091 615534961 265998213 696142611 22886597 812573441 270188323 520339043 259816463 269889825 648095161 89819023 716299519 63476885 783563225 965331535 171132987 131886405 927519619 311214595 447998551 90757447 94655771 68766895 278605515 53673941 48196205 101248515 123738359 307188819 258439601 187591257 708751653 90282829 534529155 910092207 995821961 765962099 914514153 225547945 653053751 390514339 573296207 365891483 905731893 460178657 67543689 343531387 919744873 438024533 267956439 802043111 263504295 115669845 60254943 601096999 263451813 352541533 913339307 129559337 573835529 748934157 106800305 624360069 796133463 205878065 340691663 850184827 382361603 592997567 437619019 7963379 641160293 654738385 858701011 684819323 589792705 703389607 680562297 221521481 681731389 17587377 82367675 488155453 297791469 225742207 576378497 689057505 773695431 404330447 291948565 79853409 217743023 631178625 952273967 41149333 131141487 750686627 508754667 473367549 117842101 235749733 282729165 493611455 926988315 111706407 665101253 385805739 411947811 61813097 310818343 491009337 440362041 861108695 568925101 106247047 780834729 204856387 531655299 671611997 969847471 842715051 144385071 637448491 745171053 317443887 88653997 524050437 268293355 203770653 992046933 730800815 168568859 530443239 431097327 44459405 49107159 100148009 110945191 863793327 953474525 26434213 442133009 222987979 154913497 899019591 854474287 875013187 760626525 409487393 461355873 895289373 183420383 447346033 499884153 755869959 387875523 338386329 375387815 145839193 807117649 807409187 290324621 638194453 144324793 480115395 417522477 18612957 458671385 824839765 232810229 431713541 675716717 977426907 674227389 529165185 535173025 947020673 712894655 236141041 271862661 33829787 407762847 454355615 703966675 234312611 810524015 637210999 949897773 553741629 307189409 893414161 378509595 878852915 877414675 941752749 117861647 673117305 183188747 162181169 547199841 755859755 889523253 16155437 153139027 90295179 862244005 694878169 345975055 548138247 515781083 945114899 993371813 529805103 5599677 838482019 72586511 385698495 386534805 415131897 24936751 326319771 412376857 300535977 851007181 151317709 393524073 228561655 557095833 672376201 752535047 78581767 726456367 225250349 291479521 520058791 431672593 819898423 541578829 951031891 852092323 238670935 998118409 381941799 465890107 159624029 939248183 533098985 803576337 420497221 891859817 164459021 918134855 705925171 808752785 713915813 809439973 594333553 197287435 321399155 372670683 344405621 415706273 291680991 6999557 403269591 548924539 258060533 44510755 237746269 843231795 526560623 435196383 309792753 801910211 929392557 462054857 855985317 210171793 945462195 623709531 983462837 458890091 444366131 903501301 752207493 715533701 597229699 532247011 717348769 47707517 958856099 562716499 679721403 385221977 283945273 5760865 839589037 9353349 270986133 141496589 7429757 750820055 390240175 735362625 153952853 630830477 567263269 250606285 957519751 435352137 845338175 265300329 336599697 563964955 780416237 594039995 6017555 268665465 535997379 688271431 368103387 413956159 193159173 8241027 262557147 307152561 262220181 717401285 16541999 664199805 647604231 802279501 128968985 985802427 93154193 818801481 65642501 12885475 487725073 750010055 287134853 111699679 91887629 906441919 297756247 624474619 974534071 861410071 525709659 372290027 211984359 765082259 287517855 418524365 486382361 259482087 138594645 81706791 972598389 919017133 100316633 919164133 371813069 715586149 686173357 842376795 223070613 161469815 138565501 125453131 701636077 940627511 327650333 705382357 223206815 901692891 453716871 2953 727753237 363947401 387736287 612589661 780756843 135783237 777286255 577289643 820834143 420788995 315692715 561189691 767810135 723350941 146516271 517646905 795025507 385697745 852198845 836483131 382475323 275069261 506596673 989098559 213699645 827305885 510138063 457969065 724943729 805337407 445596321 942255941 892949127 376834193 762114331 932397131 140782803 286377181 624779207 353688919 4376921 386204501 444835931 349501805 972861885 953371155 147826095 14603005 930810189 509222165 744474823 247239899 244046341 180288841 219864017 750880579 335315329 504747899 607703325 283838683 498097159 569376615 152692775 55358897 103611273 932030639 23155347 882802745 605335199 913588189 691071275 75642449 820865413 436023135 755917029 134333503 839722275 214002319 3352025 407401903 428607499 979726511 40396877 956979383 403045233 883947499 446543273 659134165 955253301 697098831 427864963 597411819 617264095 878325463 911604887 667013449 168168863 326095461 385627589 457432741 620822347 172426945 565596443 792225563 175797859 419920797 400035529 312820271 845796109 338120083 554236975 860078801 419141401 439240481 144677579 253893715 97153791 251138995 918673741 128631157 380062429 425301145 614276741 249723739 871628667 266750991 706110065 37510289 350187847 581579313 284846385 937003535 785491803 752924685 423535635 971559475 935217779 637048979 319002761 174881213 457577977 768930715 361080109 365208287 346542843 220511465 852353733 770598957 371289391 613154593 444602171 430939555 241993719 885331675 497001123 496361383 989627225 294400907 826473013 240367625 341467907 473364629 392775513 779065081 502370637 978842687 941681815 183639065 374751287 905572543 842824867 420420459 459252327 124345131 604873047 976749661 664905775 406214789 887038651 777299653 218670211 190398647 453327349 992793057 513252355 325551505 777626201 244685653 191100407 463671759 711636069 193600045 50833743 51549197 318692027 236258785 556890529 503579609 406224677 991030605 245692461 583469219 331136919 861184949 105324249 248858819 239220525 63980489 939770677 64669819 475325737 270983325 972814201 279082739 298723319 595931821 383795075 747199295 607610411 798484703 743345115 442939223 606402431 17587073 990310063 647585053 415292375 515420999 956609753 88306521 166097981 642862671 663344853 290379451 322343909 566177055 999990221 960807647 773784875 312020387 325647501 298774341 383709843 657562161 641411217 352679511 823197637 465476743 42373365 138466917 703665815 80208071 71300479 746917545 885107203 948850307 301021601 625232963 997876525 24052139 110823281 439466815 272571999 312324513 605147823 157364107 110902799 967552551 851753923 391683587 346053589 337628269 596083897 758344039 20547959 451203077 636084811 962068319 360303069 730092527 386512089 187043199 157629981 82158991 104491879 239275071 798291569 515927475 961624231 499405823 282121533 20825999 132802541 57439243 653315597 932249537 529657917 926919057 310428819 884290895 9008955 53964973 765106089 257685157 531697207 632694623 628748885 567492249 647997225 815900815 780763839 627853671 345285551 314119441 9229119 727752117 657464337 201083549 24444747 574891921 633097789 256856787 503849609 712315761 735869645 970371133 110489029 692935983 442634237 473867597 940458993 135800083 985696439 841782109 793376551 677667531 491088263 193107373 623955373 840770665 955495337 207416421 54008557 310195565 365125111 715658137 77038201 947017147 326609917 495670847 410652943 303232159 6107879 752533309 974293391 992994257 916463757 585854039 335137799 86838381 495818863 206986561 857003689 159421431 710339251 856500885 237735121 597892959 889251627 90922705 425370113 670124537 892662859 79744865 915144421 265926273 196000307 177365399 142266959 714713117 970017195 155589547 41973309 197094747 728026403 52240829 442110673 162020655 570930097 76181719 275299669 897794041 885203477 757717483 81556797 851218043 768163765 838542033 506636069 602063587 825728929 585456461 119650255 763904455 624271247 440671237 293935399 703949091 75614945 27356045 108444993 405117279 394303389 977736027 210153813 734664261 618625905 918487763 238140619 292339213 208712375 195649085 721019435 3467859 617628523 702367179 981250091 494128923 139765303 193034901 16635555 126262741 814303593 769790879 26273175 337373779 685747191 425813199 394854451 399390165 596041345 528122871 916734923 883479039 445486673 11790291 236860633 993466847 949038675 164312319 815162369 839012073 898754079 847804681 52395277 537535483 120726773 151402849 97419763 279957595 335663291 101949537 990899147 243458229 653400835 506117191 884200921 228129311 317932033 176791103 405346955 565952277 498939285 969907033 162997361 387478653 145047623 733219215 601178951 762979493 544746567 667571907 55682801 448509507 662116459 546023869 323262585 629750641 639508273 41386287 935896341 616578233 473616835 929689777 357125405 465193987 203984111 396342213 687493399 679784359 525568557 293382357 383076013 700804451 179439259 596249649 845285297 110087003 750675457 962870037 530518815 252311835 905759181 513887389 732129307 684534427 79729687 65114327 271337201 657619255 13235361 43956147 74856467 209732789 152857549 784454665 543040795 556219457 648932271 535436443 979539407 291345263 636231419 460407059 737889561 177650495 783860243 882369281 661221899 811664151 143613947 429838047 230895329 504426945 330691941 954580239 161438209 950017139 682885543 494836439 149727475 49731531 536299969 178336621 128069483 119839951 782689627 13322471 847653443 673944043 1575873 229868871 221364865 350777845 673363181 519943031 157342287 582137131 813009021 763212359 973640703 210899505 827030201 471139697 697754895 280679699 775734673 145576597 796914977 911328329 742983067 843307071 398427391 234937263 312982805 169549021 979278749 605796233 546213609 245980107 463931669 315621255 257507749 113706057 775214509 71819707 618731137 229878913 698798289 533880741 830033499 941956739 958220303 70240553 564645049 813613383 62859815 588629397 718407375 48104883 973200891 90661533 332408943 745844619 446589845 945234271 27952411 850925189 526415145 659015009 837380347 877756727 562621971 76976527 258957789 666089505 840819157 178831167 584505911 716068529 815256347 202982701 102885929 387422261 470595769 53250689 330900093 885502695 329799337 402659269 927925151 497212135 117306639 72100335 112157863 191889727 730820405 536732511 511906901 783528675 696945297 89474263 167475215 553544615 542998459 656630917 499802853 57974609 391662967 294237953 585199759 99216521 236570033 762041923 692115563 553083357 394063485 850089141 126444675 686960843 538879767 945642531 528136833 509514417 805115613 680035521 993810625 784621019 611042401 741771821 941452095 687906935 540660305 789508203 829355685 602631071 436368013 9731307 678404929 957931095 790676243 313386881 951991819 977158789 555968787 470629225 884223905 723849213 444315101 309366857 719194953 550863223 79632365 636745519 986922999 866332563 190563303 478693265 436635965 934293467 967562135 839255625 615625821 922807233 776831727 587533471 765658943 699475871 339701513 870006079 984101743 80633779 304386859 180078399 581009193 883929385 772627901 490050845 300545607 505323795 999510359 569651645 752394581 905745255 21396911 994041707 781119615 128868873 572509355 709192927 1114781 780091331 385406807 557399093 15070765 768073027 516098789 795376625 603940955 951742499 995995567 610821635 758498801 92966375 431177275 592809149 470281833 829280501 335569459 66351583 198048993 371543455 164446059 770095501 432334113 315012897 892247259 524187989 484444825 11347609 5024171 749024043 865075037 643788817 114140707 803871341 727414577 162794875 76984503 8660705 701740665 8530351 299319041 991409075 821123909 988668271 675758279 182570105 48476747 649295461 556339443 384242225 907829229 722196003 119148185 695671869 196220209 39810335 99065843 461119853 453510853 895748029 83294051 130444535 416379905 700318533 539638903 280220533 159642087 968005865 37395169 186827761 534544921 60689601 274077053 56197331 533872107 140281551 533637965 4843251 888709457 627249149 216967807 932984463 840322539 271577371 84512097 647471179 914514435 628113893 719406963 897974325 775045509 876219895 824155223 696571585 969132809 92782047 325897943 878153165 460462797 715995661 943569895 662633373 549820349 927077849 462565795 750259681 534600291 99813509 28486735 968684205 390991353 80442427 767512403 347380605 399254877 427272459 931216965 554355767 403921431 738809327 268371935 427256361 119722837 944204233 171826437 334118665 958350577 581930081 825319361 107177457 963322985 460815209 630052937 630109289 815300577 135328121 661989877 69931359 122146605 500940563 768908873 740909605 483990723 814131105 485677043 685054841 998019265 906295411 525305283 906520195 461021677 145859 732719029 499945421 784900795 610732977 449063917 287380047 515463229 820841289 180469175 751204965 60571445 889454457 327545475 857584339 492191497 260277277 111946993 707494857 857370315 221534453 790431679 933820379 396083759 967795371 137760477 817326341 875982999 765195215 205429851 956637101 157113863 51959259 376902519 137077153 84159537 513665583 661936529 398674709 540357483 946275607 267056439 773424039 694673333 72931011 764732185 513409885 694341045 360572489 2487063 481082787 292846523 154198703 154897201 107917903 541771967 978550237 862889105 506420381 291721567 296368547 919325327 812198453 698890979 467390651 106794913 569022497 79389753 198769605 491826287 897435609 570337531 192003149 811643071 573999159 911801447 174314945 715437193 268845189 921393249 731064957 642283239 512058219 811014781 389883071 44623131 201873921 48711921 757027253 546530193 365187781 170619801 87404141 482022107 487805595 135473409 834273505 466758327 966383057 194501973 176186609 169937159 46819099 599996783 280087399 986934485 376425111 784203723 73287925 130576725 485646537 537131409 77319477 534650083 172549537 374074771 856752551 467586561 334289267 93361989 72013491 786064987 356431867 37783495 518493357 801808835 897207137 429080291 134232269 821372215 740620079 474184707 464404019 499421657 603181915 920939843 824218857 190839283 345408325 385910369 482108129 904348153 7415983 773253059 958246133 985906055 592443079 502840185 626431461 374447713 102883619 722360379 596440409 422195567 842118849 336915559 341181155 187535303 175836419 21357317 186820351 56031139 1339067 997543621 293895179 118866791 424413979 142611707 511890257 588420253 569180865 89902763 111014915 607280377 446606513 878100857 400801339 654721879 508389211 554191539 20177399 383934651 448631697 465682517 499356197 354774861 601224083 162270203 25146257 525485923 11499525 882959851 477848057 745734775 302248181 208274967 31917819 245135405 737495769 530688791 947034401 492051793 391627659 878570791 353927389 342801107 166903123 840265007 942829959 234910931 680416733 504997825 516223075 767312271 362005823 616286225 975169943 165479031 139264757 326244607 408367413 976547099 978075879 681865747 393525305 485671479 734804575 538300029 767775103 318566063 288563989 76997139 691494103 445991055 144203299 158513749 833788395 168750601 651568403 946141545 688845147 639901303 762027213 355211551 578439587 726312287 538004139 795954671 584339503 132820331 888140645 43131383 691965007 422440813 717350437 221935615 378401855 661106017 544279927 767177333 194199579 313773421 949119055 260019315 19056369 534232791 535298827 111048885 528454577 495681815 123072625 455333029 709596211 784054983 953918125 471598929 928554555 236009641 785032277 84311151 521406063 243796649 504503653 427863905 331726689 635334873 781308483 931800107 549449355 508602999 285784253 915984513 135374671 543629027 596730633 775275189 925908981 803730603 434610881 858950857 526035629 137472641 112396781 316100451 680870547 713800257 765623291 874230485 838220457 283588589 396395709 974526483 198815955 291132081 347996529 775728573 524354793 629447649 331599807 453163291 345407391 113985525 136945331 576604445 858584983 452429717 930353089 782096729 16342109 224563849 431214533 3741967 50480993 927771845 740012553 153187877 912159995 133766501 330585911 218347563 91470701 502111147 289821283 840983897 161242081 273016325 551551501 363608973 865783143 404642561 317471003 937770319 709711865 894787167 246739413 886060237 369916279 901359105 252502263 397787361 810565805 262902001 929469081 615575047 206643273 124324453 333387075 782316905 494944231 235417781 576626401 110091731 715204871 217363557 971009481 67055809 801073171 760592673 239306679 442262349 848587611 977458365 660610259 570320707 838369817 389102643 907465383 185413647 916938093 746522791 733800235 493392841 351126371 350653029 35815867 628931121 957663209 944077277 540144155 6091695 872202715 193948845 679946107 938628175 442088441 821302425 601740653 562745035 54589419 299822729 687282929 932122497 661895493 293409683 803981163 460508539 775965823 795279347 752945065 553908579 886388729 417870857 95736031 76043413 863549695 948946273 274744747 402235919 967674559 195575217 652108049 832019831 496179541 856213457 436552577 43019293 882116801 1782983 703104975 699654649 884242923 126662333 399707705 368261801 86811047 568666629 249493345 118621301 682056109 122631707 550558039 87930187 354172317 679227557 43916433 257681349 199726081 65982569 855531241 783945247 260389197 646248031 191794855 984881475 727507669 86989985 627659639 864035261 314239967 983450481 534258033 352286409 626258065 548725305 650518541 438300481 298450175 291846289 422272821 258089137 636282913 691968815 789306421 686432837 962842839 941753595 560962241 855548885 757988587 682380797 179095031 163567329 21750799 573466217 924919643 947006351 214575837 179399065 419464157 269808561 288192979 608612627 374422223 720306107 443673183 730987393 400905971 793926605 948147661 6771127 210457961 78276783 506753627 915407277 243778753 368175825 594230823 68277643 411174383 460331849 799968315 59920025 664545617 105707221 638459273 863354955 536378797 551983327 420863977 211773 478148911 839311989 926489375 847491121 733823597 441257295 902011857 919556371 119214949 850014923 908252307 753564663 311837819 789522161 452656347 135548951 379332987 387650927 875138573 605418199 183032989 688959647 97062001 984004289 593803643 380888189 140535353 120771209 885891103 629935027 273670269 217385483 749598705 236214925 25807937 959547209 485062859 262196231 194253675 985129329 19062247 37225659 554404301 881535953 770635499 345157621 915268643 6391529 57652963 452902049 239831307 226938715 762850121 600436823 69543439 913623795 172242677 30749783 710513311 516833185 168473389 115846791 755598617 679468163 567490721 624028793 370149305 554503901 661861477 953222753 386893227 615749399 10018037 919923231 927308287 179625927 3572025 277197883 348644017 123398311 662646139 529916133 626764701 967994779 937964659 319544563 513484177 125290927 669784123 400994531 354076477 612348947 35401563 144070623 129395257 451214631 449848257 120416437 9966599 580714857 123127743 897774813 181505809 283266185 173719317 428574069 768864169 340716631 399914469 946880581 991587589 74796495 383884225 603062971 640492103 57466391 540782747 593377519 165880699 731334005 442375121 582274723 730711697 312025185 462112551 854155321 518273121 692547189 406313933 757970373 227634093 200292209 40166231 197191675 624211487 484294213 315649217 178622781 732141895 781428225 45041009 230611087 158151071 667606755 423841333 277641379 517752201 80789835 979670083 393957071 826577483 314351815 135460917 394050067 65704219 409497865 768861971 377783829 305479695 835764461 728678217 784879143 385424169 243893107 770739117 420676669 966656851 436425931 862478973 732128759 695910237 735526727 589849179 542432157 458837761 963878495 131591513 59725599 359904223 474527163 317602279 334950163 441026179 804802083 131478503 118935479 448097115 282105995 699508637 725056501 392272323 162003215 894999731 401534555 680980731 808336881 48914755 730061345 713241901 639764637 712095431 827151397 387689577 974304935 497978149 38488045 933203881 264472775 299537833 80453805 490654669 478315493 108568589 584931895 961886369 436917769 875958633 903536653 3895763 653180775 932690755 478854743 714977791 791665499 610530955 211828449 265543589 740630377 875079317 480025127 955431981 713842745 81853983 789129795 746482411 741209249 981494347 379171841 197873687 824723099 557432233 124590029 555050449 208207945 727506735 664043711 42807589 535030011 815537977 812485015 624293633 470588447 139522187 632035259 497829697 28558931 562982739 201119291 909043619 933973593 547004455 41247951 877251797 998318623 98283781 490907861 36344675 819908533 798884433 244238933 61508811 799054423 68006873 26087679 290283627 731252585 448953297 986354473 818689679 440245621 781300695 720679121 818302309 416847665 4250095 114862241 766128137 439814773 561978761 594581735 959546233 685255495 662563449 582624411 478574499 138610383 324766203 682773595 718597715 70905955 972595125 613473645 823453767 567666815 932157109 144993477 383325213 237362115 843255919 866513909 971253599 326896123 169037251 866875967 131215231 476135709 984590323 527647627 500548311 912592449 595931565 9904485 416286629 407150253 987767303 463262729 511769367 98783435 13477247 862993233 235787321 409229613 744919799 395394505 166215945 28842383 564885697 604230043 201678693 862608343 387918735 253146021 497251351 466978059 532581245 536824415 417578961 448305763 219680533 269281015 291005483 712909369 20586047 611226167 190724777 7588623 581223253 506104729 875378609 607366289 929539601 509321787 24600981 859563665 197009561 884777445 65133969 116661261 189976699 926168071 211709635 292245541 193426859 466142389 656545077 870632743 272662407 835002291 469652185 613534597 481447893 272882533 949230727 612571 295321025 983435227 790603521 313531115 359672033 27173835 581778417 748122273 195024945 766655383 177197289 6381839 723279129 361235013 112011359 515424371 964655203 828330115 807927991 125737775 593503559 277743529 798443833 837135053 12097631 807941303 159596823 4980481 822239923 12590421 234051177 959623847 293435057 957380817 886514993 147940545 465580331 52842785 787217497 6963067 894960225 31367653 858163379 806831913 362094839 28220263 874014197 133067589 656255737 153423761 913312195 527983985 241836255 250929921 98900131 566134397 912855173 878201327 977558795 57480535 376449073 996079945 433839697 274634781 806126479 232000921 980895671 451943697 571468469 285816857 651911527 662650273 627868959 918247335 322570099 131247451 79148211 421460939 905768145 868924159 456232639 390547379 387362915 393387887 621880567 680685369 989719029 11142327 81371771 125588953 346815799 476168455 678531277 575531453 620239553 377956285 514129115 520107699 833887509 346740829 355956731 172658483 991029661 84993423 82538731 353428827 934027177 688736809 427756239 247660017 689523 6685735 695992371 17413991 177197851 137788329 984805391 123420373 284731821 846611963 257405631 392406775 587873817 317212819 914747143 370508597 992618039 997628937 92790039 892117665 377592265 473025827 212133249 223483631 702748023 2921929 350566469 211717505 203826645 583645203 142884295 302411355 121741915 490758967 21880277 452710703 644265067 995083931 497433251 795615315 116712011 674251467 958143953 492369351 946179121 705804409 739849569 724325937 511730483 66509695 651897537 909786593 238336081 700957155 387962821 135838671 200203129 524285135 791449007 191374489 106358905 423138197 822534687 279661447 153210891 750380211 750036519 515814279 916395215 445525193 790320951 545209907 155701841 210023845 505706033 789182663 696032767 947020601 439333975 240518957 952487477 736799903 681090649 871410931 177593651 814253341 158947145 854074449 999213601 184891165 615375783 430353699 230960659 894752051 159905879 658611701 451521281 246219545 804274085 621397235 184388811 714183857 527815753 381026551 367297083 229250825 994394207 623605885 807326213 555349331 486690925 209972909 898595261 660920811 879551583 35053657 523874537 206338899 647959179 415712501 631714287 265667895 168660653 958970785 85280547 991468907 184589547 405613605 266512317 973033705 666894547 807102449 264063709 509894355 64589915 80521499 767568525 953682809 776464093 290933091 69656767 371578697 536950305 844893999 294879309 45205473 582895957 142143631 174343159 374294787 115395083 30132795 119886181 843827099 275175233 959414417 978654251 60822717 916845663 757404313 512175295 198189731 157785137 719928579 23622533 580962737 455001065 83733795 322939335 257812337 956932649 300236285 309833907 217519513 100538357 85877555 174339171 112768769 811898295 703966233 807672027 788848301 2292297 443459237 584079105 840665291 405176293 317831283 465288103 531305387 647076145 975454159 498578057 252640969 636518971 382695077 704340805 696354761 721536887 857902479 296279141 615752565 674491077 201216713 435541595 618779843 378928229 197742907 906198655 726045643 457135625 752446325 805208597 734236883 868542917 518578353 893798211 19388227 192708375 461721545 36601883 898207921 560861153 39711303 253373337 810296281 461764981 201515867 727873691 342110107 952779139 272008923 964786923 816144899 842459437 593050695 41821755 180202311 309398517 436783557 465580835 377218239 901697227 438175525 801591333 89594353 156726529 29403871 826397355 915420039 685771607 803569937 464996359 820928083 408297201 220954755 80766575 119187539 522113117 771428259 28107271 340666791 380816015 513939339 697612247 990377885 160339429 40731895 167300815 960950695 807736611 934037841 762898637 34925151 544478329 751069095 959629709 710547595 109235323 211656623 88967099 505502741 216550181 668619467 766443495 642393871 88094943 666085119 576625547 269675703 563816819 963432445 428198921 508111471 362601751 710286365 403490729 716472001 866819435 395453787 957912731 207560289 466196593 655112799 900592125 832189737 761539991 46977915 688739019 667982623 973185715 296806819 585481969 83778413 607278339 837031287 573492799 371892071 767921195 788483135 74743663 547360647 365779767 651441899 532237089 132798575 504683423 716982033 295941345 229293037 748314687 688976369 964858399 560318453 64675421 741721969 653149491 823638431 869594275 139246881 658610783 480785455 467426859 742279481 390486733 104732689 932014959 603325847 939080589 285832153 539912021 496574657 682150553 399675713 824164395 887926507 892286417 823632939 324873381 9346791 174857729 471984551 894097635 425657145 897819607 124965091 547956071 622139653 25455855 44330557 978910239 367059737 350716105 264229943 197447521 85971185 294641615 968898687 974681321 307379623 639008337 341728485 118011615 921952007 309284745 920464997 328336077 623950461 238697623 438805539 457429163 639653921 60038023 856064617 814179283 317149619 842465351 750488493 138868751 594098075 951847347 33767815 995963015 94937573 170504843 53096891 272127701 795628875 149310073 753095991 337636339 344777259 884486411 808203019 234050375 987476367 89143487 264919923 175083933 219214881 709530101 332091091 344852013 361274685 321258483 836515511 393622419 801617889 983539693 730811599 113689301 762284979 833371645 409343483 105438303 40518659 747624483 431542587 278454023 675024585 400940871 288708281 330867977 916841379 747242045 847673547 37722893 96235225 870860477 404403949 775858973 786407001 770212455 684736703 53202351 62585531 753769415 97896207 262594723 441559617 654549323 581256911 75855931 273552845 239854669 438553625 255249445 145845747 340693009 972822323 509294199 922442217 788481725 870834055 562936495 250979979 229676133 208733863 379961521 650555749 830775297 92159825 299953097 431882659 311297649 528475749 602921903 602790173 37093759 141482481 918500735 822072659 768277725 470872615 561774271 164925547 444148517 908919907 35669593 304048183 905196245 591648295 566323623 165950763 694879579 606811679 955808099 541748583 890041347 418977565 113498291 490565043 211270411 177942815 39630885 735582847 390379665 439280197 34546351 336205025 411620767 670562269 886039723 747720599 997252903 619845467 474202337 476177931 94072067 496230741 415633277 591605579 689293041 13151893 189784853 712923407 644424093 316402433 757914023 680679093 504658841 263132333 328036757 820256325 405170779 474311895 268441777 257176429 438302535 571537633 589784363 926993031 57838757 996468565 132798629 351681935 464583847 931009767 778433825 929136431 519475303 820358515 133124623 103483827 672614115 155367677 670381889 975175191 7073799 167751341 621361655 577281269 681933221 130764761 777343445 400789913 434258547 428876027 912750569 800843503 501520661 778706615 218309031 774920335 759991059 938494167 953924589 501723577 734283231 265517905 134865921 242103379 982064081 774336829 219709071 787383791 279558955 379162591 127381677 568739009 442459927 649872805 340495575 687914153 443228839 302495007 287376373 173173295 251818449 923420681 558905425 275131267 828247161 538152519 207178913 278432121 648059749 124483299 741431045 201923733 401800523 708585747 216130559 335827451 182534593 841387311 831113085 907088507 760855115 287697853 855118295 288886669 786207055 528298597 392513733 469342287 969439519 576986879 443698801 942967943 454361333 934990977 838219879 696527785 421463539 655712273 837372571 974279 941874719 442404347 68940395 185427107 225049967 961767599 69414811 710305445 702317753 402021325 982638427 847473115 526028479 200529173 187129151 268031739 104959787 746148209 134295619 134790759 159889293 448708601 255679437 333468963 360885855 14443747 582996651 88481761 194801667 326097559 914680849 834653175 40785345 232487579 167529119 806686309 344929481 998566055 721915223 800495825 277504823 132407189 819046055 828249229 412258059 770186855 292775781 663314829 238915375 161631049 663592909 178916721 59214963 483638413 818030727 978118785 965961361 548628401 969263005 506064557 684334377 867585621 405153159 256048265 528091847 137700167 765211169 166912089 634494427 809532793 946311087 51508993 542203323 632046343 499713505 347998481 301269421 375822899 352916681 175482817 840900057 247272041 616955367 933794285 487682127 697982781 74425119 15419681 809881609 647766377 975293375 564088459 745303015 825837007 507722619 59605503 392384437 495954047 620022641 183171327 32181025 464931239 974672679 857342899 144569031 441313957 600186249 88949223 126092583 443317499 427056109 231779863 146972585 439323989 738347791 534077533 225821089 792289415 716142103 551594885 500593991 998804619 84153231 583511035 474790587 66199429 167022703 514033879 762614537 691024575 918426385 196205273 888854815 470860205 661949501 522481511 196700889 487140587 455602209 390248849 76652021 844951357 156574031 28483855 123954465 336549515 38939591 562476351 717045483 851627243 708575725 895178793 903540427 82407319 901002637 407876477 638201893 676568051 817287391 706721681 135459139 993100427 231399807 847607907 783402067 323322383 313470323 692036253 231004785 624210013 711986215 663109261 198584475 700992889 473981295 323932971 873382591 636555405 635081867 464148757 759995049 180797163 510456097 339365265 344786711 255267599 286793787 109528467 280400039 712001437 555630415 337382061 643087075 341743201 11368251 777135137 216578877 22241611 846306117 495338967 423792143 888721275 391276571 533579611 577740697 741093935 155519183 778423017 288520963 80277463 689951199 24357979 703447391 112078595 136064563 246854715 110625449 959299441 364551701 116700857 183199935 496484097 45613629 623165099 891546219 275928257 817652935 204296849 87952479 715909603 106401335 314733459 727612979 719899329 532110461 818387581 550026091 102864353 988681707 501087433 354646637 983387373 888775745 531580309 356806541 110687671 309065125 231104681 468710913 220927293 264094623 61323123 666649837 277164191 360913963 735577613 797376089 345215531 304810145 450934837 812753463 696483923 692174025 986408017 996325727 704275635 943313871 277847663 394496661 345579789 79555911 285240651 20307327 22883917 120156723 994839873 265467823 884135303 383127027 833236825 811823519 923542771 927357273 662977089 966959025 317008121 636720021 531751249 704393005 43690273 725589833 553828233 864207173 332757791 868494199 682778769 497369617 614317007 686793357 331380149 693830035 817602611 864575843 678915313 305687733 148439159 424624689 506886623 403160649 6204655 963948449 521293003 794721797 284818709 943489471 837911967 776569741 988342413 866971903 192319735 52483945 217233953 932212543 858686737 81418249 666755781 32670917 663205587 477025993 447054485 800899899 149069519 97949419 649888725 761650875 29173305 463077525 228284397 364424383 372040177 743786969 337845875 583732527 618426751 389303217 579282465 255650645 114808849 762790141 306587099 183081703 434167681 114452361 148095403 619005701 551415627 54695685 615863751 359070513 864689049 173134345 210540423 531148889 28533305 553714455 305402991 760691155 710536611 428138393 981644589 10347613 789942259 896524511 739757201 149367065 83126261 903964451 516213911 682797209 32118805 788179077 661046627 921420751 26565485 772378641 904922177 711770391 864019129 410574519 839671969 630867259 902983521 128181839 231837475 365120611 268334711 389119643 619940485 44609833 463646639 207555651 714115255 923428231 911097961 707791323 713200073 108306403 264449199 394600667 120999671 829209099 883439661 167969445 872300455 563390003 844249915 368057727 713880159 880665081 343768535 647257503 902053847 749981539 342719661 436115483 144433129 823876061 301717511 32616437 852872853 359928125 389598943 310991637 998812427 931779777 413061587 64167759 654313115 28418571 463212587 295875931 176295875 695768107 894933717 782886361 330934051 781819031 165413227 306402901 800978057 770791467 929212713 201491005 178060263 565817899 711455225 710756333 986233433 415516997 600144745 26783653 338105121 917950097 650466225 328882317 13734571 560632455 406234797 865262521 772437897 871433745 639913193 304665377 578837881 258984827 292166289 513427109 554485851 642246009 782023293 626598161 963257149 536166441 760191791 201778963 506516819 405404177 936729033 934596677 576841971 327185693 178822429 759700011 444443813 606586785 152983717 274899757 602851861 831146335 306526075 728105881 366408465 183814263 82596713 846519469 673036441 822841977 926752735 603963783 867911119 46444377 68854515 686842417 527720189 596977783 104104549 856720543 904998551 762311573 459527835 849330085 594465337 819703777 520439205 866704393 446474149 809303281 790805051 314379121 900903881 660322243 205441211 819310449 942947251 699815355 256370733 22370943 398679459 286284709 492052801 228690687 299179003 827023545 544811851 313386043 438027847 825868179 905599823 768032609 114860599 497181495 65455343 921253003 766410409 376951829 488630143 360670653 555456161 186676481 185427189 614488029 277884487 407643191 89543405 547413951 370324977 372686941 980755379 275069209 782421785 856927617 282372403 964180879 639675747 459428375 90817541 847138729 799462299 234662909 42456169 228509145 535246001 777930105 894532423 633266039 911613123 251138615 672944939 507098055 197141 678223949 469291857 273610991 481471505 946260281 51762835 637286657 700282953 119326941 169855099 564158201 457275769 758736521 695206457 854002613 11076741 136338931 702167459 32383743 184656761 830154295 435081785 514842761 677738117 286300377 361857057 1046251 193513225 425398983 863007531 873045671 276980869 262873433 269844431 432728359 22590371 521170761 532832299 32469437 489511739 848470461 349246727 463564447 833526595 583871809 242612433 193699825 784157153 850571469 695254691 471325883 223748193 842562237 202978105 906298863 360690741 101714391 502154749 613763941 763680761 916816455 261816829 190172383 11406959 178937507 567950575 353656583 167213441 268745959 819145269 837913709 881895751 285796217 375062995 236958859 896620793 320944681 15176571 224507075 996808185 268520743 139351429 745127261 975496917 639445525 805253101 777467019 152717375 757194997 505361243 350325093 72817683 335868213 500751905 766422253 777166419 525802155 453884211 551515405 222507563 464773781 364644657 985210773 660631789 595062935 123837283 864029503 159935767 828602813 209244857 108475053 592534859 844074367 195000009 368898917 68210003 93980345 175109331 895333085 30426403 402503343 182915261 851241835 584912343 864973329 593437719 627462481 260379825 634531827 416897815 340273081 218871325 184691921 661356959 241609139 660085935 781099921 928051253 607249209 133056033 510960769 793621257 842105899 578149975 789696597 797079279 251386709 912967259 151183659 79390315 925108583 827935585 949551497 233981087 223711737 487143365 395821915 630175839 119401101 135612427 869628151 80122145 438543755 414228443 60224539 940333057 887294279 847150859 888827625 447974091 297583353 303781525 743871219 296233707 269755329 233033117 313859625 649407609 458043307 541158511 313683437 238005557 194607781 376975227 486824449 392054151 474324363 66271327 745032085 701684091 739575581 540861663 627846203 290066379 373540101 88769507 412945651 210001109 155559635 224508545 510802209 427784611 300159743 544913653 228893587 440706271 880663535 175559071 100721533 269672933 494744807 941226507 298320253 758792115 690595613 165510639 643825817 199777775 353958565 848808995 186481469 862887401 178574725 505230253 281545791 231457177 956090533 567764663 537585627 218316957 367466195 651665299 633410231 316126011 761699789 158641085 169168097 853459303 699727665 373173977 715376335 534806451 398700427 174602163 454752859 858037347 605018953 577261373 906083789 184787545 898942919 623699857 663951571 838511657 173002819 171741941 377577855 306743559 746969323 774946003 635524433 313373141 573858251 736164031 524352557 812232729 894988257 302639473 755051871 899464449 395182091 460108241 787058335 723787365 62220307 561817061 428085001 16942533 858024363 903149541 540292641 698680135 57807213 74781483 712436439 85403325 466161113 536551225 439930495 811631771 579228247 999248571 331306965 711948033 829840955 468724867 830123519 687442615 957831611 633078927 667830667 367661 850571003 264197377 821444973 576748665 533620483 308807459 959184901 238740569 707454149 167741033 366698517 448696119 243606043 635645295 74827211 48893985 570433731 660595959 387648445 715174095 406240617 753704173 423254503 952174751 45904031 770669413 212210353 19787161 405860315 312858521 527965669 279211883 300780161 197784811 345584571 464311407 121070297 524320747 18867663 351002785 79944469 110567751 507384357 57403563 146564687 458975453 58274349 374863065 288664965 240101039 210949561 922225703 83467939 734989289 310489097 482664751 662188923 439710687 355081409 676853565 541874883 403329291 395792623 609199933 703939359 883071505 860017159 596433607 125538327 304486587 554875111 236530459 440743709 264740607 216782549 325907999 640115849 371711989 674529405 103724899 266549917 387077347 925739251 535901471 366247043 232202289 645016249 532154675 612317005 359614581 92904111 401519139 638522097 731823465 221893925 398235169 659308371 931995889 493183697 355663361 549637435 310919193 808939981 967842887 206151001 138341905 299460259 353344535 102139723 395160377 656769851 908717633 613427853 649942031 399470061 490934333 302579595 604930627 736773751 32492841 704195733 494191525 567276285 761231051 489112293 645241137 138689803 557231255 817456029 505306123 974635161 291741855 874872517 695620223 682939139 100446373 840518221 110156543 123513871 18233617 700940049 941514021 924415209 383281137 986480593 395115191 358995749 684464635 209830967 412742815 946279363 366543761 715514323 296140783 162911785 356370359 279011103 277369061 797218593 75544863 888524413 347624417 46307809 396729631 731321653 828824177 454860039 334879415 861635703 383880775 155846041 819575181 986731615 110680125 576738307 821078771 918952173 216617305 204380443 759141597 687580427 43886021 520833311 569572587 335245705 963139029 86600371 449844581 935499297 740884225 421619171 69738555 193113205 999718641 559249191 10118657 580254987 843961965 27462235 309538043 326711385 803400297 3911619 678778893 386724277 419497217 514687757 137611719 625949281 818109559 595524177 374617951 75800709 695034935 366217993 840040887 186839605 465858003 983206171 743410773 540897385 904154121 826224085 936897639 699782657 792628155 375411947 142160327 496520393 174473971 10007419 583295473 5575279 854313445 66361099 187811087 858987919 528827373 72635527 914462957 541768873 110954637 738414917 71991815 704816933 277500019 992241665 858482807 352746583 13161069 493539297 858412297 892420727 347018875 996711797 535060521 666316197 289780927 240208813 911672559 872250605 220515971 721661675 491592217 920885565 403894077 930625009 174903571 745149553 99303301 524482285 263672039 736721481 869073439 660217463 352494415 296246637 119465721 755993735 890360745 54710385 451909667 729649031 243769341 774598859 134578905 810726211 135578107 536518113 531516543 447197679 926607353 888599543 404291487 370866985 143231477 338451265 69265647 753309941 880397977 555038425 991750727 121570499 602618931 244463551 455217067 115586151 273459131 182832603 432007241 266542877 494805965 770351871 609530225 964362891 353329589 198556135 502729631 879351231 514940511 132246833 787852663 920631855 83721573 266763879 959387333 517897909 749799427 516546301 396668283 30459033 82263075 139070279 433584819 500260999 805834577 126882187 326080435 52786069 667714503 6743791 750119141 77421633 624461669 122569349 756198107 477481327 875320495 405070921 953410897 154138475 756506071 751170073 930424877 799692013 928056243 682479807 51496053 437114897 823418051 49945325 523093857 186168667 114045485 744027197 695575371 150999739 913607363 33749037 28821685 449477763 597960697 282308905 249876297 913580659 387563247 155790723 977530591 772873903 741881197 654626929 329118829 149408453 790670049 926757143 887892251 181499049 773181797 368188797 341455153 985686457 613732023 455318933 112419107 433227195 558346043 813653047 560742027 284161499 640519429 817488423 675162415 157890479 778007243 972574987 218701305 891430451 477393643 186209909 984458749 694034127 935511659 209384159 329383797 583654989 339073535 95767723 517433539 62959077 160093433 473307425 775469941 558789681 137842779 387852659 218885439 281278523 654634957 276754873 201189623 748345963 704113819 930686967 719761319 701442969 894594753 12877075 642772853 246239235 563462105 798753759 77980341 464319053 119552557 273860629 454502117 37787269 423758765 181387607 818793383 957246751 108236527 530825773 196354501 827552249 614282803 275731207 22274613 579455319 363629663 876242755 696092431 529570537 796835845 171641885 201992855 510668483 261841495 37139905 176849465 204486753 340132923 54931519 767999369 71864233 174386995 586151569 800411969 865007081 940476527 377321881 927520837 174300375 305041865 124863261 906570913 714453901 556214461 456304339 822168709 90819987 256590709 196021585 688609103 147683797 441370047 544388377 806969475 808439211 210229779 461256085 623224009 468128205 999144589 440712725 588335863 67576677 849008633 398662355 645699335 663156477 239256771 153046513 147021087 596086157 64377349 496197749 617233029 520245617 4446843 881099093 241318065 878785901 297051021 112660583 464562747 433068977 353333325 781851501 966615017 626858193 281898095 280803089 139543459 108923593 838047059 36100067 146719103 21465087 216770307 671312731 995189433 344263233 18290475 777579231 474489009 668770243 108143139 24814261 870440437 229850659 668836329 42877709 692344119 178919271 740387625 811121923 49547345 77938427 957074477 465308567 287337801 801824949 161360367 751268529 258608969 151230417 333818637 630826021 277560227 291394039 176321743 269528235 163940051 893436977 261226019 193063651 150592895 107454967 674466467 730880089 881602927 820390947 334260107 379038331 500654231 497037309 936639173 376248229 265632273 899305011 68054495 208890903 465209635 600062935 877710607 597957881 527349303 348841321 348150327 24705887 173285857 356784589 127278557 359289153 596218329 920782673 184390703 251104383 746103815 746758313 919357445 547298277 358902131 445345779 889312223 637977121 778197329 101070771 321343205 608421071 730827261 342074841 389332451 519611245 673587705 434399929 968550997 358456937 164757233 65137679 673505621 764282383 917937337 921231363 422070957 703650717 815257673 561002015 922802637 633665585 851397321 718880345 704329419 354265047 836134529 583797265 213757799 336715901 480101351 586467081 605556231 396015357 304764051 651640431 992988347 139759131 305336905 880659929 729510971 77032829 431502837 310249541 379110117 652286647 655893675 133498645 661673409 958375999 663463077 902677275 447266173 401830011 714740807 181553033 28180851 247923375 574400795 134210813 56598687 672009743 787910357 241523323 277059755 349063347 177652307 605044339 477071589 517951135 561409171 40117687 759001925 171641017 958257603 623334535 594120039 992877013 728343095 490067335 435776407 630693289 914405227 121081541 921658817 646450137 979109631 696176823 784489597 647223021 960338879 313283383 844849163 681501015 744106145 551299213 392365395 114469489 747114941 677547109 487075041 94286713 255443287 951392981 989590511 586593435 195760861 987995481 556250973 283981801 770590687 357742553 380520111 731654745 108985625 246112671 906575127 33894607 931497329 627045475 624548459 952438547 862180589 811214143 119635499 193990871 305733061 642515901 986655357 347437235 626690897 411039941 22626609 206452011 860611351 640481199 560591039 38617509 390318017 804050233 503400261 690609011 628609569 974729351 787885963 224525007 299098165 812735527 881419775 870664667 832678941 899421965 463574971 920502175 307269927 278362007 725798267 679056653 221166277 108043403 315904169 836538877 261460881 569449493 799295057 616235057 712233553 890260681 958779951 353293395 378542319 234102953 153429407 56876275 735633789 824384533 223238823 741291917 536106297 752432861 224767737 917613437 600687491 967609655 723586285 155703057 655237865 330773181 559528575 269625977 901742109 201402231 476814423 707463885 659039483 261003987 595332805 530108687 48599429 643349155 363431107 246820649 439336167 75897893 95342827 681819371 160376949 854438145 334788743 438107919 201426601 303082563 46219399 862502455 475327525 193088863 680828033 842633195 799177911 149543217 284640179 999683995 439231569 901722883 908373513 475786147 352001551 81587583 532141325 449332803 741139765 612830137 885559031 443422373 8179755 286634545 78037929 508278745 603685765 904084939 459969961 270722009 456729345 777778901 349642535 597625991 510619265 584517125 688448247 178759849 165864207 613761397 972639133 28692213 497671649 149185965 683064379 512809217 242466127 64049817 483391397 584652367 954421213 211779215 3332433 128386887 523087161 217185099 182450779 500693053 323241777 699922165 188756111 42728041 842994887 137834263 632705881 620952301 697579289 823039913 451623633 497235919 628604019 150269959 840084151 797955333 849358153 786464757 457651569 555713379 912210745 737206947 704063761 225806255 768751617 835265443 291835979 85672849 25303185 866162165 541459839 854186649 884955641 713307389 215298485 649983297 111540853 139765129 300518301 942846441 988472425 64668365 423190157 387935707 478217057 827444583 534943109 224913995 168148237 958084187 613761579 4694861 556746317 191755801 28686799 373483751 810048543 810965877 906685545 900553729 914881203 453673643 449654165 789341033 205160537 688991331 94048159 707628253 305446543 238793383 834008693 207926267 58616053 244875247 657540779 592194383 153006169 553528853 586517637 180086087 995719595 220569441 180317413 413799231 367734027 768373631 872165983 103695477 869431993 589901447 215261223 964668183 614644769 815208433 274269471 275901745 971506901 619967399 931726029 935210433 595718033 765958389 557278303 512294309 171851067 619763087 586195373 2101417 913263067 292157075 363074615 651233403 104606629 330782085 292918819 218326965 984692211 117606741 817886017 325372123 15460939 567158613 821168139 842583379 673453399 646666311 996109979 525050993 946365419 117323595 149470139 845194347 15911937 31688433 102454235 555519845 441015227 911879213 611376145 737234535 568226407 469796701 287674651 592091747 562988407 487736135 796589667 563429683 9080711 893995543 817723127 266477717 764496729 283788387 963147919 815214903 159916761 996772393 938489993 761316261 298230811 414330829 621022445 836398941 558622809 832525083 437364073 335241149 314362103 121631307 252479063 721837327 881227391 120743159 969647539 561993093 878691749 938052393 43808293 293612599 896199237 596930121 658404863 562995239 180889185 285804593 790823989 325068607 137449255 122242587 900215657 768182609 53980647 245776301 920256737 22325523 248757021 45213171 102318475 523318569 884236141 402855013 69261567 192706843 368950433 135781345 117921917 748439643 615637165 391618471 550594539 690065217 637090477 816433257 445945561 21663249 8176101 536965435 133627263 941776369 45933757 781015193 121635261 948324339 298611659 633906027 300584471 645169681 610921675 412710395 406491837 977554989 315364765 203841793 547991689 716562703 513771853 435531927 454354937 456982889 585156369 905441093 971396659 550542035 201209153 402740985 188610567 721011919 859647587 579383301 47676139 916679111 538639903 227234345 650829825 170828811 331912267 497510791 852104463 925237461 910517219 457964465 104009093 268479303 234873863 592135833 864967543 266781033 294547717 420957597 476431527 20205867 953844045 637956225 126079869 348809065 572038271 571380341 481421831 745748197 259167323 781500173 931502843 707283779 972341707 4037957 878509753 418350107 145709543 785556611 32666699 803682273 153821413 632673685 901863005 621333239 287109419 707098545 61876807 252813993 548695621 946639217 949365513 511773221 994683877 214362077 595761225 440166791 913485543 513828705 512125273 154349777 341218381 424269523 955441707 783130855 25202755 149423729 72024165 775925407 578416411 807872733 264326217 190823345 59721811 517612585 525865415 952336319 424236939 404392645 981385593 884359503 421642129 578475155 99952541 482456791 924652887 580345303 188215065 574609837 69791993 683698747 281404029 555556627 544036537 167277529 28499711 360246577 46188547 556996139 724363137 660263451 136066667 509487383 881384841 831512265 305946283 182275049 436785221 942340123 223954341 978794075 319868303 152579037 31403367 920670597 419320547 745600957 636533797 387614957 35038827 850178135 822306615 704758659 781802483 926221867 315681313 542865051 403714037 485408419 463843727 244209907 915210385 364118797 185138773 600358317 241464459 651980199 793369197 267708249 568461909 719380113 477452283 146438893 235158791 224393425 495916617 41255619 6525787 432835419 26150603 647558565 436997823 7970825 515037213 378719163 907290173 705435291 160882435 912767389 178604943 602778553 745839973 642589001 619894291 39433719 292997465 330152227 182142929 65395917 733461017 692956409 312416377 866939803 997645577 180713215 948276321 172416171 499092149 888565457 198346631 999460911 463858637 198116473 819598485 244792129 346689071 92810081 961798105 855508193 385387487 126155103 289510473 796950263 685123589 203732911 502481543 681016663 841946103 776756215 10285017 828194487 338610225 658328901 456921901 94452155 638287187 2953997 519882781 749188589 297056553 549827119 787237349 419979963 990999977 104378861 780277871 205666431 62493165 37562613 999049031 284821885 181972277 971579485 640250535 270090459 192531953 443389091 692033135 707418541 289215153 623182505 328692515 185967081 543809331 593203393 321358069 643578739 620718935 297250717 394769083 248780563 74209323 364253529 739725557 223608699 963462881 88070783 663150281 191486533 618033619 985287415 780323081 896762095 617922439 496363291 460099879 853458917 132824487 964437157 619112521 517708153 870505477 675038139 747924529 170868449 975374751 950185963 904389711 141592897 512934293 64551209 987280061 440693921 150423605 742325971 301661495 10382067 647926769 547322543 926771239 517292305 241090149 256572393 717160347 315953593 7592275 640540695 59776075 916591767 464987047 51732021 629010069 719522619 230878323 735071147 281793919 776745505 540965365 970032451 450361789 917280677 758173839 923357747 674142881 989497109 966201291 230686491 120655661 806352801 502670685 485711101 158188297 980241251 153592353 929914441 884591489 795602009 741105433 973225937 48707215 319012207 560630897 185606613 428386771 177248629 357256829 934745849 728688017 74550309 760166071 506821961 45820347 852198689 692264643 906966845 272325351 590573297 711102315 540528305 689090901 928271879 66391971 733875179 489794027 442058171 686801799 325849239 497422649 323667791 277861721 738744011 283826807 366728429 442825863 445682691 521642115 901422757 689909409 308064805 286985445 911125873 505136739 785078399 344688333 938821683 981837489 92890309 670000657 369554099 426391445 900811287 95658543 681688225 628879171 215432183 666716497 201489561 119870745 750165331 852050757 390390043 714028181 232022913 894921857 545798545 664307815 856554815 843452199 983320907 85077343 460019633 615802365 472961155 839789945 420763491 398882673 852515163 194211545 789072205 195951771 87708379 816349385 259609035 301439037 753186291 629312191 130316705 990342073 579765887 286430035 196179711 532501027 603054655 906826059 685056119 603441967 669860829 88044689 608719369 547963453 298464233 256957751 41884185 332917591 222972893 909295737 232625269 199720999 55315737 802683323 176247633 248410889 830586345 209326985 284498509 168948731 417967227 475790997 772355433 655953315 23695851 74497721 6611481 954227283 576147769 621680635 22234155 368795389 321124943 873897861 596178147 399971399 908513531 948551849 132229601 474421107 337731067 142897637 291542583 419935089 892448239 778386905 251025749 716916187 865720413 989117011 165004829 467973101 386453691 135555397 160060369 698377105 328377693 500371915 187767585 46492245 585287817 505877799 446082847 566452847 60279655 49192901 256540747 395408321 803939077 925305911 59905417 159570641 341741921 609835067 440187173 625465293 144448089 275008433 659280855 900361613 738322105 346900391 105284027 287214737 916354863 874060623 184703319 188917249 291951447 40720645 801169047 89628841 436290737 16680779 774729681 244379139 906647973 976861645 139641537 311302959 50730631 415319647 63452557 344788465 795957901 634350075 934428099 285946811 973048027 199558085 431014745 676681891 781294971 221212167 592098217 897646697 12097115 173922101 561683579 59260275 659024983 745638635 717928189 316080081 319172141 665234155 145133761 211646011 176306057 274588193 776880837 485049103 847616509 242805153 347293297 886532949 321925121 210623909 342933137 487835067 505201141 277911185 501323863 815017371 720412963 771489775 600949861 14417393 277454013 486041461 639065023 779888743 575356125 599975931 938959567 957655627 408739713 393909893 131519087 462682515 914923925 422768961 878053081 828657633 44562411 710261375 720055987 135627131 559653433 987797947 637802507 135924303 355964451 567453337 765836117 922115317 52665905 596436963 612772465 862048685 682936021 496239247 997005215 323805023 699097449 538753205 360520337 406380183 877376299 259515547 299748699 199610511 295692871 165139369 854774651 503471143 212040911 197463413 279863507 860312291 981768633 346260155 544286901 184104949 565347817 409917019 102121681 194686259 884646695 638725731 959882825 363150875 319891749 8048387 668483231 945247961 726893691 505104283 74220227 531110199 215459757 122176937 672558599 74500525 389928993 885299677 114953515 406858845 266209577 917994759 663680851 8395277 752853759 670101797 701949197 747391277 639716805 913900631 206096717 667416785 778201731 553103339 873685105 147268541 9116715 179220819 649237821 283234645 235766421 238507817 692370401 140881063 814766979 958532147 798551281 79152495 6079391 367430747 334932585 936422153 481828219 276877237 581973169 683641723 241102477 154931065 754060179 414019191 569094711 611231503 601383749 705003603 788888261 641220351 449796455 488311055 830783591 853750269 193810427 299058003 59468341 772921315 548577391 999025003 258767665 338844345 343959193 302858321 462451013 74291109 125748151 406161573 594667073 526799867 227721581 767218091 599262431 101418041 967914695 616908885 369009089 774678785 676672829 478237241 43151983 728331805 75690411 10899605 256708185 878832001 70298967 691365203 367476699 751682633 592825579 837288963 96173365 772096439 882353025 717628631 902559633 906694711 915408787 702228403 133223935 465286237 643262471 831707421 997890681 391721443 455007531 114468677 196322529 607011501 126235571 279179519 36219389 990558661 15883199 40875727 589901443 637843039 886526927 393463767 264631305 288394967 740926935 50265323 890759185 921894321 47100967 237566847 669843715 261587605 124635261 455957685 685938483 290993497 877131521 295246419 502770649 482309367 923017021 73734599 732298263 990752403 914983721 625458473 308691443 990369911 690721311 110690873 35345251 724027673 760887785 907946845 269917501 71833105 150430127 558879399 655375425 442080037 239736587 175370955 54167069 230829885 839144181 343781417 539308127 482874223 390066903 254200777 559452033 901474293 662772093 880786523 208940003 331673395 919940635 393451317 475075793 311924405 409536335 580162391 491483001 517779501 891648031 644331111 202652663 966506101 992186103 466543541 51512393 232686227 905047725 418311991 123912541 331434671 614486397 437118095 905051137 14088481 44921871 326652931 592269805 613055327 552407661 203686787 660390087 183794447 446070541 626105763 810002195 121097469 450249679 60522663 157590341 788024347 257030389 832453489 5057207 806026883 893188653 449314453 562989737 525946491 476553101 698841415 314591043 982748013 690063507 353430121 580198041 12132587 260496163 317258623 357216673 372360627 543000713 942714301 780563263 970249381 368193661 575744757 896815421 626091471 154391067 986973353 499109705 728656739 514129129 982738687 267464701 586622141 47677393 295442887 426161117 480899935 842623533 606650745 419716175 675992053 362812599 556137013 512017575 112569169 561257109 868815039 151984923 839492465 334000725 981766537 984399823 978298999 95157485 39444903 534365133 240334765 524335287 612468189 884259843 212234887 78932603 846910351 729431115 847423905 943514213 394059725 423664233 359779773 783364363 852366415 909165827 173046983 991227499 195023475 290289323 569272531 632642279 968336449 87498461 708086041 658795601 723390311 4289783 282041601 460467417 243060285 74062147 602900755 7671329 328095429 486992883 454628357 525682219 968636833 176733727 184553903 641104999 313889573 954443467 475443733 433724071 789090885 181266397 885989475 271402027 87352739 50879783 757901805 610458263 297010821 28594531 505323309 929128697 495508441 13703475 604871367 31133381 727371575 158849567 839048325 87526617 429677023 55271321 529922653 577404027 647254967 801775097 615464807 299705943 73791055 696719747 262321383 192819587 553467871 191803741 234655563 725544571 176560711 356992153 887244067 464908327 328335371 117727537 52058667 200977617 37361499 110911239 264164423 405353263 441217809 158787811 423634561 884941665 467389867 655244151 543661071 764702697 605020239 190072923 7433545 416294069 510587853 407765777 48762549 927609885 341076891 943216131 705604605 243481561 635998939 166007169 431272179 961266195 836854099 601171653 564444307 319414871 118004337 924094705 822854657 509309081 128976463 599376397 111155593 129133623 1201833 487725579 49220509 455457013 630256105 181107651 563644887 981859331 479080987 240075255 216588285 450180341 844859387 194945617 23787769 30326471 384868323 408234081 100810205 22815455 805261023 995998881 50791141 733856267 59637147 936285553 594815607 298890623 751532911 489572381 906725915 960828379 980619099 961096149 549778309 74309665 127999749 45844657 503856527 82138815 419950013 427546291 440744255 751542411 960779643 825214147 705930431 564073921 802984927 273438645 425334369 472490249 336290605 136202049 374917539 484140653 59628373 386950409 344637991 805207141 144007921 257819029 907515575 300539085 441995327 340850005 415131719 802750441 802315301 395783589 418815217 921354089 691432755 792682949 313144059 749165407 607077535 387381213 354830289 127178059 157222731 341252097 626109697 546445073 857181885 198080297 424939339 945250303 421272099 599942199 435398545 114708937 619608919 870956273 856751581 475041677 56985045 432631565 465005155 818806993 24057797 921176351 390226047 933314177 305045241 163418541 99954611 343032307 40064997 243649055 745434795 83833827 985779883 436545477 817164347 32823161 231639055 878029527 952447581 500966719 204535939 214697339 757395765 255918125 24485149 40496821 820348941 163537565 279082141 588508537 744277083 626226519 635816043 370604449 315929783 807278217 808032147 329546477 874920933 801307845 952664015 491434501 194454481 690840587 25065085 959908733 277328527 789226175 165253029 47026381 34759515 632379053 990400759 493098837 674961301 910190093 142396103 841092959 121738697 63293051 13815577 402059039 145451179 213713405 709541009 447977897 871091225 407138815 749726591 421266947 938001425 283699285 999311065 446536723 197211075 12132415 53118273 4234669 423137919 928797027 996887549 727461255 422690497 820498123 979950587 741705797 846741805 166776813 119580885 826434417 772352399 318170023 583293383 144910969 256185817 276544319 610923705 874340279 641456933 546887523 893612861 672810863 38183609 92444453 127703943 400803015 260655869 764905731 587538809 543605459 658756745 77367269 645833623 418897289 452034323 553424405 28072467 897901773 972440193 775321163 729608643 489821543 463689695 572355235 648570151 519955977 711517791 653316513 36308837 723284557 884473435 920961333 943121229 62196145 652301401 653052337 640301143 373769379 717961731 361566421 657490851 640254831 840287021 161524935 460435189 376514897 164151503 848135439 782597565 861746027 780916241 239570345 7355925 26350021 165621563 720352749 672860089 561293905 979014337 757558179 328357139 361015785 904791613 310861815 554507825 506005323 237089653 693875837 486904779 30881827 300331859 443433527 873420351 654542849 325761771 165318277 305948819 173979489 273801847 21432377 258846587 163462305 899557465 790584963 935972937 736244491 351666719 579886597 353385983 264817103 553103227 197358529 892898373 255097099 554175305 162675749 501953639 408763579 579416715 889089545 978472031 574954955 373707631 377053605 578112461 140381451 649449539 87029667 655416053 71376949 182166151 559415311 598831561 94332651 812253661 810952029 248679647 698439605 908831503 381570923 755867255 217907461 169603859 614030975 793878903 883499059 144487937 394792003 651280495 445525633 47100957 597183697 915779223 385107993 199928019 385638819 615684301 356820747 431142327 886024353 554893465 871542353 564739459 926706453 155282731 35536077 75568411 145756853 376054361 298668615 497566345 762387105 775607713 791603823 560753155 562065499 249780525 352313313 161847009 826566353 464587467 214920479 898204841 175216985 586769137 727116173 262041091 765208751 834580929 512049793 840464837 572079099 384712705 926131763 312050153 448863177 980602911 6020293 110669459 939874059 269805363 118177599 464618255 45358627 583520255 559416465 949021901 839197653 199329253 975189655 637877869 733866571 412383737 267884817 945816749 705260063 413734383 822613161 418784125 286275915 204256039 544343023 126223085 748190773 76882347 320675933 480304187 90587819 941020453 344166227 37786311 227337441 917131249 400323869 154785567 443023477 674136589 758854633 181192691 515216749 169702943 631614675 622508835 571198261 72059513 533524187 412977839 799166883 579763213 451875819 645985729 960758261 339256191 708961747 212381105 223562189 873335317 63533899 81473781 658715195 996435647 755216121 207818293 627925685 126215955 507249249 240748345 426599959 733747791 202534137 764796403 113179045 128788573 6811413 736332163 354293261 896744651 906767611 608626985 397320807 97151439 148668883 603236689 422576427 157634379 297610413 395228301 424743235 75138501 447803265 801620123 168231675 113616235 42027061 187422557 206779655 140892437 509108109 926369245 660098949 349763907 357990973 468607823 96483067 784543517 647519199 544870415 941156693 154111343 884223987 905157279 340197095 114161075 695463137 825408683 605075315 941629193 323866877 89099269 167397657 891118389 371941245 553873323 286622057 815403945 992830855 379225791 403309655 795264635 749194527 554921867 228784451 484739435 256663609 72533635 581890543 878331615 874055599 878615875 948237705 416834791 652280383 1282959 229486503 782474811 799760791 558685263 312653639 348016953 604502339 696497817 420270029 245197545 773090241 225993895 362125829 396408825 552179055 19849949 8304423 817721795 504585623 893732037 474757071 519595843 489353579 697860627 414411009 854298659 427268869 466731939 309874477 670101937 231552611 469329529 388634919 773949923 416356977 382346941 896060203 89738843 963430913 651177669 424640479 797089631 4938441 642180107 924436305 110352093 98567277 547952179 763226101 588432749 940245879 744531465 973242793 716483919 780457557 973234301 823083187 441031531 856942689 71198127 924217535 351955533 798192349 11188189 532934627 219488047 154305013 503956599 954803613 643754225 905089461 197888269 240145871 507389207 891106073 81671259 154035657 594868435 746160387 591087429 948342081 309918203 168572731 953600983 928872275 301170189 363367283 318479939 64705923 563180339 241938499 546527203 22529727 772339517 254353455 694069309 32562783 273990813 241564829 862625275 273658141 225241463 217289439 438468079 911548959 730569361 746280239 40484885 564888561 600581723 201188271 736901267 850352523 786520553 975429991 333660847 914860873 475782655 839124809 351053281 127821297 850814977 667203885 745839299 484609967 492093181 671241429 913883159 860183321 25103535 759898859 702595529 33667627 502363761 512929281 878381547 17572171 339880015 537167757 780146107 820577865 326416373 862713587 337997977 242068309 744719291 149053561 717428499 574799375 882911137 276437077 347605467 669019263 291612239 563088285 338332365 450339853 310842897 231368531 265229803 106157201 70221281 938245473 39258209 598908233 504192607 415868311 834676099 226643927 997202127 602018479 229242825 780636493 615978019 903198539 783577051 539389213 231774193 586911475 674300801 963819045 227601271 4053783 680559791 475561385 262982303 905728019 538499713 573617241 469139703 28329001 373112377 444663625 874461879 740440701 298125893 808832757 733488573 211093029 492000563 322962499 381612689 855879961 880730307 953044865 535111523 25484603 623101143 352397155 316867335 723138387 207186041 211218439 209647103 699618833 752119519 601755635 20337011 611826961 312577633 782758675 504683569 191048659 870493571 608859069 326583727 437876929 475338225 803309999 302695695 710016555 929735551 847833355 388710935 396528969 46312231 972603747 58800181 983550785 980412429 708611751 279751041 964120601 439060093 490726969 198924731 510773185 368467175 313060827 100117833 331988757 105637609 905334461 672606781 934844629 874170439 647890545 357281099 115884201 295154665 345095159 151276243 221219365 70445287 431244467 286880733 970048449 911638903 14267763 365187865 410908637 526770175 717675371 281763805 820344261 127803913 293267257 275251497 856570535 583394123 109756899 170815139 885548703 750673053 210425301 925215131 760990125 650794245 432180707 935293447 677542585 178540205 325182031 938571145 966519447 183350759 583834041 338732647 469192445 411636271 798188081 627032209 421813649 891954475 884099629 304081051 928902359 235268001 206186375 243257031 486202691 315633801 83240071 773758973 672192047 295107581 372107483 491052235 262514907 140059711 709483669 767041127 439554415 403670713 976819509 720289203 670886399 65990403 449694365 747371059 857230209 314942931 296506911 942975769 977142491 170886161 410086765 949511229 505030097 789797829 898582437 434246427 761895959 719161123 509426763 632405467 77547079 8410501 648958543 961320013 532878047 804493937 119651589 920945897 176107851 352916625 538757417 194193359 18562781 996922553 927951841 35589571 396063691 129365217 657947067 278742325 657673787 893651761 451036587 179789119 676148529 927741169 708616209 931066527 337697185 461875605 243325359 746840763 25508707 459889593 721900211 564318883 558690363 600987679 202488755 487902735 315846863 532642995 159500971 475118685 562665393 785718665 386406915 834244499 139805277 437598683 202042245 830448997 410791985 332053261 544897385 977553957 92180855 113586601 668001611 307591639 20254305 357110371 435069743 381605661 824023047 77964567 972232837 719173195 32427373 510009799 912074527 894950997 263245433 422178209 102289469 80336349 22525693 497594867 191054211 682678823 524758963 141333309 935786495 234275365 560876861 218348577 279863589 224348015 170105123 841933419 151694803 575191873 99914455 399181323 512300367 799223171 824977587 233097759 308315205 749575621 272708853 288992747 313968073 655237183 729019593 891629015 506870877 315594447 942006591 953521785 799661793 404017663 21779025 527614859 518625701 558874105 327049185 653786353 625197919 792861081 194789047 570194359 301286953 172616029 592331141 987843341 437043341 738541675 752353763 441229139 934117491 108787603 347661139 229617927 368891443 324960331 158180927 412712921 925867403 529842101 956716791 912235929 284378783 345783703 885032119 431609667 485646075 398435679 215274139 316977661 545589399 413765927 773537969 787216397 653605071 132380331 335466217 592937963 778469737 118136405 442570267 177346865 76485009 21968433 905705737 862112159 291284187 969798907 851340637 235213861 397199431 300312845 704499367 623689171 303572283 758205299 276798817 503923431 607568001 621965017 565345771 421519809 334100815 336809111 215327633 57800687 746099267 399376301 584910211 187957539 349714019 346833857 570650585 24695353 793742363 583758883 347123349 811949105 593308737 22440139 45075105 447184187 539372307 59037529 79708365 838990761 792253749 852837393 304558803 615612661 820473523 446145251 451584595 23784129 976129541 882209897 116132313 209702363 24728837 717974241 499861459 46360373 209218045 93390641 250748317 901423851 322130581 878727657 357481591 115168575 842307303 520935999 970852491 384609181 494007405 957353237 515486185 143936409 687769357 440304625 926759305 892294635 214898709 367496193 560321617 263188347 870444857 657308959 940002309 551107153 487626135 991569607 187675739 873523361 949861557 609068321 773477865 9724359 725630335 577624063 957456687 865082695 623466827 683583957 434954651 468325321 211273941 462290117 687269499 160869923 428306755 899431315 259260425 978453583 18900773 682692785 861637733 318045807 127758699 238747445 891827865 985328595 75350647 317655007 620999065 204154857 388769547 978792981 646631225 331840335 152405 761350889 895555903 165731527 890223085 259100175 299519571 573633599 892863691 550692583 806229763 238938055 856329305 675166585 520267469 415338651 635352163 392372085 116833551 154432031 67591965 161044783 809066005 97504477 763782181 419669163 472322061 513159051 435214207 570259597 431924753 608443393 426887323 105026341 400578341 670135365 306864973 671233897 871430959 819903359 86390481 284517883 961802755 418843397 231702221 949466145 459405913 603658579 125451343 709401289 349211345 996653321 537046221 767483789 576237301 792951283 863996705 721232809 28987447 164706823 114285203 57020677 524506353 985272413 502651855 850812723 802408289 624128571 246112747 49253479 122151091 218583563 189855077 109511299 264498681 222515295 813665057 985223691 60407081 39887091 984807275 84427057 311493671 31811501 650803963 168562379 834658237 919568277 85920749 236264793 320318105 680993757 801442501 358109185 891173461 353373925 185672051 55243155 793957493 383523629 562875977 221043079 918716767 611662433 784040711 805306107 499968357 836008531 950160337 30361529 580318659 549204993 357590069 274839339 826712469 850146443 46635559 113079661 16998635 378634815 466418437 825212475 371274671 182716815 966901397 664575 760389313 333504023 676186627 498785479 644018397 368454041 73312485 314209611 682876335 572737793 318972471 625317863 840659657 21803873 944229217 511131559 342568609 45462775 483890477 486925111 557239195 673258021 177057491 986638833 768690943 446490229 735444717 815807697 470288895 858789787 611142789 88794497 108329139 135775347 659217411 484826957 917473565 121383935 667236415 811556911 661249575 742604395 535803767 300184007 50654369 349908491 932457551 395360345 207329351 239578201 122978517 148358615 733763765 732071159 883639165 651719895 30689401 476503733 882268709 137554841 572664323 684330625 578144529 917485315 11133611 425679993 660044273 760401317 658910131 619064031 407237849 208544951 264777541 810777377 971281221 782655767 656479089 559385805 99946779 986847821 172662065 490764453 680088489 549911433 683852647 344427397 770888869 99381921 670874587 739273599 122724649 141669651 547321407 91334337 951727805 459983113 699801387 343404713 412617805 192543825 901946657 931638971 721543985 89852257 760110985 352410527 13867553 194685531 42600889 833757739 920623687 746879493 455903717 387510875 779420717 214789837 74659887 904960079 948379339 646061515 509573027 874199891 154785917 278187455 942949167 127739101 407952391 62157329 103474863 810045317 945674137 69844941 934188003 477363729 652881863 218876079 947710325 359703145 663390861 71875089 3064821 118232741 479777873 221179901 465712861 605723643 703350497 174581283 986230669 890383313 4844145 245737689 67566161 952080051 864606367 955065887 701167959 908178771 743130481 121801371 312272827 806356875 654674003 969837725 325958781 988109665 901596443 182253853 772780935 16440831 409423621 418129593 65060521 254402743 906291129 479710905 940696221 990150151 892239937 505523213 47533059 911744655 901820949 17229899 502119013 754612253 816190479 544018097 635245367 429260963 804106103 539862313 191991503 599402299 283363579 680612161 845795693 673702699 113677229 850264879 185367615 582228189 243103757 893753557 540116051 931707621 955497215 852592825 403822497 653879037 285118161 865659145 810485775 888420103 626286135 987516573 768067169 507378705 373525327 431535093 533123403 655443277 156974237 942361657 987642471 460606743 938474001 526469685 897121077 821665777 355030015 660375395 740126749 607221127 721408035 986709219 251704691 169820077 609229989 263223417 850932335 799442269 850506511 232064919 312892977 650250169 754685783 588019795 440253635 359419153 160124637 782472301 563831831 252970963 268644707 179826763 875776263 863167389 101408279 530896893 755197009 737386033 129256079 97841211 835472803 652440699 930771401 682193251 182398601 769666447 191378215 60953213 723671425 346759591 476094843 665188407 574214377 911464743 214911479 27022315 65648139 266844569 184173369 132804757 673976345 382292147 43893829 969552863 261621549 570122061 49993611 842523415 645298501 545701995 200499165 520985651 454943055 78489659 212710267 374460117 342180887 66059021 135752457 215273795 379854683 216758365 899356309 799929195 709270713 124103631 73614997 287283173 366610619 432359469 696086755 362321649 862484435 306353261 687241159 16869751 218704217 650651815 53050093 235858435 928102545 81094433 502770795 279938511 625377185 915609411 885195197 496347579 188415643 569749155 541831371 740553035 865441913 366370813 576135391 676255665 703299101 191619121 543443377 526806211 272436047 186750283 592940123 778787327 154977729 291468161 71295079 4204431 884515341 989378093 52465341 890074433 676530353 968558799 513567925 152049549 339389209 659309079 869745421 9871505 670129301 399485141 475323625 716379413 4075361 145343751 903836375 671363465 854383513 490115277 501880779 959851265 963837003 661616501 688218659 19220545 632371303 493124209 997531813 226079915 55011269 562987611 435647357 49411923 582738473 313725945 561213247 611257839 652570681 73257781 732488685 235821531 199638663 212388385 700770791 254917411 900582541 608746491 18596093 373707123 500308397 243300389 551823205 965128995 970765871 68874025 275028153 163294259 62345283 902040507 73235201 944828747 476614917 528300981 858304427 489539255 616301431 675280669 887823497 933892977 994939773 964712733 60858585 476023321 178312943 39164169 721786947 190752243 709939329 23523675 159177683 369315313 620657365 675393717 666062589 364827049 671264631 463864551 555512989 937113689 750200279 535485407 975288317 396493291 350337613 168398011 558630855 369876973 278003483 273601725 70241551 916386455 150652777 326061649 54537813 541322695 66730573 331969547 387132029 387782661 990142393 235230117 802793429 699731839 2971029 544858881 619650323 217368335 968058535 634994479 343884881 644621617 687960991 515002205 315950103 397823759 516213785 173493225 656429649 320018295 920258453 402484565 720253781 532730847 28607613 241030991 42860767 914693481 189726497 530263975 937863959 210032601 92120251 838946137 929582471 378083491 874971755 995699081 723872295 163601881 765430333 666774145 276807763 202670397 26179615 697918135 585185231 501921589 867044589 984188867 940628427 211600339 730654055 60784489 875396057 211999691 99535157 6027415 645490425 669086077 458861035 760101981 745079439 807455729 602096641 549025015 129194857 425792471 501875159 434091209 150158523 479883397 897985721 200358239 607692067 950684921 695482325 614364779 738042789 63504605 350838087 633046215 948481713 504159617 101460751 890809209 721146651 184270039 271156757 637443753 10535711 489830019 985547565 637979821 505921893 137517771 632085519 759872769 424190455 289228189 977395803 497172805 303081803 485756307 766308507 583507015 122731329 457663721 943762755 529940729 706719771 465965705 234809767 159253877 889541511 217960705 794283277 462274049 269168029 530958727 392440219 871258119 613364693 484028669 202423653 110833433 661635097 760482535 251091299 294747637 227767221 616097399 749643381 199923579 952347741 84187525 166309989 125101497 348274479 840436107 970666213 310429409 957813679 456885431 161162383 78410319 888778445 79781587 358658529 148317061 781251547 47489625 37491785 750793007 934913433 551537001 930845971 159581727 905107757 830868167 556570749 398580819 26454817 462988003 745991333 896152555 829077099 221700823 904683157 2858037 129099625 781545825 74918719 419071653 24586977 523946471 247167611 68326865 419146495 704850297 847477773 352214659 727731801 555726799 483142299 757094561 903773421 43725895 807772857 730390079 655279389 383251687 374993373 474725531 537913019 220615011 136969067 944786199 815922681 287907341 639415211 68614205 610728051 738167017 267722959 104870593 292290611 602235033 152109039 928441471 952644257 173783921 674888719 192364411 370212247 385815141 71610645 256873693 820646991 726519831 15496403 818152955 148594287 713589707 304064517 286885711 543368451 22321779 329463113 778422141 983543171 675055013 723312681 75730511 419683021 376965793 570717717 144679867 353571873 28039503 19470187 534981849 786994737 544137531 371768935 997473517 961338897 819393695 166114357 151404645 811597885 198689113 737763813 274240465 902244253 515279859 313869683 938999021 964959867 298424471 783061691 350584221 980790159 539422753 484705419 413848299 657854195 735701775 188295059 540989965 12831023 146735751 190164331 241458011 833161265 46516569 754277269 4479323 735466059 851608827 166732411 455246261 423781693 54070415 270336111 124964417 13843241 50486235 315767463 815955957 710225313 555614797 881513541 866513399 331504279 717595647 851938645 655978643 250575209 138683053 227675591 261003833 39644123 57477825 848248947 973643401 913582877 276438599 939649563 790473027 820994243 552099835 163517033 205462865 126898121 749088311 386731245 707162571 527028629 444981767 887050785 91039975 598817013 790599191 641505895 507933453 505015071 430619583 724455173 106478531 721954989 56756223 689231153 688276673 346076327 841143933 491908865 849100513 399947129 112047753 862438007 742549285 39116281 198800923 32809597 540789177 850794597 546830033 266788323 514221807 949281631 359917301 219779171 951069765 573639417 529823857 921886109 365686619 131596707 879701985 387292189 245360383 291670847 241794435 507134545 769731619 327914001 223686715 668661653 173633251 920252867 63870109 542478633 410164097 546795119 180659679 402776375 309239657 664662415 994702559 26329551 966786095 218626313 648527653 833389547 750126221 21679145 453109215 61024363 612841317 213673129 869913317 699281691 323582663 261322657 178747321 191106985 916528865 951599767 235232893 509605553 679985937 527503483 683933957 901854899 943971033 246532769 87137221 275506967 217801445 326690759 985999071 873795377 725197321 792070927 425915671 313533241 555269183 314755337 463501023 711233871 877519275 841717419 256144717 880223357 3529623 482127439 840189729 463914935 42627447 868281023 903559617 982256849 93141991 626690083 254175295 809581457 187856811 126849299 193948751 55814815 742542507 821670285 180316497 217790601 679236349 580406261 696519501 46662349 192697819 957392921 980405233 491196617 137605289 135209515 836169623 110388425 261587955 388447693 117283389 615681787 486742633 727928579 610695305 284092537 31260139 343554873 626711755 491514951 199117943 554560069 693268985 272751691 653993277 581922147 753585333 356414553 493772685 657594937 453135429 278553897 131230179 470473685 160069527 662489947 81523939 588521387 527241283 734670457 486006361 749021851 203424139 341454837 236802101 945697255 840622929 5896745 370015639 259654717 222897449 64669011 489352125 963829939 75806023 107077281 739585815 285223879 327968653 845129503 518052405 156405851 95277183 366528203 208776405 768067777 988648015 392147843 84289751 681375145 929542099 772598289 672045897 288301877 87581067 724615463 555429725 963592169 993260701 827802205 113410413 665407407 126425 355952439 294237695 929417441 575252663 383908379 890618557 72725817 784269397 414161755 259045241 256201437 908138107 270014003 715888433 950706523 821482649 647333313 998550277 365433511 122841797 774798863 602067267 826660895 617369277 343806223 935041629 787871113 650684651 79764377 567081967 111386129 76086109 456685167 406484923 295033165 667851979 290333499 401692333 700590137 179778961 117336975 431437785 620304957 40758971 403864545 742293879 582797859 387564277 351220373 119473135 424360737 807830937 800315123 815622857 835453399 529871267 397046317 669103033 442630471 735784635 777140315 972004763 461295585 761838131 801658751 544144241 176055927 786208767 937795715 78763367 906763081 720352705 169028153 683152337 662185723 494471613 895713879 401151017 115884953 469519333 974280319 475345427 100231067 635474127 934418749 261986905 44527837 677741243 578305 571002863 933223333 723372687 533988643 444590321 446279071 275562715 274423013 753291171 858932959 291298007 759132785 850115949 790684903 431224673 284023255 102719973 423905175 891071489 801156627 265073605 596327999 476029927 992662529 804511217 884743315 917189863 415671151 642036339 165105587 329386629 369335821 634801537 914091297 332421349 107242611 271738483 415395787 949483479 275183395 856787661 843947271 705682897 681095559 101599037 892626323 734968053 323440879 846270611 152064147 63246345 151996309 279736523 486577811 331815803 947672985 295200265 783765643 993367651 303479303 528085913 2875095 504413569 127840719 691728107 479225915 905878077 649547463 752408735 30633191 419954595 196989111 826840947 193847149 722912623 912139841 659387735 612562381 424808699 194406395 614779995 225337963 459997777 519113053 621129147 266178325 661964577 794813897 361508061 940731391 185794497 866366341 196287559 947662025 242795057 880535239 594585265 30957939 541320471 332999333 29266421 47510385 546062531 813317663 494087187 937589905 93939757 595538211 496121403 318747671 73879539 677962111 919196095 631894947 579176285 703098861 657362711 60233287 102254939 934023437 473602793 308236659 513859969 637617259 827805953 784911881 883076883 423263093 810981713 159909707 414418421 33136263 674182389 210160617 648802231 452651489 250649903 416846069 915803279 363963051 120717931 156454639 33522271 805973497 371791675 625796795 300600235 875896771 947516253 31300773 499437223 68196841 714672307 94579557 137501221 995469109 80008263 689167127 329420455 472382555 228685133 515909697 617015637 684204271 526791711 430836943 671038203 508692087 607705925 582176535 845883667 936246105 237197413 398795477 758188733 639950313 897063763 705748015 560837565 310600031 273971981 909331123 395400581 783309531 769911989 714643031 445196843 336248423 378017941 822191221 829365101 16952821 100793121 165174997 730988983 498856031 480950773 517175973 705003795 593848421 758725843 599859063 703009851 171517871 864249001 473606217 381626765 600638417 874230405 679436419 67151377 414637377 869332135 430875889 777336949 695261283 283401585 813430981 715057683 886882943 405451375 448188065 714201063 377459401 198774097 371734921 475297691 256252245 813814517 90493927 813612157 549007401 629333087 84800661 421392003 791609387 222125495 842713037 679917903 432735277 640703827 754099765 927092519 88670699 299898541 10618331 99390457 792890627 549732201 210925875 882246237 208538623 756948051 612379163 242121875 467622225 557568091 417131225 402472321 792895057 352232863 601373465 278670265 508418627 938326115 419928305 321228911 171856717 343616017 473258463 820619907 656224129 700864571 880151493 338344319 950812635 292799901 430979573 605918349 25010489 407478043 983751711 222043017 236314981 58892993 75115877 102375921 165544975 760295105 98305865 3931115 457660885 551430773 190720187 448065351 716657971 407205731 489544973 111729789 728752533 151085619 713955071 143809963 861589067 352164285 821546421 736834457 924482449 497729015 502485949 129856695 299634565 310762759 120821259 847018521 785007409 328485945 419835645 315658371 92267909 892463871 730182999 376342871 674049119 740970485 744513353 779121577 425693563 902537693 46922087 523585327 311848325 347620513 4407725 718149 70770957 352167001 270448259 712876023 422572429 796438077 543379891 718480113 534418023 456827311 483256691 497666187 997629923 760951613 538832227 740388037 294453809 916171161 100936581 107910215 306611311 985285791 254418759 724063069 273432473 605428817 108118143 111032065 953269659 762540507 795669099 58427859 112835653 795936399 975722159 693749015 15756881 733976299 932420695 101267903 395561567 443630993 660994267 932007775 912667643 224176203 541141783 833281339 713178773 535706893 487510097 933569335 551037573 447135987 851451187 840535267 646317069 493427007 470201559 463094903 335820887 83763293 518996919 444907985 213888115 522754785 989269689 479014777 476840539 227087493 474903595 235210653 986388463 837610797 635344065 387501335 661315067 854885347 916851355 32112227 235745069 139712475 68263993 291660971 221019937 378920305 889076623 200725181 641781079 239749929 135195373 348552207 166811705 54461099 172546577 133279171 912698903 852805069 754470179 90028957 718427691 504929161 727389613 821765391 367215509 314537731 890779047 736550449 484845153 366498951 185549931 459933887 126195325 669798533 300359107 709770017 829371077 857920667 125730519 701952871 658916857 896142477 737921857 694856779 713326531 372356419 274178041 90745895 562014641 475370451 760455785 369408005 97592897 639726201 873206109 674418325 384635345 794347925 610189833 199696685 2375597 334659763 80837899 277712587 784551683 398784393 911175529 201728281 955340783 696275695 257149327 251620709 911702129 300699627 939821139 693937063 725934449 778812071 325518833 78953341 684376003 63774069 103883025 218631983 904320799 996971473 938722749 555327147 342017829 151732575 858089067 34711179 438233183 903103211 920380155 256881931 68876097 501954919 425439151 661253909 802964767 464546543 590294581 841583415 878961983 491363779 75828899 460543655 46261191 628514643 897325687 694465607 820228811 64162609 480970645 15516571 345602371 814281237 666726729 89403861 985798671 492561639 262134091 126270155 49388281 730535853 387262647 811402237 6307763 146836639 739662611 610892691 920319703 804843799 674213193 564391257 308114147 84508823 440628403 98886601 869349189 925224907 71571979 310715137 956044617 681347463 558238839 435725259 441814829 202366403 403086469 354810513 249170703 584301223 719101227 484014191 552002041 478359419 72114883 462748195 550176989 439255987 604082709 975596819 908502421 972912619 824218445 721686095 986592735 648386277 444122369 280528783 29767783 415118477 916673839 875346991 365519295 656425207 727438393 208004155 64157533 795303261 271738353 706663777 525808293 411722529 456347783 125684725 211098079 63060691 594003869 620683769 155475261 207604001 611953973 710811157 9217497 79844329 183903935 816343703 861310641 379070253 586148365 760252533 465818033 421578777 992863 992873553 431457961 324034049 814939993 265306479 100392021 790668639 709411849 475984577 64983379 398211287 916417507 613459933 725376813 787209781 462243781 188067843 395263829 158002537 548931317 116010267 174732835 566996881 509646879 228828849 274375641 817691633 495346265 16330495 106740641 697178353 607739935 555087331 9743499 258306855 806537305 281881573 250031251 58077773 361331025 53724981 336555413 819884103 119226813 916890281 466630239 313452065 398247357 262063295 234532257 877602059 162443219 244638881 456284403 215384933 760179181 967978269 2099673 804780973 661626977 704014763 574029495 849644435 287641837 220843369 673337317 599487719 826196405 752096799 321747095 71752869 926588999 260105531 473401839 168490483 866357399 140266711 555588601 469794071 646564867 998377647 76873381 540518537 252526671 634626861 352429771 632650721 242954411 648967261 837515565 126087397 154465449 966195449 130129781 233891455 52756811 915691873 13870387 693859777 712003057 778811035 238554849 748813545 343059819 638637397 477627105 995795543 443667181 613627111 781647995 198607257 26488087 932532817 65247 710173793 889542377 71155513 576504873 119974281 703275223 343508719 172006489 828785175 307167665 617529707 258896473 827215925 153312181 553907275 616283897 367022135 664412555 943088599 765487091 900364693 362525501 606426623 522287847 223142391 127194435 811156825 76732001 641199141 103271289 96277539 421919439 536638227 756294179 535318343 469129613 960748765 749945585 859431251 598023643 196904901 834065909 125487999 146100195 781791543 47348911 558321833 519201205 3121861 502509827 80522329 143876683 509978413 566881855 976267197 870166149 500454225 941233687 44180141 497396783 194383675 200571305 44508843 563933943 717752095 704394363 237134809 522530681 358018649 6775673 657155595 197173 327862379 586201081 833647029 229759635 391129603 959413431 939967737 652086247 1012719 401750235 282614939 609922665 837093935 61644527 486884621 412603449 444381413 477551083 206604133 277464163 537812827 80262697 555593827 769453525 666342151 647153777 566336365 11192939 10590849 825669873 782472085 247544803 386287757 416346171 862282893 687559915 809505561 579954767 59270075 833985041 381044277 950149521 882210081 717436621 863318301 613897165 267789423 719053955 814421813 835454779 128372735 369047933 38234887 36218231 586875855 877831657 4037961 657680007 961461381 981361891 362896851 639089111 683601009 553942889 671960233 104281915 752892553 800403305 850600697 893376499 906646383 649100975 303598099 367505317 24607337 867571705 734476403 393999195 547264613 666296805 574211263 335569035 522755323 328255485 88362685 483745811 14160237 830026675 564569701 928044857 564167581 168243553 601445071 292312235 970126111 491796805 423520577 896458619 357623847 378337421 677689893 728578087 271639701 610342469 603574285 438957463 724408563 892778603 431082677 553725461 957550957 227667165 286676995 283935321 428404443 203014757 181519613 152785023 179280317 53926837 419392219 289498379 356799801 785436773 331586039 587817965 302357535 542657017 225943251 985942391 726043623 494120151 990373145 377011561 255839663 469951825 288726689 626642919 705993023 454867107 326995553 970986623 742390791 293300715 674884481 545081125 435929629 610695475 998336073 237152569 96888127 801473645 432640813 63182459 515978199 624127601 686669255 956196383 923081715 560118787 245402589 234958771 512199753 801581257 45262937 721107003 260021051 804281429 187741263 502812439 218117071 778705185 711033337 363676441 42899635 567818639 209110457 814715249 671688001 775679207 563623197 299415745 774836853 992254043 353032665 596295179 303132151 789181955 95186627 790535613 671679257 429779425 374648037 154395311 260291535 985651423 623682661 504641305 236742587 378649551 274727321 278463397 328756513 660416103 886474233 456507999 636917747 51921995 365190957 384716219 293718215 995957763 772373501 298395543 229051869 40254975 182040927 677750841 254169627 792314779 377878891 258038603 698756625 593628185 319901797 333771495 155519735 40672669 851396537 671158919 140890539 654676031 338384123 271720467 636039605 102548723 339846373 65622229 230906949 448670875 771402843 164543107 805143343 521922307 525546345 233717819 354683895 138534363 254633023 619977093 381547713 976646075 595332155 802228553 229866845 389429029 664893665 916397791 477575745 244971907 445593305 691580163 608293263 420598309 677393657 843521245 44570125 11625285 723823419 243448569 100773417 145522435 170338245 406172745 270819579 951546475 627857373 276983087 869564739 766288493 867767035 925859439 357029481 717436641 346041783 658092083 940603769 743816585 858342615 574978325 312327725 804934925 237255235 116867855 998324709 458275329 988620305 623750279 146748069 281653725 603898749 854719307 27038751 701950467 221998055 406710671 278800553 1608889 961840605 851371249 427607107 402902069 160172561 13812599 218098067 200357261 574845021 812551821 169552105 283608003 958304455 505289225 173128509 549407423 826081913 571772713 572962605 999659605 682564293 261917583 227163649 733922109 692565543 521260107 71230121 689890839 886894917 501801171 89821369 530200175 527230439 304544259 642713461 263973811 11094529 439395615 654380225 490556991 646813869 327689941 93311531 289221203 68882737 257176125 264159727 587594007 901901815 549746639 716248553 839130527 893303699 170037365 697257631 120057827 694519741 988009083 402597445 612514755 71253085 79774869 117282221 99724809 584010363 460693729 38256985 847547753 102068555 493853669 924055663 279918967 960755497 364485517 720413633 392908729 275608727 905089069 633547459 359297687 722739521 546506119 498423445 386813535 501374203 253105595 165992705 59696719 32245951 285953113 625274227 844090245 896519599 93578069 885700099 158189067 372107801 881252879 13750895 708415445 393548913 354317897 418678561 988029367 891437647 535276849 875313705 894926967 70101879 807664733 442731577 585392571 853205205 792568011 681141687 289507607 343781245 963515359 296629667 976377601 901215657 161411685 404924595 356835805 166820285 325317525 213331515 143048437 464438083 515472907 345100089 324921719 225847791 173753035 61954903 58429309 810141855 54028357 622574051 251774731 597873745 430573389 243098323 306900231 354238771 911357471 413274057 717213251 300144537 761287009 18104073 74375291 692087039 766530337 74302087 64822093 447438597 740296147 748508373 932742979 446548087 134091605 609537589 553579727 678271563 80526829 50533261 800148809 81115801 483795271 401486191 140190709 162554277 375461241 173047055 736046329 252139229 246816255 315687757 142840935 799183825 37703361 489369011 493628219 261923645 338961673 741377387 18130515 793481223 347517583 132059729 519391097 668562485 79325807 937160675 45760095 369335807 316559405 486878279 72935837 480141501 695070903 359875917 437685173 172084213 813820261 85767021 44939793 154324561 515485425 797997253 78855683 505961123 476123777 622308381 666510785 242802409 383764641 95854563 297525615 378240323 86416969 596025137 360908821 517774591 985975765 663938243 92170403 724636047 608681483 98973187 799177975 460347789 191135511 697833471 786093773 664029631 93814671 277224557 65999057 864204303 251605359 651938479 166747539 380024463 715297053 477233355 964166797 300981885 880642665 173510767 948291361 979612473 117631875 123063795 434530199 508355409 345523211 85372247 788259873 728861047 968133641 271208259 320406487 582828935 10051301 92784131 80703419 612750723 254603895 459946129 322877879 293413015 479399421 98759563 612064667 179768343 919283481 372717627 953865761 909802621 288099037 257341323 374459883 971211883 699457211 937601303 747707519 243295151 592999313 208921117 991403347 21594171 169491107 656516739 887242429 839696683 806877345 832335833 54894335 762002371 415023261 775428695 19214659 5267563 930990361 813748699 747213977 832114105 43640053 523340525 161940731 57197413 619894913 529194939 363025993 367710551 46575217 763767583 891188047 395658393 254104803 546825109 544432829 1265243 990354525 776109639 577483817 676758779 657135819 320690179 389326617 574489851 36622467 617292351 218414069 231554569 143812419 491256861 975088397 837454323 153170733 470096737 523951515 938138555 128630227 180026749 609843391 385685119 618701093 637118089 23244421 410203275 892259973 359048257 842957019 669667411 71101365 11550989 44599453 397911413 390311397 609505021 266456203 94595503 161715879 342079177 854371919 942657521 82567931 360631505 490648441 738749259 487154245 296023577 176861313 881181177 52589395 884676947 81601997 458830943 849420121 12828629 317310113 985080329 542273269 296360605 499084337 886539431 584843053 225580885 697025687 673198361 459594861 566542667 919912915 596322909 536603017 591962231 341523149 894470307 985354947 122140791 254675545 95317563 209135291 427512211 809783855 582643363 969709953 610512313 461271023 169710459 763558283 265879939 181193253 111214481 720656051 194050861 160026943 763965909 717237057 632448417 896776855 226739303 568843491 273977709 48311153 687382919 801417131 436698055 744347637 259220129 955497753 460781969 897348145 723861831 210942735 410630735 25893667 334761015 114161887 660163891 453724073 654831697 546351163 982134291 203381133 617268643 249155649 192238703 998867073 591347295 384645749 249141359 47476511 845232607 921376711 918647263 445081063 65591721 121939851 597806905 16516673 42395239 538314365 43695771 261728639 771675373 174017475 441300687 210805213 104986933 520321003 243947071 756964729 975700833 200865769 566086663 959176029 555826367 533542941 992105189 296052347 749206721 546129737 958526015 344625837 413571587 836660635 691689765 852470705 943531335 487903657 467895629 2580019 734656121 190317423 833904665 944588485 936579501 122146133 482044815 187944157 947027485 659035429 41118559 509344223 33382189 188584727 562067421 550834195 171358567 126823111 255490315 618625451 13212031 89425465 856022929 491846081 994762577 737894107 955418557 50531667 687455969 868463749 115804805 527369293 837217111 798742129 616171659 492207233 141228041 461700677 794288915 706987173 22014833 912098575 229676303 452706653 370704435 83815491 573530133 792753713 264430617 140577983 702342501 492097683 950350615 836539849 485703399 721394395 964069961 651201549 455384615 242928971 889126643 917553311 746123103 633906445 382090109 342666753 344227949 981248819 802133629 836870931 760761305 795847091 196325295 118137381 861722067 426033777 928039667 987090925 32596273 740450357 139468117 896780421 327434353 830963119 501349387 386313335 516577469 102466171 811423597 652373419 936479459 244455451 933302273 859995257 845039707 266641653 382151023 76903071 161937475 893098843 566349709 977984577 901049955 561536647 493905239 606893803 131257385 20883355 842497005 89200277 380552623 656712351 870435229 217394331 579152561 436728195 697424087 329122499 427919767 490295587 534998843 293756471 485778035 505865279 53623945 217945745 748312569 298479233 288118699 436250827 334433931 186146681 687176121 757697101 493044525 581317537 363589865 176266721 358794385 215739227 634855329 432277693 807269903 870188527 558362477 198818687 638591137 532979853 922124799 654389549 506131957 702790481 270667315 455034419 317347669 524672059 948307723 684955495 106807995 603879989 127972019 581251847 196982725 670566415 211844989 709699511 328171195 995250563 42825447 114542979 630940557 488829489 619779729 6528227 180415697 702379173 715404105 590091185 784235717 611990351 708538369 271683639 660848723 933037959 328851157 905685533 605609481 586446477 225893383 205239165 987163935 424537231 676493059 358796753 937262195 468688795 350313821 953240831 514829197 434826923 34096079 650769493 353855899 995096735 352189243 439901063 146736757 784491331 953519535 428401587 14844829 896595525 750736735 97655903 359422773 223300161 342493091 370009207 701301009 947543479 349662207 255676753 736231845 744090639 983661343 989471657 315267347 720281757 668089303 203241637 299903007 136606617 318902817 983009493 512898363 16779043 27197473 585334057 869352317 715069511 19955489 156085763 600915877 52119539 421694101 708808229 755454745 298748419 674812185 146823101 833170153 606526007 505501553 784377699 479754957 633601335 52791173 459318543 871606821 884141463 477883243 715017515 815846645 812722893 873354333 270447491 486403309 682113087 476363711 360170059 40432743 909546033 672709149 165760801 649439585 774782679 754609191 868619785 121947263 611192651 886961083 684858483 174194709 936121483 235673309 785255987 357711641 544925317 800966837 595271813 1119785 112873221 923095193 283229455 769641101 780470985 782729989 613443807 795847475 225770095 468217497 543396715 689020851 263896961 898004771 100200845 565875021 302668659 359724691 799489165 539643369 91475097 264160777 374526743 683981589 364267321 386244291 584282177 795810055 958687353 296101169 77866633 480860063 783440747 726194147 506294483 501415271 595703819 317766295 282748267 318530699 975144503 523402541 396029705 781519843 734832313 216910515 703870921 96134127 399134787 186616411 689659951 112922069 426408559 216193151 18760747 315691621 267276987 71354277 76295695 276539159 315790739 287104375 546801563 992942345 53941577 335465927 378283251 173847043 383378195 848262547 61418405 237810037 204624405 37457403 806040485 391378293 706978391 200175949 654610513 352615873 768263115 52035579 995288943 123667139 757830473 671868321 730222635 385995913 620759445 599558145 938954267 913162185 224312405 922423303 43025979 571185893 31405339 283530437 200504819 357454051 118124641 418923641 752431117 346159729 400278153 973329797 740920769 389069033 989158619 135825267 85555113 392785735 870451849 989119991 368600271 550548787 561526187 578933229 278628251 843490815 290800197 260350039 479681765 361472927 694398781 387776865 454727403 145936307 940479333 109918047 972446801 34100357 324807799 684941259 772772645 306054657 981570069 544853065 302232027 10676415 972467911 915783587 175460433 925522687 59468541 67809997 298603723 91224999 546353173 840271843 429033721 430433607 738220363 198053159 512742127 160580375 743175883 817502215 209816105 901218293 772707493 474327571 997848717 230488937 243379155 346244103 998813033 232315555 579872055 970750663 697576563 310766455 628678807 999943773 622422213 62655337 395028905 185138429 839178727 692786333 120086275 322407941 309360837 717061345 667370791 98927859 552100535 99032241 377473407 550576247 50637429 506246185 41250651 117479265 581153577 871925263 13930741 642887597 312194397 862614231 138344047 257528703 784778249 207316883 375742159 66571297 862411657 492613893 902479627 11288841 620694177 853242517 453348089 821831375 547726209 906600783 460143707 726411321 590855869 621876973 313213915 551443249 288039505 186028239 443103239 612509129 834538659 454973689 24429661 110765885 364752257 91617053 170244669 712121073 295138079 766768529 37029359 134264689 683700507 620943445 433578915 13094255 257517947 291785231 352506997 974972101 850849195 619190031 306247525 937837945 843985281 406782541 245572699 927246005 135006777 62218343 422781227 499665867 538285947 580646565 817373837 994773817 463053905 738337271 470721825 324992415 727077427 159464433 616454771 730879691 655391739 807220695 776436209 241314479 389762801 981801869 943668215 92858983 981712835 974399137 37008069 738198325 276492163 455661903 178502531 359816581 570863281 901371251 725197637 204636649 212035121 671362451 982272003 137073695 105248849 492469217 181429149 294833671 648072133 752781621 509889759 889847471 771970731 14161419 288221815 540029257 530987399 57359755 27052545 210911793 316883529 839444103 463864059 727125993 487743301 576162931 904888787 38998045 894826551 638676079 58766549 332912289 917914439 529123397 457301823 549038191 443491327 412380513 345310255 589408939 710925397 608303067 88365489 674937247 252737447 793252721 242215347 106731967 559171517 180970125 998096143 355640999 803971007 97601855 154928777 394903065 798538053 203046457 965172679 927703809 11439437 765235167 277377117 171135091 702695225 944019255 230757569 157924521 303158747 40152305 982378329 242180103 373567077 503534179 428006249 248877079 105017205 535845515 361986597 542054543 755449359 498274067 85224869 163286087 281839267 848222537 421546989 158143555 45954563 523837731 881359843 886271665 963035759 580662851 567154779 559348193 279180427 214128365 741237003 272138063 384951909 389202707 69628823 660981919 286228083 689397069 595871367 427355291 981719695 497063383 709289549 329408057 385463041 593615769 650006083 603895185 94278517 696232741 124982695 632936169 50358273 826874287 891472549 413865897 503495201 261564439 593171279 552011623 180036029 211401703 839411355 246566111 390792735 850219081 381484909 946622193 321001727 983362329 880332173 26926507 309496183 478936021 916631725 472516925 25531665 727377059 303180645 304377095 11313845 530031955 603961911 715716743 689533371 177728093 743366797 245274221 564431585 774597599 909489593 351741833 846232395 434258593 748020721 64445913 220786567 919346449 257940313 820730237 598041737 96676937 843705081 841128899 83033775 311687941 745555907 96801821 386251455 131088047 525389199 362071847 564479205 71318101 950439967 624089505 487433653 567183277 542776349 251978107 166710577 753919001 16383001 258650823 904392633 431083935 616591245 858980541 225649437 191836141 324149723 872941765 877874579 74296667 25071435 146283879 393002165 438343145 289970703 739225943 659753099 873860157 485843263 143258225 17215105 374586025 137214429 314575031 976637039 898307617 125013971 948571477 276502413 153923397 127993073 145818525 704463237 402707295 727577073 980587533 413946211 412583257 141079925 132021575 624986779 35192015 673223427 178056981 461707273 467429119 503418897 965628267 869971703 757707215 199646453 91586405 79194639 706565327 604341745 218807365 136466021 413715511 113010735 474284151 96738937 137853413 871935679 797609103 104769327 440005729 591923099 188902471 417969365 609593305 931125411 420615043 910506017 163051303 257564323 367897421 499762989 465007815 124010059 902816473 301244545 385823203 658002227 865235587 717940233 452771657 836866781 658269391 588510747 2326639 788573617 549517157 115085939 9823863 275104771 604176411 31660857 681053477 347126539 492844011 776292343 952600043 222734315 376487417 137138341 854526687 272469673 430621839 823972511 58150337 140198715 774559779 90827689 174507769 176567413 583763533 673079537 921629331 579450653 660943059 142316047 707969353 291130075 545969821 793415165 654202235 923320127 782288577 123862561 380906029 661767361 99483513 721904455 318573073 554935751 877803307 30452905 140203643 787351445 657206109 540156127 677878895 615413601 455657415 474611951 604325777 822133567 936912705 897060681 317300017 606019893 355843793 80395457 765891911 288915499 824888991 4753811 386292593 469013743 538025731 782638695 721061879 171846463 736478067 145077063 709256903 410288825 694351765 524374697 42842235 862929385 115960885 645082221 882561871 354793277 677431877 880083157 21150253 515721233 110885343 568964495 735724961 373698467 749619529 426407603 519305959 368750113 706892781 76469689 772542681 959583639 67684189 26138251 484244227 628450051 777796695 480914549 566281361 510582595 112895931 952539435 908855643 377918497 994412439 637879753 229066977 62801 758653981 303705561 586597707 115473255 908312745 237858885 457140837 122956521 672743101 737877089 66920617 105241405 328739077 744852717 852129333 84757943 391749203 919499023 738220497 791467661 89810597 571917137 421022189 559640035 78916637 123931305 606883231 987920577 8698885 619843957 198141351 545638937 575701969 211962491 500299627 470660037 91508253 835373031 930958843 621033347 203285419 225515087 283152653 430360065 455255655 7267761 244601347 405532619 63225445 528608879 549747939 427513437 606248669 116227675 746306395 310947097 110285111 503962023 489254853 692676681 988584955 958301167 164093469 463632923 801193439 110659389 758418189 337641385 555776187 96562425 369892067 231072757 375111827 815300349 20331157 115720425 244843155 608543873 443767493 820568663 344510479 130289457 766034615 797478645 443777 330124307 908771677 247191911 159721357 670047905 798784589 362030389 164228605 836531129 152354503 549567953 733439175 254044827 158659249 628803987 182146307 575495673 294643101 327708349 941192693 878822631 560061375 189470841 580811787 813561313 765671159 977124313 314627541 146743759 801874893 378180307 595925775 356216059 400511089 918141259 370573213 692759069 412976569 505025033 831648907 186991951 917614115 888601021 676667657 424108825 557457113 970910213 237866357 96245609 416354473 104989277 411412051 264350353 827479819 38634801 368692045 341982801 119708445 906158289 85262901 495557835 828163239 463505527 326103559 975024529 959251223 374033221 465944551 630560405 777488517 56189251 310767649 279519029 329593011 740404321 808755495 992529717 803572227 506580859 711504531 815790533 133094537 81456467 287433771 297421433 153267449 77285773 77566681 581032013 719494069 872566207 628713391 913125543 791351233 27652707 872041707 853511253 623140303 988834261 276403437 512945805 754004277 455283555 340629827 377039337 864256755 834112059 693119391 466763633 306812593 937137273 203960539 876850065 261677499 529016349 98384893 492223775 623472139 837725201 394107183 730220121 653022015 441437477 264171203 626111969 711302559 322375955 897527863 448579017 498100507 606196093 408395565 334735489 141506633 269667049 385133167 164102123 669901159 445121485 236824817 872565833 411822943 709161343 192152781 712145739 574200511 48545089 615520843 341303557 185309887 940268859 936862417 716763377 112050749 128221569 515797491 865023227 669736639 522080523 423958127 893735529 123265401 263296697 193180967 87411957 443696701 28784727 211130405 529122749 114718349 600548755 429661597 302205505 637193873 995847433 290930923 763514227 200251415 226833209 701127057 988669095 907496341 163336589 931383355 997408923 93931307 374606675 397162429 303348337 719106467 102921417 454381585 461515961 71400809 933644301 233505115 663926377 682840469 115007019 702752997 115543003 95128807 374175761 245013029 285823961 37200581 119783835 145861555 489694347 791657023 352895113 819657811 7448713 331307277 940795779 981751281 852904401 361632397 708167453 581742753 633506503 970458313 594578127 300183967 412757303 269153131 423875065 834016331 961449817 173213391 355870437 879704881 876004041 425453809 651714501 77319941 627085197 821738619 911231411 725266853 363838225 877376443 856767919 917651215 674979625 66547625 647184289 66276979 663153943 73265891 89145181 897357089 975862907 34117297 220562841 415127445 957689957 531192833 795982585 936914035 166118985 158977643 747985671 732674439 579204871 621702959 968374065 432954563 7742945 139291189 445454289 634238785 160583557 606133515 243966763 696872007 259059977 669281767 41714277 858912317 490010859 574293161 740483219 534052795 982233101 994842587 731335595 401459831 545403585 450196393 842887057 361333847 144110519 215837931 857358605 828550247 914845969 704324641 560673489 421024217 194192723 787243121 2983543 215645449 416082535 103435435 443905405 552353399 323163815 79021639 573696079 797252051 542578637 776653411 192995647 39872239 127407103 932966087 13599107 172679363 685120715 807472867 812276287 954129015 267232293 568344267 964526971 669490259 934210411 842175555 386890537 469233355 7802467 830929327 596952609 373626745 721986617 221117727 254720295 764199459 42819203 125555529 326985697 111371699 868457533 237518479 67200993 181051709 22649039 81542135 432895395 802637563 794583811 909162543 220824963 452328783 954628111 761795215 214484175 46853063 622412435 662978073 868225207 236803093 894215569 57877103 211758931 156081429 847712633 676217061 43629735 318135241 771145501 217420655 295282585 202478687 472244925 624899501 917533435 814270757 455936765 806640617 473026695 905562523 992090089 261085711 248423391 157577059 947598329 461021367 330662283 438543687 677628681 619779103 416955389 990795837 904844639 567615795 444878477 487784541 754255015 502268029 9763453 676967915 16581365 118092087 458244599 272847955 54096331 291707455 882509067 17985833 315597065 683156253 749039795 26894631 896676863 247842047 684064209 529230641 571132001 639920575 365953581 154724177 924565839 169739995 780472695 370179005 562648139 490141303 230020683 110487501 134317123 435209831 513620265 30515975 784251021 392208673 243567483 352534547 439762407 410860227 472584849 136748999 541054323 726386195 257669797 242342941 946826179 557262213 626469849 556299065 229535177 402217003 617650995 746322535 566134755 801057991 359442857 229454615 436571349 832148161 80928017 9636841 258304719 625005349 743050541 876038043 488302179 226951085 124982439 120341533 289023889 313121721 549049871 559715711 546909373 567255373 308984031 698463999 162373557 198157339 653262967 183611389 508294829 310814329 366419235 497543943 543578437 132190311 958894353 363559117 627383677 662798987 176394589 513255215 405116103 383411509 930009351 50016301 91427575 404050269 714321399 711499505 993033547 978934689 759058433 735724755 502413157 515188041 995858909 53824585 654244951 737988933 150692397 80883707 528114577 137139497 983154807 386037681 518786037 789032505 588746799 722394461 339107013 298606679 532650415 237179423 955169457 644313879 917122871 697562423 605012171 690899119 449892849 707340561 86277523 788450557 567860971 82586175 896250861 501011591 248253475 996717695 263735845 386895743 111902071 380422579 557147379 441780413 296168371 536244453 66602099 952484541 585801093 345723209 247361323 902281895 887422601 75487547 943822599 390922573 805595197 675102525 632694877 866787875 297795343 612478203 584108777 481554505 92739405 921708103 606907601 211243401 51401775 7787039 434999203 136834893 427493081 605860773 325867349 12293041 788422997 218727203 414006593 556203635 471507345 436994317 332002607 254537209 423977575 134573823 653956683 598474835 569976475 199208637 388147757 299022905 489382355 866456879 92209613 578283017 634794403 528089963 266495125 42157771 8680579 857542059 72470351 576248623 303853267 840127059 129820979 276907657 805935581 623205613 64465117 786855901 555435731 97280813 952007507 124863695 274355661 964935151 576448767 358932141 128185551 196831287 149146811 391277939 165336255 949143085 123036865 59563709 234482801 813664807 79833015 121368273 802048411 849575839 313938859 519723937 582958049 923542073 653093137 89136581 254571467 427620545 686852039 38735225 182908875 872435751 339461139 133713317 452521275 654914187 167561633 494070491 994554713 629656619 364842119 232015439 691017297 583407223 960025155 357366497 191354421 876848895 140073655 803627545 94450683 537113215 317445429 760281895 541526663 302100955 991492461 212895713 958188961 343097631 298721921 273309639 368598779 193568893 985978355 230842111 80086829 921780559 46525107 171583321 689389755 610242843 200206867 509255501 869383947 949855883 971019475 705831161 649715567 159214193 867844119 653245733 558217761 637503689 626413677 770452543 471145283 126153145 676087497 487938913 694084061 371475079 706890633 37104967 585004769 945290923 525668721 389673819 947674151 455871167 473640625 206635179 205233009 536232325 543891421 199048429 600129897 559014121 331773169 170582403 729388703 770866941 57510997 927839859 360492175 676466943 654048211 185204075 354793621 257465935 955827105 491836099 393241343 98982779 840449887 509714555 914569725 576577845 220973839 705703737 779802279 650695001 937727007 638800719 782187007 267978217 411967077 993975729 389965295 879135761 991692575 960693503 652221511 349759269 192805361 120560769 79809473 324701597 258461671 431602471 261073663 509496865 673108089 49195655 305671561 26072697 238662787 491556833 467256527 289075865 516020043 369260315 457598765 129067933 142819195 824510405 736928483 473639111 354682413 467965463 220861723 634401413 454574555 795764207 101804773 776932197 796473707 97041877 441922619 122583847 100543275 573604343 898106623 452612525 404803023 582105903 488985591 941551105 447243127 482011129 355807705 638484313 842142883 195062655 766055483 922446861 718243655 822069901 488429215 674250913 913546675 655423647 892514669 743378113 337298341 401653457 388258041 203646017 835393861 463782121 136966779 763436571 714391581 749796953 166542613 846280563 376104485 898642743 124362445 889658005 126311607 945573187 511336857 771062257 321870237 675435237 820709967 966938405 604219391 343400489 34144175 779853813 605970295 148884937 801097575 320743753 249091837 924871717 169811205 709383737 809016315 177537601 212382979 872454907 507569981 988952271 407946177 82424821 84808183 144408867 706875017 505922737 793475783 982938177 218396815 876155621 125217459 737936333 849277929 920769385 680592935 13416215 48034967 876016451 789401081 813711383 218459527 271958685 628621413 98701419 288865159 607379401 65876497 64334939 284197967 756393027 853515021 327192533 143700355 578453425 124778953 459373939 78809517 133986521 114668071 105750385 11911483 22914227 41115753 750371001 69338505 722672985 95199805 557985751 686370261 138127629 161471417 418438151 963312717 845760825 506653787 738929699 310691583 423196021 520247303 604832183 738915555 595567735 977312777 865790959 933527773 182337319 97669657 172547747 622116535 62041997 736716627 937812307 669623839 592617949 846645053 188041253 175618479 541026673 420156609 453173995 696025067 58999247 72476473 609794585 300490809 950439329 801412959 487853007 961478637 340959163 851159641 798007509 752876861 532195349 650092213 765707675 647977037 492448471 978120041 155434295 440586279 38558025 326898895 388736615 642610105 34940639 285515183 927969431 271017181 537095733 129965621 705263825 99426135 471611917 152050935 762083021 940861389 95306835 470219251 911107565 576652497 999053083 815902091 533442103 164539359 629186463 317935503 865198937 153099861 643465027 55601717 208624557 841510013 879620753 486852889 826710831 155294345 200860221 840451647 917386377 163745681 157071907 921725719 719030793 562286231 188021317 735239027 981438629 312373127 445763537 995878547 332052221 347890733 299105301 152567835 47068763 225364293 95288211 151222553 618000811 133708145 348698855 210126081 104601221 930046009 373635555 710790321 591686697 306350351 898852469 249159023 498080893 686441547 437049787 47393767 817442579 910730801 293238521 739568431 147127839 667534823 326352535 48690115 78342017 972401279 452967211 171064969 162674625 492296691 978418799 845703633 997486863 71512101 493193799 191852107 473887809 659727325 149877695 652233753 907822549 788776909 436909065 527103933 552118005 14396301 952164735 738549541 121096815 958186655 951955109 808471719 314710459 896195437 885959465 403102209 585671159 500146247 976705755 405266263 675347179 976667751 872290489 203651639 824716293 972861167 487589859 789227669 610744669 636823015 13460645 89142221 347583669 251121983 80202613 265332649 169089135 415823829 252349421 337699667 937140383 710084709 712699341 438757471 726324729 543532187 860302853 458127311 776014047 263293447 441997733 556845315 107596373 827566883 151476971 181081291 214324493 699707983 661151287 377957467 614502493 139832535 350481687 980653139 751097157 398384619 392147261 231138227 652012397 687579555 422494597 591375087 976470049 604713985 755640049 426530519 396731227 11807725 106353579 255188393 739252409 471268411 919350795 895254541 928881795 750104227 334248329 582493197 162893481 119465159 903066567 616701473 488719297 706588461 268058003 955865125 495320073 570497611 482955743 566462045 891121771 787937143 607696583 682906233 506430325 285883379 996672653 752416395 950641247 506942951 856231069 418875411 491355655 843732327 297456779 11416309 143916019 401346923 251361039 26752639 222913367 152433365 39526161 270540901 12266501 860289899 176328857 35829701 180185471 36036323 808967131 719060517 524648429 960771025 502002739 855132785 947953437 71846587 843817253 107934719 690241413 942913289 981375321 623133579 318245189 322238475 807753125 168611901 661047591 796531193 627926019 400474271 922446743 752952057 62831765 263402409 426295213 338992143 718496427 945477557 226495529 369743919 252497843 370659211 909457009 569290547 894747211 582996825 264478613 72639195 663168311 751484849 102909773 637924303 524841055 752827539 93783287 125325987 945761241 275205731 920615579 573331151 760792799 646157037 659010537 166822835 777834197 301453929 538531127 442588057 24102981 335166579 505715331 605534899 490903013 277741329 790421111 88555035 861935501 756948397 341833569 945552081 574456643 12743713 806110777 616822973 157389359 551924135 81017245 209779123 702186919 187332583 864430291 511662697 881384487 24536555 678161615 62203267 273289295 328681769 867620643 387939979 138628075 491510399 405170961 754725615 286422769 290967347 605809793 960296201 927502969 825412595 328064767 172136733 255649225 571654609 939394247 240108625 629328715 933025099 801826227 524903865 274263441 430337353 252591183 555705675 343450711 872593941 278915271 38314731 556245379 695919207 548242931 290097505 956191261 639379547 579585617 740004703 446416215 63408757 753510157 357362303 17590673 726023333 19344113 106252351 100374859 840195389 506418039 642798859 16611377 923798013 799001533 324931381 641527317 720495369 544363915 174926835 65468405 775529967 532008529 565303913 873656049 858670243 366114851 266144927 218882903 203500677 953900229 211024519 761269145 713241941 815073435 104817915 52957523 331476549 254026165 8824505 753163847 12409065 155924169 416780141 91333985 680035391 83777593 572150439 693252019 688577449 824246539 74565347 748520827 835142647 164744173 641806463 907463451 738057823 472070711 925900485 861657629 919425405 607364329 591076069 764557877 838380629 875277227 677596925 199729727 359675733 218101707 177232649 24627005 836923733 296577855 198529525 479230299 221203085 200411047 390903441 792173293 330154919 372197197 757613207 8049005 23795887 88221725 507624873 226991229 774486041 448080559 16609359 428643053 645012931 44829505 480489723 492325803 163219443 324943039 298458885 345208533 977478739 715738035 128924591 917213869 825764093 157228887 700040483 510765217 792074603 421539977 108855153 767242815 219683205 191685329 16267667 312445513 499224213 754624349 948466283 771463579 761918545 639616007 612031425 10093127 664205783 931097165 65173829 163681403 970244269 808709715 998906771 557727637 783145921 477745133 402079019 31797529 806951013 350092689 589118327 17651119 969181015 373458781 831843783 525555245 890278847 789027351 141085781 555884687 760205865 244258353 199652675 674186997 60321671 994484931 838474649 39523499 93584955 213356169 79823943 749042471 426201353 800667371 875036969 500083457 329633819 472167163 358393343 461765375 52859915 933137005 98190195 213180681 932067027 363144867 825574421 502481719 818844889 758677409 55711071 804109503 562465259 979565849 562395313 56605959 348602429 33333601 834924631 347269275 770055021 363237497 913962623 149403181 468074881 770276615 349414469 592918935 606599653 121483099 553479849 860953823 726141039 861445741 575875477 219383087 839988315 290082011 460484313 645385689 315329361 556537837 754098989 649115995 872501339 105625233 705519927 738005589 260054769 966879329 476952699 379736213 926759407 871927963 569123439 836880909 444692633 198193955 457048935 945785815 413951901 583959437 21134249 667351353 893598739 820647439 894838365 258893469 174582899 336925317 991451283 765227671 256566183 404937083 934799939 225187553 994372603 3206429 491736403 784308061 403770403 249434693 777036935 94177561 308836413 839025519 421102739 423847751 74118863 943148483 694191889 721485891 173467077 10014739 751298433 550972559 683788659 238087635 314007627 109806551 874321819 158835235 165783491 498305519 636883549 13487821 970879775 473201105 783847753 238117691 120583045 95145631 108538963 26639753 979371769 875446441 391067355 341123445 419390319 641240157 165713059 876940645 330538945 617903961 733493977 424670057 226500781 616472927 682610963 96056377 345583585 858241883 176736847 424399411 920700137 107975777 383285233 144527455 551115331 595965611 44550853 795862893 44187213 401886365 46243843 515142321 41529425 982430657 513833543 9502511 519808897 560002509 138218645 410987147 632828407 938888089 398716253 664226323 740150705 591587881 309053299 374114243 629308315 364360619 516649747 376755511 311895687 398192239 183569635 55578293 661078059 832897009 651733745 130404399 140335659 258747349 816094129 802268733 195687185 134305509 670498049 796730139 641698123 249709591 10294567 192809905 907683379 770571139 627290063 126160017 939891467 322321263 760667407 729765103 187562493 823898435 144228963 712275883 181781787 862027925 571758515 454652493 254455643 516454433 919182409 358769157 966885281 585565895 36212701 787287209 732787637 517664403 921760651 455823801 932735305 586932155 898403031 571090779 266943221 100452761 588163759 488542047 747879741 317222829 199167083 773850685 578920839 553869479 25344197 983796755 126328101 718730583 358201059 160858025 204896849 125213115 974273873 589096813 936958765 533270515 49610503 908776057 714396353 130525005 844389473 788330889 774321151 505919291 19391525 842043911 640379583 562567255 698547327 309303041 726394563 785196903 159309829 268855341 156261557 114795093 729870515 47261933 585420071 579876661 992513263 661688645 287095183 361388863 651552391 906137833 502827343 23639515 603583921 617694763 974120627 731333009 496346631 881245453 408264171 649070357 397488529 316455477 879677967 637018689 73665469 373863413 884525089 90288923 218988125 254557505 447505419 476347085 780384945 75974841 627705245 156814507 15657563 282224037 85219217 72243503 709892717 709577461 9644681 696112379 498449497 923644991 962021901 615009247 904683773 975148739 100947341 93072841 375479709 683547751 31476069 587068375 882232553 367588539 793382357 965463371 831114227 609085431 254944263 578880657 271997757 687555065 351600395 418224189 862186407 832798025 249381595 740687369 147304833 39071253 10997081 339094487 415797119 666984247 74759499 175988919 540149183 874082603 569942375 2386903 942651591 789695771 282564419 416423317 714865283 500929491 838116449 763420275 825892681 470154959 896162091 889829407 660353239 98008361 742440433 465379433 581681999 149100205 31393259 104185933 415084611 361798343 761660991 962410735 744968611 997922191 880829681 420046489 935863505 68874437 159339511 925116865 847065487 982090449 751444007 116973055 652121869 862191039 886911555 165678871 487964381 919642185 682415603 925187063 702035455 647585485 780024523 982281135 22713815 889587285 240508227 145805947 45042483 567884683 73111483 633537727 934968135 955920331 559163263 755405831 730773169 251564563 964750269 406444549 611964535 856441865 84951697 707418515 953489157 173452541 734922745 453595063 61691695 503349991 540381923 425963161 572181303 436332901 196348957 408280207 711284669 943917247 380275551 733323029 782313681 829371619 966835279 726026699 950039273 70530667 346761073 13159295 840871391 776493971 729351993 512571683 148491259 631655749 487813889 247800017 62157035 422621197 407507465 432578255 507728065 655258407 290468985 328894087 834125053 999694701 75446373 468664203 277922177 661514347 574158019 590066841 223750047 335316813 421385335 289318033 658964745 739837931 395156811 139849089 180302557 343437765 649203437 156717467 843509919 277476097 800752631 452110395 375345983 640441201 48253677 685920483 278550545 928968073 57680693 433417279 588024785 522834793 59460643 819723041 84840357 810773977 612893165 595378567 239053339 927479113 321280183 344478609 322544167 281414863 597991819 948526221 231485481 212546345 820059991 473317871 229563617 388718017 721071605 640445517 910431363 911599013 463570729 313118833 403754399 189629069 571902873 523012673 161221683 278242775 678238679 116817873 622904999 367436171 89219935 973601887 450386117 920123223 207958415 813824845 395084485 31479189 450490545 149094693 700827715 773887041 380452087 440496795 503850307 763026949 707805561 210912139 225014067 200821549 323141435 854092281 516870123 677565621 976783395 591098125 244816037 837930807 885904899 250619421 219248391 163141119 544655765 335105443 623378975 392803833 558290299 530111555 248099169 33985213 403705149 240963015 325070251 833800587 279962189 667343397 970108995 525508681 914870531 603828853 430732757 196162697 733751715 255575035 911419253 468677759 390340435 532104485 734656933 122062347 711027493 694462083 833136965 882023349 154993939 705605585 757764261 159913389 932659967 982385907 2812027 23176393 693864881 964616947 26558177 274820999 861607387 345995527 794704481 95465745 485190421 752545671 516487395 925106229 427692257 456683257 25111231 688696427 734930857 959430917 169529779 802181329 881796541 180773763 613842915 482970925 349523543 67632489 525697755 347002099 667442329 766255069 15860371 108777013 889427595 149969195 492401767 381195959 642166815 478221253 460563997 582162139 573338157 598415685 309799135 244139189 588759927 753323377 748070983 533393657 986321831 465366321 371188559 808108041 857016909 239462301 108702557 474617577 102411747 848120043 914050367 34613323 720586441 230324099 138701867 131220869 269425227 742803691 438201019 859783063 121747865 978132699 253014519 891377703 961124043 110460973 349917259 519006855 770412003 327406563 586461325 563290795 15709641 26853929 641183995 51742771 11982163 102416209 699245625 66467175 502834739 991679705 263827539 810502711 333966353 546524257 66863041 725894969 608511347 580822711 676837981 104080043 65444553 278706893 421145713 81121655 578905967 309825727 843153829 613842475 899511461 77674703 110528531 993228799 236806293 668565609 112572725 544097231 398332749 792661793 267520753 835524903 289493963 318297521 440018069 69685557 780435695 26938621 786127829 118559693 447740031 869320463 532831695 756853873 793497137 832514587 716986889 56883529 502004377 932716413 680595823 387653153 656998973 930769079 47696727 667389301 418619525 779175541 165778557 679794015 850364097 450979723 855508487 76604587 196576041 403801075 2680965 296408517 645351907 242332113 763005159 639709125 18544115 29532783 51835791 952195435 161338959 790543681 656286015 228958237 161363147 682038501 976461861 918433003 872389933 1668633 391963353 839383437 942674971 370394315 322034515 632495969 775010857 652245775 509190653 438833775 310525135 871279135 926677667 597405799 262981485 189234015 922725241 498015647 503238221 581363547 932625437 600637973 870844323 394474179 976346259 928411763 709978755 529360247 346136651 46963463 310611955 823418229 346363161 725157065 295221721 105806829 766810681 470699607 576954889 592229423 369117009 845694711 36950841 620123831 882100079 341483933 479504911 351228457 395265033 118720987 919833103 694373457 218962937 89478899 640520365 21265183 806426759 20991693 724966979 19001779 852467807 690417397 240345871 31224141 361835671 166475175 756495421 281508439 383961517 302767293 1154783 295480679 174937221 313523907 324845803 745661497 974203755 712978915 778772549 803659437 767842583 305170683 941459895 589913041 841720229 946950275 37048815 937293527 797741465 897077161 331745415 600124953 825533155 117686583 628803329 308646429 90852309 991907495 819733961 141491341 830811695 482211607 305782059 71488827 244150293 219241039 5282403 180385573 685185813 321214911 604230803 544281451 989723427 123725179 692580805 420836443 317656989 726309703 554212325 604150375 843743305 962959751 987440595 99528491 18045523 112355403 319316043 451633769 303654225 318449225 852089081 650060045 200514623 474329571 865073007 342629931 396977797 208339487 754420771 13377019 680395501 835301803 206280057 959828197 313178287 211137503 708231353 684797553 644368997 205718459 824375573 351439443 736792857 472012519 385150117 442714983 216012083 508350641 120321387 77607087 955471243 906481423 644422225 288698455 997722207 758988193 133156903 369685683 486771283 217355953 283349671 41158973 324983669 631870505 363990387 195827097 518863929 826395813 17666835 33435793 369967741 44261475 18873337 643409689 781763205 755648587 397017981 179138381 893695489 812069609 97781473 507499889 911727365 918771575 170744911 765220589 840994573 50084563 165567447 990299991 663535615 935644293 860903027 535459177 897166121 101145531 491007237 3994631 647672897 276480079 706476885 766125371 554306145 952586685 489757971 979824443 241826065 983074863 948370653 22163807 453371709 168296307 866013487 564332843 832377915 15998977 459476339 182426445 638539977 76589045 65438973 74250389 505434123 950474779 53384197 327646975 545064589 564040415 738093741 619757743 596128583 823599451 250629117 958848241 901922965 558032971 107810021 805868341 992107835 495917335 921628481 934123547 610931049 764183761 2738385 937622113 420772273 435442477 851552831 528219639 679601683 11113357 912070683 813562605 980700405 101241333 6023135 43800703 230609951 658683415 470825195 512007699 658089933 484863049 656467851 638256175 581675927 614433419 335439341 470256011 935349637 993990531 138895661 446356481 707051267 321840001 45562955 688492945 176323559 337790333 31353649 72334187 412182893 22882837 928724911 584834785 129026877 510968977 245078143 928822379 596004961 416293855 180211777 760177841 867974737 302268313 184622207 769838457 569681383 648210171 695475885 395461307 854746219 1590255 336399649 24436625 730934923 744557059 99835419 376979261 793114457 354020207 946160329 517802027 52952917 276038159 381065273 610253549 36414307 832067183 827625571 544022849 767809489 318982843 238790957 202012425 945617235 43843019 151354715 922502479 951315463 129901089 534308769 637811015 460479089 184930527 999112601 938095947 191291009 59513561 445263043 367067107 874290315 473054595 558684551 966526133 324920907 392229373 365015609 2800021 333678569 796356623 874301457 9101697 953155823 276213545 864589871 634675099 108570963 50630497 723884701 867764269 329543795 126279799 169215309 925159339 373335575 345106129 552449305 246513585 501935975 102280319 491455679 651495425 198110203 139411513 421852141 391322505 568672977 308212317 444875823 133804889 182463307 634666483 99030531 190250925 325174331 670551467 926306759 668169447 815121619 840190169 438201029 301568663 1280431 704203905 91691567 299209323 849780185 637000773 397846047 48177985 371294651 931965817 566537875 339681309 273559081 839248403 863371897 972394791 748518755 418755503 51316381 118345909 2704909 622961305 380931773 912008769 436326965 816492733 355615351 109329263 169537105 42186419 475866197 395278091 234050107 24701117 554972873 831725573 815550011 813534141 134584619 496302203 268454397 573848645 972108479 709704369 568122263 620128655 963672491 898988561 644181637 966044277 919424001 604918829 170322095 362120321 6611643 465937857 516910943 3201763 194592955 103562161 362581581 92267377 612982729 759739401 11193491 152982955 559218583 306019579 122533819 483733943 504992959 28485089 142278317 864789349 23137215 519375425 880515777 314314541 97197059 574198467 137117877 599565613 267663067 530195007 843209645 257786925 957646467 312997547 406911543 195586203 125516567 239554607 38488903 958545809 65843621 191204881 611028283 283311051 136533789 885848009 800513241 695633075 408048471 682850801 438230093 345605975 321070103 876226379 828783147 181163373 838924803 557327809 173248629 487114327 874057645 477538667 809558411 815211033 257429647 9200001 293809981 987543653 640920587 462944613 363687873 403436947 871052393 219308453 639490225 272387487 586551257 996080883 764158485 316084017 762350967 385836843 787361113 948592283 962432067 48135247 876225109 648939729 908818471 711456139 627163201 176289395 875213555 941246001 34563783 882877129 306855779 772415167 135842035 692013763 722248723 266267095 935508535 782441975 378347665 951515459 201354101 211021733 323036237 179268855 366381041 12558259 780048287 41149967 251206231 697086385 565785801 115170253 216624059 927085527 699293939 921627805 526060701 482216451 715970865 558532883 146882017 805754043 689435003 534556393 729418197 923323443 888169395 66031619 470968111 644635965 324324513 531607915 42215945 815928413 147745013 678063189 743465707 953535159 40691787 34812703 474175937 124516121 219124771 528043079 858300641 289765119 515253991 894731643 524088839 230665091 604637927 320434319 296875355 588469873 979419997 699417725 811807847 878271285 687333225 54017641 173744419 441073127 92937495 364073631 38513899 987218503 637875285 723824015 99063171 511016125 93886975 115011287 36906009 763972437 753865941 122703931 65246789 565505737 703542911 788198563 575514881 356653943 363227793 884245285 612942259 959958121 286598019 506396157 969778471 658150473 692461493 271853451 153601687 547390579 809422963 141437787 891168411 744942565 349396715 125065507 240354361 958788165 176423225 619631547 236860897 136101091 616040285 556165161 815983719 432793015 785413695 528400535 670274055 635517535 143901875 455695191 559318889 675563299 283450993 555120101 200546967 400977393 475471641 280316903 744274951 89705313 552600373 850506275 654767001 447931829 225589559 327993233 910244751 297567695 61070969 881889355 393481623 660791875 129122363 811614865 616483785 879585351 403100837 740072403 476127133 664019639 908304843 130627491 782273789 971551519 719821475 342128313 11451189 212762795 400608275 458972669 613133817 687932723 455707103 718356853 981087845 692064823 589492667 385775961 695317507 120195549 683333185 179468547 429606333 103337463 533039599 125646325 849687271 666728185 712609841 353921243 214914113 639621891 795433049 388197001 257914097 768687325 641105055 774335223 661214081 947801847 160264483 823441485 937474279 243406951 672553199 530119123 149615489 747254251 421661941 117611773 515921429 269849325 924852493 452575335 855156431 755482747 179837179 62217939 466681925 490994765 361303397 247725101 473417845 320508865 759750367 199340681 638823873 225273055 882715359 85649185 8330747 253537109 228575433 212332887 184570197 19962237 425016549 42270651 169471851 596418899 484285797 739349755 606426695 794729345 766832481 830073077 668244305 474530899 391580125 110270379 118073955 915805381 310069951 781639753 630388405 518308209 647370201 273828387 833023985 630076323 258150375 490255795 925289251 337910855 104665989 987910045 729043903 111866101 929146433 243177389 779805861 470999277 158752139 131010003 463579925 663510549 813122493 197793581 310507969 561893887 847050517 677233407 874406333 24786655 850961087 102421937 19345285 36140181 287651275 157570521 576906753 888204713 562051635 379408689 42403707 505633867 940088281 602961821 72221865 416446799 626427781 105039913 693317035 193315641 668292585 18176005 187736323 81892141 935044765 796974481 606495393 601241083 777412387 767096139 27917527 202747675 339869157 665798371 961486693 200501675 257842995 928010793 668282477 462234993 10442313 216072217 284664705 136420321 188234819 469286361 199182995 141190413 115909935 643476399 925370113 519276727 346703101 370294803 711387279 519586119 113279109 249950365 790414445 280697547 503539337 884422931 630965295 709673465 482637491 150824543 811887313 529955635 203639443 363736467 997581241 916214653 793669795 249344237 978323381 857618313 544200005 434184909 118688761 935149229 147474879 32219841 707906341 460536809 840787271 930644603 658024507 5778659 524656115 309220565 664550313 99325165 164374469 700373205 480667205 771463163 319909799 755957413 782412365 698168749 784931945 328334489 459437667 140326987 403939269 209915945 881272985 686363589 264580955 652845309 549843807 707575471 23045559 171295197 158095511 339768653 108829511 515218877 674334339 213358211 721804647 245003961 706468563 117018337 130741079 19094803 815218073 663404959 242992961 957645879 984902741 250802585 27376437 89744823 756709099 223617627 11399723 496050257 44373673 261224209 154653449 761449703 892292419 549334421 250316691 370562947 843672025 570200419 464257407 743651417 167319531 568482469 620528995 992321733 907745387 193680167 575808959 133094473 310580909 62123877 935291905 490966931 906401135 750545785 256095607 946363249 360262099 667496495 521430107 166402531 581511785 662892531 140344525 780571403 643519015 767453 195247575 358087731 20433255 861519021 212251245 966311633 255666931 313718217 51245155 868164477 979699443 69617729 338134399 178608379 594809855 116118989 602418281 507118393 962705941 242720715 997129647 73951815 93957529 399169603 196871887 658693985 269715031 7693541 105665319 188866539 17106055 773035015 152770819 155601519 656730053 711083943 193850001 417345443 7312919 854717039 853924587 900569439 313864425 600818349 701234453 512060841 624680463 741358937 72406261 302770601 882331851 209283343 112983135 932708533 792825533 724818715 170569739 291126599 8562421 676216939 793408665 873785349 721010919 787021459 250569619 56746165 622763379 787574485 373471851 439131471 472151515 397339417 109843323 714493675 886996685 464543467 789321985 214290639 561876319 260665479 314144297 258526053 290189839 626489799 724276741 554369343 130297279 926055221 884722317 679445017 261518529 849585921 741997985 859350489 878322629 192926209 591201803 549851013 264958189 142918325 243202173 696812117 837372093 112335939 878912655 351409827 241748767 342152573 464371653 788471537 958586989 28034007 9146501 77752553 113523297 958060145 393495841 278890083 364983585 818097427 573296853 931952725 877207099 264759083 479645887 653996007 880853923 420331731 246255337 617637217 413265591 257288649 98777413 194529079 412853053 562476147 908658347 544156419 420915809 561432287 92756445 163894925 432737209 628712905 640605317 787420345 571753537 63101837 905936949 352197793 166668641 838517555 12916579 64448637 195995107 293419369 817041523 179303087 782340861 900433799 44759213 961606853 806680911 719224973 704195395 246820467 784374235 17860131 742452813 377752719 39374609 65525141 121739213 363764259 45504451 404995295 923570349 402063701 936129073 228437403 515833789 951195771 937072895 666909203 472580281 174155021 993895993 77215287 122849597 668609715 404206679 99808413 689968599 760014389 512736565 171214213 690328823 395440265 588128025 82230229 679778805 604300231 537129903 892227103 816870419 728010803 775590667 403239317 94071163 329545529 618099887 277485341 348251709 433826925 51937403 232293945 569103701 27610761 291792831 534347289 319036831 952472177 845365807 517140119 108471529 452064305 879689963 70264623 995364579 582600185 958280053 578016267 351766565 101952807 761622203 181192953 370287409 481671999 175137811 802018417 190440305 312529641 267616827 801770639 520809525 872673019 972678741 211933727 401846199 232473967 204712691 157046157 762255895 811641963 857347847 968273395 305764449 996326197 636329199 322837517 565916035 746327365 357832559 65080643 804087129 611934003 821871799 176891047 552521123 748599237 377581913 650033645 431927051 44240611 454453077 710884469 328315425 275779235 440271631 759452233 370762847 914906177 353034837 407136533 541670693 370981149 398403419 727546161 574653631 675133381 847173569 125874331 457924957 964467435 304583047 293722623 341849621 237558377 888932383 583496615 385741805 89710149 920500061 930625677 940211917 191276457 933435007 153345359 496156293 338399207 984918823 724362037 262042063 843173245 192358503 534603565 849971531 560005899 895923631 848105169 132684933 443376223 829397473 512237405 126470379 609850731 786784319 601681083 541079257 758245705 551366009 607010425 415626383 145794879 715187873 722690253 977315125 807523767 458318391 565227929 771099103 855739205 670704415 949919587 772696709 605473185 764248485 661619801 440868615 269693107 309140097 590675283 429073967 182130051 248736207 230013649 486619313 421992773 607389205 522019835 344899105 592834645 635010367 893174173 741329925 315586357 907783075 124484915 927433411 558815121 666192637 723578839 897169583 375287101 654352755 471564115 190036225 730524467 885397651 151882519 919654105 673205909 145397843 483552569 742971969 948032433 186152973 719108985 984202539 836104443 797585289 135828541 214826097 811098123 769336307 97146261 989992147 369327781 869931235 794483769 85619193 474607029 939558737 943901319 586392951 247692879 452651687 655991687 953647043 47388333 669414319 383991271 92241729 490266931 838291873 943293185 760643385 275112811 245795097 791369171 586137309 93956361 572062493 981719553 97059911 555324139 715809303 321860831 515414903 627286543 611567329 905310307 628454229 475136163 473615285 293239337 123771059 79027451 608778041 139271805 246261069 76304531 586091899 122910539 755285185 908981515 747989743 363945259 861307801 717630767 618648435 925974109 760824903 450259445 933580109 687814089 473475619 266964341 715213865 578362363 503348849 542308339 878260765 142859309 243060567 392457437 296230055 227853631 468803303 903405507 128426921 235281589 585862173 777490785 500828277 461166017 821934037 171672733 417625787 495491129 878086623 89528189 851843485 509367197 599253477 175075385 59388061 483224083 657524871 473978409 316458667 504337259 449456193 858130131 226234137 123634717 589180031 476511969 596435623 415554119 439235217 674408229 669794425 834658481 334326963 364094365 887889181 469592521 147216129 244532841 842096519 656596137 780972681 746057943 883070997 230952973 724867643 841537625 271557515 567941471 516503535 466711945 182168089 802472877 345050473 793031981 449320531 41045677 805555535 335712047 833891893 515855809 944246835 426543009 27021351 912650477 772786575 868109761 6282227 652262371 581490885 585452783 607850447 501140731 228668957 56444857 839126875 384516657 255890375 606659793 476741785 203978797 506243295 300374035 869285623 141870913 235512423 758845825 102324299 873636449 394126403 865124935 97507795 459691053 787374667 649174457 521133363 259362797 418347827 273904721 834622327 663510673 503258013 812435633 48978967 39936943 452515605 973837479 810005487 312123527 411806475 58865191 56053827 138598143 73692119 596557383 14604739 764225191 394866619 251146321 231364483 982293429 995769825 806231211 74198527 19570187 589050713 256064491 693479965 464838191 608049181 566505931 206954539 614007889 617426445 269581357 277664989 221366085 26474485 948160545 507626579 694375311 299715203 160145109 864635661 101617233 412320595 755711143 223826175 55622751 955612645 680964121 764680825 676088111 244370083 954393817 308091193 922362333 591649757 828523191 597258599 882512437 819481805 903401647 957614733 798948259 554400403 99540453 781352611 327896639 292789051 474091171 631101187 807527881 679594675 962808157 510513015 319903911 563090903 991869873 397794087 754706667 472278887 946176861 982654893 631740233 171658507 619200337 900809217 356191265 588940887 57391773 769351565 882767483 172517827 471795069 917234461 812202759 279371183 148148821 791845861 729678619 761067367 478128817 822819459 733294519 738604057 101521985 845570557 975518337 531726817 731020773 982529727 829988553 180352191 890546331 330731935 79521415 953716123 580647571 937609433 44052313 212615497 665618973 82545939 455410565 107544449 141887671 565308509 116613887 513659363 974503937 252492583 491056729 983171321 263699145 686915923 673203159 508660023 839674879 743962915 799773275 728332785 409611203 294229573 193592953 161816685 555422293 407961295 801489765 874734801 313262369 960482879 721469441 283854641 377801145 737571449 534642643 811876997 234641627 80426697 975266825 639312301 997846375 747978983 693011067 253911155 707191659 423895535 999618729 560285833 113075481 402057575 931165881 635434633 551454155 250779705 875043453 214218993 950316295 869409215 807024745 490497839 468068727 91793075 829285533 336965775 366415855 666091067 861859809 235755855 403134057 119370981 365572261 874299789 647453959 202153383 506367 705855059 676393751 367618267 231450285 99613331 904152075 598326601 239190553 267799591 863596671 974264605 194161489 64408781 283517237 896179949 121953805 47395633 847198745 578792117 491763115 230385125 918863167 92472541 289533491 516634207 752258017 58379567 797833043 617303043 669191523 786732515 604993381 628309785 974356559 991713941 414785637 692358099 496534873 843546441 442593021 898603851 888096861 23812463 729107833 37533823 813118303 667562201 665044693 932454747 159470471 828655303 690855339 444018095 733956139 394158813 264072519 509794359 888782789 544173097 18444437 628935569 185914105 717654047 581762861 293657415 557758865 517094813 787061839 681395915 801053569 458695145 403944417 401760885 965337575 230425519 515156851 452775047 697693185 40158213 495399229 362601003 250183229 289872743 840266527 386855537 909536559 366965947 979960221 329239893 361629331 580337745 12229865 190637747 921789001 337626841 940900823 66340697 971291485 497141877 879301867 359079927 427437829 326249895 106302793 726804517 293743513 945775709 793704897 861187943 476421535 870287085 819725771 316169249 440604863 739455765 202857091 185719979 748446927 484355833 473639349 28055097 971365579 234119719 342890191 385313773 455505875 89340051 166637029 208111571 955885621 754829721 399318201 217885659 671664737 109676803 978800563 861277917 357387255 889085435 273422049 950919067 529900727 313174549 330111225 211003327 506482571 973296211 766315613 322494169 217701771 12103701 225991185 621665123 771177709 539039275 774512839 303540671 124024343 789045705 597912533 547712307 954512533 688627597 584346683 640360181 927196697 410893949 473516447 966079259 83347839 577030407 355603283 206276007 162256329 216771581 849429835 505466243 244713763 154863005 565047591 212872063 402521055 956921487 56150319 456658773 747266939 472819933 984697171 36769445 194443671 280080639 527536679 126455803 307333889 701030097 644945903 829192645 323753643 864118935 270207887 96491359 848088241 477906433 928015255 862032905 110155605 358566689 371754301 398515693 256924675 973753719 310588259 385320219 696141391 132923623 26482575 434118797 176546547 460212927 385246447 162819363 259156177 915557043 331470173 607584425 709299703 381828577 46215765 929204429 776687257 480113615 214159361 409829931 817695759 153209193 159981101 532374339 13895133 680623621 696601429 939308413 52736175 844648031 922599315 716040749 264125273 259993503 623835571 759271307 479995349 100529231 252271135 288962487 566497863 473093989 929845749 611200957 76573689 957730113 202094061 926406283 425683039 981391013 89761141 333927933 333311509 791740353 393868695 816625617 339492319 316398375 328637965 645935285 794178469 77022423 788380213 910431541 284148605 78450997 864586775 203979983 380284577 50403341 412200803 277095649 547569269 16560023 835798127 434276791 402146181 376212847 547467065 680497535 377735809 287165339 179305579 267076949 318535495 621434757 72730195 986323511 796433371 35772167 132127209 388729363 429082981 763454299 33542601 39660725 379296573 560123433 257748287 885634267 623463897 472040059 367987511 518352163 194200543 20799943 185331019 406671127 223357211 974178027 382209207 752507945 170839933 855471405 226710885 845040307 889027109 702901563 122308833 261334259 953366097 122125351 901909861 525745687 354156657 209658991 92170961 148656427 989518613 270046971 658730409 311497773 447237627 25319445 426196511 76046075 299223811 273428597 148010761 138696287 835122491 992959031 572392167 278515979 809538517 322995679 104771295 841064599 549027627 151106397 345983427 338143367 81863619 616412931 987724551 106643777 722217799 331388049 768389067 684227351 784723337 289214507 552133591 307339589 444243335 285030239 263401113 110914281 241491041 180664865 184904235 417982477 741506149 746529745 884843083 218519203 908926469 33090095 560735069 694102403 997667549 769244269 827863413 414689135 894746799 275578911 332493641 550787603 881099367 217020995 854722359 483879163 834388759 537113147 457169989 680956067 428343037 496753367 321746215 206055277 707627131 657962317 111584559 700177057 907223323 834902073 597975391 946616689 939307665 996177567 383111007 277156341 908511161 290622701 698634875 670450735 470301077 624712187 329852591 96387337 880954961 161712641 265079701 781819221 632567361 982795177 138152823 139638985 507009759 59485439 789308485 29280009 917239247 516296311 652542613 910293147 926564315 665160175 278313127 452564981 400324087 410853293 176485217 846730349 986261055 11296603 757688661 928530759 47838455 517445907 550899125 352069799 147258247 241147983 692279655 80281253 656473477 388644087 380819437 486392373 540565931 13049429 531367543 730353209 752610013 101510175 558419679 867131517 738302245 763386739 838776481 352301745 625421497 410044375 628631015 320655213 155130097 914459705 19933311 927522611 664478545 568052715 991587041 836398445 924844167 436955051 231550761 844880747 591558499 638937249 934347811 156574055 253733857 642460505 382302779 631695745 147825701 162970309 387602571 464568517 344500603 164029767 455911375 327497763 677580627 345002403 715592047 18431859 354336331 50907651 487666301 413859447 459304743 999279873 571404461 167580119 160016337 18540183 607791455 713702439 561373275 237465387 206339229 711473375 33524225 834556555 918083603 476770145 703850025 522151147 593330201 503918067 113230169 255411177 249122989 378327243 321601609 210888587 459310713 396436735 908469457 233163069 335523277 332341137 391485687 497447637 147558813 93503593 17778149 149094287 118757513 264958299 741620461 154614547 833045977 649450783 121239693 720640619 675863675 400068181 601309541 588464399 847908873 347662473 638081859 276660185 56312767 900268841 991250457 619229715 190838151 740950673 542906115 469278309 224082159 719300353 523343171 729784809 255901741 430161825 331899205 308366615 404054819 555687301 568928667 492804313 497870935 906428069 721012739 224143739 648960503 434931425 383386205 722332593 886684891 809053955 992681911 883936665 825676163 599113151 49866563 185226681 19639575 513499817 73863517 561444349 445648483 783788359 238029959 427598009 565305571 905796095 22730349 867657645 575108529 729745189 846310627 275442943 190058647 576649713 941412067 154271289 74408709 606168451 369046417 448519505 733731089 398792677 868602679 97481127 628448379 767833867 280279113 640915709 237509545 152338377 351512163 704599681 926322859 439764709 304451911 274508745 896986169 45091333 656611299 12149203 36608177 305219773 562072901 613696515 232302875 765998979 993471405 3175717 428383269 375497915 27993469 738750577 506655529 483101103 48910913 385470083 532182819 429666189 493102505 910052959 905369021 147542127 4256403 764464757 821902917 527101017 152185345 541280663 409519283 104585777 533186081 706649095 177172643 412406473 85652291 13076069 501161057 379923933 734280931 908822721 234841049 653712651 980818597 296458639 280424355 989556445 18521427 535750829 873819135 857224645 286900195 961840737 38147541 394149147 738572909 702306903 941179313 254279715 818907447 662519973 819120845 608291075 718140841 98514631 897334281 783862733 264923483 321173669 972293865 688430461 612844291 721524105 150434975 727603441 635163015 818316075 553520385 987280883 886974707 276291751 831350157 113596469 548026231 778245505 253957743 246165071 44127347 26818727 30301041 919841475 725757287 601255281 134546699 800733947 16927485 223074969 704244065 688997449 831143437 424113989 952930099 203499235 953347725 739620353 931936503 882258669 856256675 240703941 791191489 910405999 406730651 467491565 759267407 62865241 489187047 895300159 495572491 659708553 675607331 129392103 175870465 24584379 271053071 455764091 234985965 555252379 558272155 104943095 706960683 135895225 500158937 693846721 477363137 694195343 93824001 634420903 952303457 377077119 682646139 408296927 931660387 81023441 828781519 793157635 218495171 471012791 529222321 589455131 290622249 858039369 83341053 202414229 442134501 221969545 489048757 555679811 837282287 814099553 199052549 885554021 21805031 406116257 645823807 286583197 877178641 392810243 826427873 54219261 479639135 798707495 918054797 493489143 750741863 989888921 979072525 181773417 451653991 815485385 943576917 182659223 894300747 52588047 119301249 646844209 750422429 552062637 803319507 517160265 155167637 628407501 86718135 593977185 208728085 115815295 167997633 817272409 148399523 551704253 558075563 221395585 318902383 125664871 354817625 303115405 504507213 191161673 715212501 89536667 684129473 526800913 542237011 746342705 418782189 530099803 257728559 439738427 758583717 422065575 833486829 138037263 822181725 389183071 794807349 742646891 194297399 380527315 699545309 619761009 2307065 90527293 310528735 375876275 24589329 392806845 556773727 378189857 877810839 432478047 382833831 679380253 559284555 428100881 719104301 274830697 586062483 933472687 957347465 313756213 590682753 487432185 940383361 456885011 184254921 445155737 505428477 451000579 60890827 246300701 844349971 801208681 921049231 618591747 458030845 932932371 923270085 676384171 3135265 242500405 774923203 768724059 620878341 244715629 358187913 507678023 294738273 502918081 606091965 277486217 184488461 2055581 474189999 566122529 343427343 114587349 562165077 105702647 943819407 199990187 308333137 465505759 442439397 711356095 9278953 966376081 782505351 85420065 341333517 497307309 841253915 398680647 539192145 575504575 579961197 639738123 885830137 707103541 460289135 307353781 471349479 69971305 547233083 388560115 942119599 327798943 243671575 383280087 942135429 647673597 341795437 3922145 461095243 446487191 717620687 728467443 838879879 726416997 848441083 521387615 381377383 485622599 751204561 860340183 901569475 728305927 426045279 41820537 521258779 203236183 692542679 323458249 984718229 349514449 405458069 874597047 519309569 496403445 501873691 601108119 291631063 666891307 301781013 628373797 134111287 220404933 895432533 176940423 271365861 504640511 686301657 577086539 821228115 334549495 825081283 666655845 392191895 449033655 879379549 881374773 383079791 958353457 949137691 469237371 103148869 734325055 694331033 946142059 663349799 284169375 422007705 58687893 417775565 557419261 420720135 580038903 937338773 430050539 639102967 673057273 254404999 262071263 710031009 205863013 595982673 246810941 536135021 462703731 729099085 35058509 609719523 45324223 229849463 520680001 640850361 20267085 26138231 609682739 727955911 602834827 42922143 19327265 280478481 114177361 502180579 874225143 654551747 123686617 921514981 727841671 286674993 524962761 760823531 673730183 480915925 548146991 599386851 295723419 836215379 228296319 977642853 113694283 251608437 517755031 775318961 835728393 479123761 232336061 349247405 179817261 250939551 485032349 117752041 361970681 807134467 239406667 611674525 948016023 109938891 694122825 673749417 333484825 487921799 887382903 555891089 233235061 83358707 902468901 707609989 892615567 113745139 925479177 122974303 203425071 682993299 890674493 268251805 85104133 777964547 120744009 943472485 472474029 580687265 591147547 326570375 892598185 315579889 845737733 382875257 259952223 950476957 242761415 821407069 401843745 402308471 79375237 548515321 711114281 628417403 145705675 106405821 288623513 473156557 505766033 174338749 827677815 600314553 306273843 819718843 749130937 519618225 198661495 137114143 771620661 891290959 585809799 397704951 306890925 395070041 421460477 700737529 888663755 29641913 517918163 940919173 353418527 143987585 991219311 957429413 998197795 521124591 992420511 558908421 960769081 750105443 601937305 621845757 525278889 443409003 739615735 201948813 416416931 618189241 337768641 515582555 522596419 174717479 599431267 916981687 624315273 189679291 884322227 744989337 812661599 784948127 302928111 59541153 897538709 130391335 723628731 240270867 594944229 653378251 786010403 881648863 845282287 374816819 172524191 570002847 675903551 965461543 837230345 453133969 303859781 766283163 408086187 584747675 223085911 74580137 491178285 557862989 703474875 230014361 131114665 58543837 576387225 679864273 966686873 132122413 246237953 409735397 690368227 732211907 783556845 751713683 478760661 508824781 632414013 955258045 183331363 781407525 158593981 675540077 731610603 910376775 258132507 285548759 595994035 29011293 691019507 347770711 333101159 909671219 230792901 744282991 130768221 674388803 485057273 331179979 509848401 947791789 877124835 75001151 320730473 946827061 589753531 908844485 591698485 414533709 920192673 908162945 612897445 625273867 17540513 607730109 150055707 572248879 186197673 805501423 296234073 985680161 284272021 847974063 201549965 677601005 824560675 57966273 522140751 992078925 410531073 459515923 947547543 13780127 555337917 664629427 852391119 828759019 22047439 11887587 155483587 973516257 120259741 385992961 283760807 527290069 663219819 326140057 489488665 811163339 675966573 195405665 690251037 332276839 156512701 836669745 280477731 421451769 974530905 284826637 888219135 985965687 864412975 175471395 95275501 380765315 578784523 887152067 361723283 619532643 445707691 696020073 50201087 161787397 579725741 716041657 658812071 248644611 474911387 440976767 254024805 857675929 885080551 188871597 395061377 51291055 429589483 48874333 364533159 25000151 756989159 678378453 283379949 641498181 294438403 592371581 939551953 539632603 128820817 548555501 628067895 439833117 41073101 590709723 805546859 120906045 117878869 289119277 480640293 277756945 722550451 556311279 169840511 101553945 344451993 369077075 174148867 658195835 590084255 751971253 490808219 883961865 702931785 81536661 348810139 304158261 597767677 570682275 735337155 515292453 495289615 529084081 743706935 862746267 36807605 721713847 551643269 116359687 868755731 165588701 469356705 406664579 90565937 655374187 753521897 817436875 526471169 713798357 727038755 964213833 67862619 380299445 632963195 667937803 362507011 358540497 997661319 385121481 69684127 529939987 688240707 263884513 678484929 832345999 177316631 378544985 170339299 401471359 29219789 702931685 326444135 995063365 751945629 355962583 268346517 976018799 858087201 573471793 696748959 977759919 968152417 746580123 525949853 818154209 481830091 865988961 15299219 984420103 261997617 218786429 342903653 616169807 509313491 395693967 832335595 748898311 395991125 246327515 398345945 38154415 338584005 662884947 448863443 546240745 78607511 749205645 316184929 749729663 838182569 89528777 783935219 319005543 496694335 790593773 7927013 631222969 631830793 440128649 213681785 46653881 928860955 302018005 817753557 392073171 127382513 694097839 366813451 695357595 37149553 569826719 69758229 585869003 971777769 30623957 22754515 300887879 24038927 846301479 441638417 354596377 618874365 854944275 91643519 932532599 366912571 768988611 658073269 79338681 408894901 708660229 232779061 565274981 274514369 927505743 253794153 724273187 736135965 126804419 804194977 440362441 320564461 708856871 724848919 946653777 121356733 580761833 157324525 636874207 473135749 741196577 229905705 905466303 190457249 555582865 506032321 245509475 467607509 594634139 848561035 581124453 368414545 902027859 343571785 814215817 422109351 5141869 796844707 743749821 884622807 685374025 297560109 743613969 421226311 735062257 418866527 307088835 451336895 944047887 29176219 212161843 511623803 743331071 588893479 376792303 384672787 933827263 151377465 880522151 109510543 220340469 108706279 922566459 212653147 596037619 754264883 740830635 745429581 256962731 521516037 652632097 34706593 766472643 756414001 689404917 739779327 422135421 380419183 312223645 78136433 645318089 764929887 767011777 710804591 236674369 326393997 61117993 63118803 93897761 234902375 931244743 869085157 200667219 905363017 543914683 549022547 265582949 282295155 119421253 248533807 684813709 788736013 114899665 981177337 461509293 119926571 877318131 946661013 523821899 314020037 842377315 908594001 488782741 369034427 598352393 541843169 748756067 780602329 463854573 761800547 971977781 381776077 605998915 583845723 802377779 817432883 248699495 27412153 309925673 905834633 437177307 77066193 758378129 508996925 614832971 180247135 258464139 9224091 655452297 163047049 402274779 872576737 175903379 582633951 534486771 893825069 880504971 418267217 421611753 702805387 561695931 508638527 952182653 22563561 343756183 626424943 16364821 729337633 358964923 827331343 945071553 106185975 60639723 167259313 111800377 368213521 475926031 628816469 420129499 210624003 471101 393967965 686886063 956924227 196256431 662428827 705993827 687908917 13022665 217821505 521005393 609501219 257203989 959425515 906418805 347397179 985254471 698935203 347530105 76944023 956980283 448437971 121484715 809150267 91514869 460770895 187649 352179981 737855901 572909143 606372125 468631777 763766665 927399823 144000581 305805933 985910579 262640645 517336679 65779029 168599615 849511469 47193115 976624673 735752569 115918311 310796193 502394691 882975185 788236149 436845537 536342037 46498663 333248133 993460071 816913365 290004089 610926381 589180269 821797551 699052663 288409833 143920339 629638325 196908273 461869473 351697693 420605149 303673507 740027039 778342781 158184971 100064369 532323739 62151113 879102471 881836135 159295919 374091135 342873219 958667959 560506469 420966603 553305623 87929531 650752165 347206519 309222213 754648569 217756615 639524347 67657591 242010907 717196425 636575865 23613439 790753011 982775311 323358647 364434195 645022589 36246759 761776165 740527831 502394591 383357957 82193623 76624979 66280033 659657159 766068881 973555321 765126005 134516979 326222519 932654881 79144123 769381301 72344663 996873229 174383859 274805409 697226029 365068263 203790345 858900409 325379219 558714175 71141903 149427549 982378133 822433167 473272387 184584029 110507743 190797369 525362181 897504751 577270217 52103557 90106339 70828717 14419283 38377893 743781007 249018783 134768677 614750641 257579493 448563761 508649611 671090347 556586471 14302779 988119423 318642301 814031809 847230709 180302241 243683575 595904199 422653449 492270645 604385491 859569521 272814723 544615469 72707763 457009767 693471189 457861919 298399773 624056177 527672033 622943817 51590279 934539907 74292971 361458581 805702215 825205433 511761567 606899347 189194655 501103957 434425617 826166645 629000633 436359365 823214785 599063583 870268325 532407703 971244179 314404119 776431965 50935691 252429525 74953357 500687553 478542467 554154557 439598421 316731549 652899209 51680997 471503859 809305505 328008659 709151061 89870217 236229989 117933497 759628665 767023339 661231467 408007615 732280231 861738893 25169435 672533393 788238747 759143569 58387401 394240771 690218877 278671293 460159917 574554895 59393751 345375359 992375527 584025817 13886881 618757871 233014659 142139565 439554359 639859405 316558191 959168251 234731357 76735103 219570567 452326241 894332225 498507287 816466571 110122915 893540475 768314441 412110373 36688043 538778629 295511413 705340901 938449803 436883781 568920739 976367683 162542207 762907911 783039619 905913253 278037995 197851269 194497131 16189263 494375771 585397847 779265883 843017335 373190271 338028931 610220793 60969777 533002295 918091385 817462933 22194563 202524545 505369613 837560357 822431317 799161997 711360123 314877259 864047221 1637291 508250731 62988365 982803873 756814935 388806631 440188699 211100535 715288119 678686565 857569865 505864835 126515729 643794629 938438169 889208115 380462813 428069449 594158963 725723363 540704949 710697887 998298341 527605457 755519963 693746399 831723941 594929963 769189817 604585345 692592789 870790141 657521639 118455663 782420793 389860933 686033179 655241205 267970755 16178913 915013181 507823303 510431499 338072987 374478677 718658305 862844813 758969383 358487191 330854445 675688049 637647129 749702493 968900405 650213255 973111543 172588845 538371949 224113991 176561447 721754801 405199765 245684177 92675837 304319677 676106963 468728297 127412911 77523787 757801905 194441217 840318049 954823293 419776293 497176365 644187419 622068129 567148941 620601905 880275919 598963753 181364143 8906865 599289431 765599921 780912567 719266557 835171441 222166523 30196795 483533197 920155339 126940659 59207993 50840959 998140401 741853357 549139731 63234267 219289951 745897827 415849883 170313039 809899639 233300345 865605889 762946867 619063683 252988281 10128103 632407177 305393327 101094423 181767505 454819827 47781147 112613167 237959593 194857413 436060611 368913603 945482185 455464691 456116883 178769409 790514409 467705887 900506973 306246711 557297331 346592909 22558935 525408743 586224179 526243631 80746917 513212845 145795293 824435613 825844047 83103067 352539023 258269971 69976903 376935647 582915983 691791225 697537509 800993111 318548361 730966111 666206059 264653831 652696723 403370493 399765763 664371031 89530665 795513907 51356095 950932445 231404083 894094213 829555093 77229395 889512955 928206883 133824617 865314717 363258679 899168487 236540163 110607815 957780487 166095439 287061011 163360515 541082349 307923841 944963895 575649707 308981721 673209677 66259435 587350595 7665949 94291753 956246171 511340665 731372663 187928119 164162455 9560093 599307791 718194237 837802521 721366573 234269553 97531049 158304579 90612169 148278417 443965845 276515613 568348989 946484941 818998461 843920791 820358911 291374057 61256331 969424781 702609065 999165205 170601227 478016447 964085755 250847205 836247289 754395095 310107621 587611477 229225647 315745637 255027063 714512587 23749945 283853539 615726831 93540629 292940611 888998579 634036397 360228711 817807909 84101661 824626239 588897889 763434719 834711633 262032727 163252997 660605207 21345131 656941777 483060673 302021661 607970667 899527087 411073387 295361001 541143355 156878875 941831233 478232091 90854827 317360749 130584805 717994743 941653621 557904925 910049129 931178093 345262395 328172237 91798077 518684439 437588099 413536587 107322691 727537459 421249731 503751817 723822781 328261031 511128913 350298787 70957147 218105091 477275503 539238875 813850671 724292733 9358661 349852061 500562873 465735927 555034855 737962365 842863837 50056183 875554125 383282739 549578985 570376875 451170135 455786663 722651537 746156781 11826385 409106657 426113013 588674105 152947049 214097173 634567573 467238583 327386555 189741215 234880355 937210937 154004039 186845955 214854835 108090675 608851061 561771241 482545731 808156615 856590745 998511911 419079989 587349177 830223339 136831927 838712857 89604219 495133067 933748923 861275621 627044387 626682245 503838595 293804787 689928817 96064711 811900285 543354893 747630285 416372013 53104455 399121243 817808963 247412855 659404197 578476405 202477197 514921293 71847551 557358681 713553161 460663363 579111915 54657131 345612223 323196623 810750243 969127799 213966943 267705943 885040523 600485301 969906493 173139231 891436461 975869121 332203613 986716507 688574015 902010529 633151075 789560869 797944601 653323969 135418271 894498941 953420353 70611701 699902215 820192843 684017887 152827519 517408061 652665187 240602185 50131199 557079943 404801659 228828411 631292805 871898323 662798391 22745493 109806469 920995003 301942817 878047203 613952991 216343163 509865383 713979355 428054997 943834619 884054307 69083797 346307605 542941901 607976665 409190231 576885685 749309733 412782063 356880523 517173041 817734373 58904439 598210243 819138417 128357009 29993837 951017917 892981953 560595547 245747631 404942169 967185363 818152217 11941127 413048485 358823625 835819851 121827367 459994321 121461287 777580567 258620585 656926269 907608023 728946253 113091595 808859497 808147507 649748325 788190905 939072001 654629621 330546815 794182405 862133207 754810947 200370015 839369765 708568553 430613419 314329461 373049149 183569751 206625569 305030875 164885077 180883055 390959107 102627661 576301919 395731363 627862551 60800309 795318067 302878351 250267273 197682849 722267285 739944693 765353711 451478089 375819051 922719681 827784773 184637067 569339527 458502661 635780083 925928557 841652003 330571775 138402499 219625121 790555489 72771601 466128363 315772031 394343561 973065669 544011275 445618947 140990925 141232335 834968613 158427607 606419269 258621963 945201321 77110855 465380085 612940923 995694185 600492109 834111939 378888779 113258405 907825033 329371265 405090255 17116417 187570751 81110761 577113217 270209673 943380065 455846045 117962755 946726069 193124997 503011877 966799141 383523169 47421163 43175921 803391189 314452179 667698297 273423199 323856177 441994935 750063039 973887403 304128123 280759073 247049717 714835713 118087713 873916307 742822393 272370545 118166961 992171501 987921747 254658549 25764845 378305919 628871475 613655919 32505777 290174973 577609071 581622181 501021455 850592903 83478917 393763405 857860149 409771167 444251551 65516029 343193217 331873075 750871947 589126967 166266231 557914521 722379199 667847013 518148543 805067919 50461789 806443479 499885615 253905719 536666155 606455495 585050307 604076579 991833495 518829655 586838939 47470149 57441209 173043085 162214915 292389371 569993553 625062239 676892017 427657737 909641671 799531427 813633661 93040287 26521641 747776027 967875053 141164623 936701997 947474289 14344619 925199129 798517043 719282229 195256777 980246881 689995587 174102497 642146691 458893045 417421837 601241045 196436541 508336649 779299815 633436765 591466627 804204605 761746129 173469607 869513479 985375633 776715121 736949455 323335587 18901879 24306199 50099413 165139037 442457027 946313659 254536609 546444383 874341811 243330299 593347847 897677051 251256553 648603935 428062143 785457839 623410807 777893143 30853227 460680219 277310925 147341433 676297873 249703181 169591245 978061443 228785061 641548663 394128825 113988383 884048385 96712309 444884031 203378651 965983205 73508679 41914487 210015469 785345145 249786461 633671899 47730743 617830097 249179209 877249105 776186943 532914917 801685701 587735845 167705907 920915093 900562355 475020815 703324651 952643757 715269665 94848299 765296871 925490651 183994177 473623807 645009231 218515899 915569519 389219191 900013039 191505867 634911021 269322473 666564161 932129401 471179815 462902545 605935973 882975251 443321393 104281109 319413023 26831313 558071877 924052867 741400801 393465047 365889925 403757905 255005889 436272431 70112321 966276825 668579455 822704839 992991463 186762723 760282241 361389689 983890197 6949787 370961111 6396681 223587469 944748441 274639417 233509917 361450043 742511829 278962437 562060105 85386035 992153785 223410243 767391493 11519407 992181775 769276065 872018353 305682963 787921423 308808569 383892119 234746857 96716117 465710023 885467369 520298727 714527975 708176181 601823935 666977253 809485103 379429137 191302685 861646311 169137415 215048529 542229481 330643739 197684393 748765591 184631543 517758417 542905531 853862441 437213437 456069 455339851 155580661 997327775 915056091 801454285 767065235 349477733 966351261 771122463 490558275 824875201 189877185 830353031 226022893 600043277 26626143 223158961 126617373 732047751 954372541 335178675 163108365 337489499 449542467 163542283 666728349 550007707 668075143 904970395 382229841 888674877 191578693 296347573 882279515 881794341 872921949 245909513 748776593 413760539 564635611 153567929 33898353 757905617 51375605 705646919 609282341 91534815 503027973 214952099 728355709 860416457 636560523 99895839 562265323 144852981 387235127 368895099 895096723 849887157 933523929 512833755 7401531 44543811 943131759 100181965 659801427 901711041 371381017 640263749 718894575 440831287 806670117 856476321 789433555 39845271 15749637 451983781 566812513 310716857 558395987 882063233 167731373 87138143 657566933 572370121 584053357 333074227 790656373 27626873 525482493 971714501 221798983 382456313 71555945 428594833 623440515 741457427 649202269 835069171 943803281 857250813 749272881 56345401 366206457 660489559 423337957 593613715 8302703 509649443 226769697 453771545 996117709 508785103 649982257 742227149 698404633 606904881 252858127 408359577 861182589 787252359 902153051 521873485 864639565 31009397 680715609 496506019 751700227 259038983 893879803 711041597 312223553 4067253 566609623 823672995 77230807 999350619 109772075 209497413 123852211 478154045 962639585 173728895 888804595 83772939 105008007 467121297 64875993 403826905 965683541 601201829 538350801 738963491 30398505 177254347 997435503 889790671 292163211 948329469 57074285 651089707 380386987 480484125 405568175 677879275 424420701 532753393 751300159 538177325 751849251 878373167 901512785 893755767 599207717 312659565 425001281 359933109 434696753 517913389 716343699 260030781 467172797 458001879 23114991 303808205 577845995 652094655 323022635 236009865 742936449 638159645 699936577 301341949 380655853 143816723 40118869 277681953 120856391 766109607 204873905 757761359 207389263 18252239 769072843 892154705 498912875 657081183 746857019 598875215 644534701 305691421 759681221 518355425 638735049 379701425 728919 716067077 544036383 455712171 272255233 395709215 158705847 666683525 710908927 102869757 994291521 400436639 123633845 999483859 790221587 88286787 23310511 794051647 138095915 299796901 816446879 135759687 337551157 880146393 449146975 481944919 258751611 327981285 764592117 961402693 614271733 763287985 807276681 67325773 351229509 710489867 858179697 714713109 693059249 90778801 592930089 693327789 888811049 720247361 338824273 786302597 890666305 240965191 401417399 710029439 144932411 952430385 842037069 464331741 330447359 985512539 124369965 355119693 283224347 882930947 841469853 669648357 710008517 59834199 59608327 589781539 55713759 801154915 995387901 21870827 963936749 917535269 918186813 282250121 812698657 639358587 915434407 196819893 76159059 542393905 863145801 978465931 159919103 468111093 764321877 133787537 799051085 892803937 942222887 679999921 881831949 647927289 13956673 654144069 307012791 465886243 373528399 541534727 846551403 591665971 554261027 630132253 464190189 211867999 781327035 163799829 6032301 91937483 754796855 942299109 274555589 213283967 635722983 761597159 371513587 269306223 370856761 607548131 684543901 777814895 497197257 737859077 848840659 3915843 958153311 246436067 714748237 472908951 774698465 819507577 567537513 873534711 9935203 760626735 299629613 769964257 476844067 694698191 863281997 179238835 52169603 777215889 828932379 175144375 149426701 584026641 742938011 571546911 566831221 73740371 158737263 180741891 94592663 650368455 254245611 746572389 105817719 580636735 92756227 888286511 63112509 984553723 886333017 474259251 619174975 771809695 597457457 520357671 861911543 375820601 433427325 858182063 689764105 595096893 545529301 926945875 828695359 403292297 289497715 773003909 305176719 787316323 563695429 505167517 430294545 205389687 306020309 226853599 90113801 991143131 721263197 731568241 757581797 863213835 925764795 814986853 836130101 894190829 213301625 964166325 364267189 901541073 642564289 251226947 522206793 408641383 385853807 184676055 603952891 133026001 558631937 645767715 557613057 907829137 384497053 285960895 727044531 856611221 597443347 895237165 893999255 589337395 207285209 120789207 319504981 755706921 434196753 508578573 920362693 250372763 313493633 656620041 83838173 271454231 815998359 314749677 466181059 66507919 323591277 865569729 672592835 701470053 614658751 64961653 950408015 333405 629049591 289359335 181009409 169401507 647886113 190987987 241747359 317517259 342157305 225955555 725564179 195579607 465031641 178481581 474346351 320419111 158304205 599984037 351395567 178369931 169324161 580072237 46211065 645626679 757423949 288359825 142470677 66042569 640568113 261512193 757399285 372717383 839127507 289462933 852792185 739992351 849415299 525702479 169450657 665414435 328726329 742287127 122648729 615964561 638347667 155322561 717630387 590104337 446225371 901055493 929595757 891964333 608916475 431974021 796727657 952852957 458319503 698353351 918530159 402634109 201164757 10416449 778000761 289167569 842862771 190291785 220680347 721785225 539388345 494036513 626538013 207380407 838950429 980508145 431564649 573522139 10545345 376233165 778192403 944866521 357528363 406333869 992863445 934210303 346526857 36502899 596969619 920292097 611448501 447481317 170326359 759196669 746332459 913638583 796642133 476206969 563938323 660688003 282539497 295305313 865715519 817198537 93592725 956153867 520377123 65591795 910692869 462900531 785213409 822008399 705392909 722097409 247120957 340203803 958418855 35331071 738051241 723153527 951307255 648685859 493225531 899314025 897190215 384858317 973593011 607690981 201340171 424763327 693625463 996050629 658944993 53802537 900393881 72196809 828031111 270947997 364392141 826093465 320394475 608122651 922453363 556250057 409389345 263876101 298240915 207690961 624054371 378076973 56907485 361907729 345231893 808762565 124249509 588022739 504205507 114152043 291319279 137796169 666422045 27874853 581317727 14447245 495005443 811855709 403578693 955906975 419543155 310633965 362440599 166739303 55515293 211142415 700889591 662968761 676216017 436564075 356018603 855648075 480642443 163814667 414143393 42773697 587169647 978084453 206667123 384604581 601469513 34780503 161093213 905145701 547812873 812230439 806264903 997914715 755413967 592958593 28382915 85734603 465150171 653505149 135485445 894494683 910888855 620088211 56746479 913938591 77072025 586691757 952071941 243843341 770346397 528078869 542977401 616745225 932149379 30347395 765949985 16820571 225469529 413577747 821241213 120627893 5063249 425245001 118083251 509004977 643016389 398072853 405523091 132015309 976676923 47821513 687870101 582558581 613630557 169365285 935863255 87125755 903835389 758942029 476719137 724292245 528880921 573966543 357042915 63804263 564321747 801840543 698393651 122716025 180963699 804465437 889514447 100661949 450863729 527949577 617737761 480941581 395193447 951854741 873901367 819634727 453824279 744138069 187407305 357268151 428085101 358408263 441738803 355645261 645422717 512218829 132158337 816245861 563269759 49692599 73579103 141446747 91528667 13441083 382768679 681067645 172866585 902111989 125788117 474779131 89162989 261865705 78878993 345702127 183909683 312427141 670692653 39340375 122935277 514322081 431805981 630425631 350357831 859602293 37803395 934914583 406558613 28289451 158020003 292715769 703214161 252091215 405911663 526388839 536416543 864771285 838842493 518383849 665761993 611612187 115194893 68378865 804873795 761068901 569016837 762311127 79914409 826714211 419679989 160010973 280315199 783811369 146392085 805749805 798502509 709086003 947635267 981091799 542916297 967017065 62944519 856933589 671283981 143475733 854462353 800855561 263046685 286692845 779221943 635685179 206820867 461954831 420688631 199800859 225648373 428030721 809133947 235440965 434271307 410601137 829935889 170981689 809395593 612354929 779260463 944038241 772139357 933846015 104173303 498551565 449901207 545764227 488270895 978478711 553319219 934565513 76086341 716029377 125902165 555664899 345759313 925499891 606775881 995389523 277340947 857429501 207544191 97994301 807797235 616521147 352040855 304198635 417366525 502907629 664759631 403268087 991802605 366839357 420900503 832898139 511656989 498645563 588543359 963471741 663785367 658341473 655683397 692751659 90728715 65634319 957194057 874963353 293062351 491731857 181498903 621973093 152845027 900362517 268588133 464559509 268085741 958560695 292843021 613212309 809278013 259580023 931038991 947437883 543349451 203235647 901549211 53611203 815787061 707108317 970894851 601804501 977949123 166522127 270013375 544197243 878832741 661948789 146134647 762742573 104839601 842998933 201448433 157792197 932330725 510013413 223298085 342587277 652855787 47383481 956730413 221213485 988690513 221671511 294888779 641172413 400872525 502997223 880147947 533350843 831709633 913849975 812008095 797805579 994342707 537733893 440094501 432733435 824217809 717983855 455855967 168962367 276826483 754233729 617389655 727711477 80853401 21653225 577970497 354994339 851991147 79594051 343018103 404198451 99348149 554895119 732982913 228594687 432594417 241632181 557883653 146424257 929169727 967797897 150013399 655177633 972804707 758231233 322570229 240619305 66228431 964201345 684023425 104809039 333714585 191549139 556268997 717561459 935775617 670711973 305019957 814830935 236505069 592715219 786787181 772098089 88935405 286192411 397067055 132196479 460450361 247645739 851774057 674962775 147417391 259244175 749381675 298417685 284778455 19266245 136699057 508274053 101393119 60818219 817517149 961467103 741176225 391097611 196677311 115303615 840017177 119696279 476262789 561818665 747018993 950346985 867084173 650128269 3718263 811822335 220613595 594134461 591835041 854764741 321964183 125367033 131131921 222394125 263622167 751263207 946501133 7583629 416610261 105807505 404046211 873305577 124199285 426976109 114713355 574828713 148120003 811793497 736048357 542253631 979129775 155964827 277476857 994793477 113812311 705750239 81877203 771564345 391683839 815751739 71106733 507735047 262941713 141155627 335706213 310006913 604962847 64297367 81664901 198928285 488617957 1841353 110214457 16360511 799001159 447389305 639389015 230305839 264102737 133865411 296127331 69636895 479562037 564357163 273105281 553310119 237392717 336046239 488339841 628222539 123501855 270943351 724925915 77670513 729362259 297434733 761326253 345313643 759360193 190382503 15301823 283220339 472192351 14605489 505684097 647037099 172294997 920346755 259362567 335057947 520957929 353316217 247820565 665660597 528088211 831120985 364525069 487858257 763353069 965954895 658511107 162776753 465079481 433487089 530223533 907154559 67456227 543872827 991324007 304738381 324885629 552456851 918439485 894354321 450875077 81202887 21424091 482048429 528937755 650208781 518849689 828315885 501318157 951517183 95412855 652731265 311837773 347236005 476080157 342944897 342441911 335343469 414819799 253069551 361000525 401945641 190319775 933669557 432259899 460006425 744262421 872548259 107702227 793325791 488907901 152865907 222853267 500111757 152806857 348650951 186749981 379391893 619990157 763061543 704983611 877113301 854255117 917303299 432780513 72151441 779636269 425503415 816370987 307612025 135717501 357794179 233087579 477254303 253663029 337570705 997560541 198658435 52106291 541487089 810194245 717372683 359773695 913363101 57909581 178474881 332401863 812082039 412313817 21900187 694961509 508404037 540102387 222825847 981282389 534438077 347315921 219693467 361831105 772420469 926831819 297470963 225938295 435886831 770826085 945516757 900831213 173222291 923244107 720155647 833395525 428635061 135538001 463353235 905789251 292129933 511261041 914652963 390929243 816822589 382847439 219205791 903010719 743735243 802743991 240905065 120524753 796403245 225853081 670712643 619839063 89711417 212531987 66607453 144792387 981285297 193343977 317829961 631229769 996770621 577290755 115686407 340776137 175972209 778330231 166821115 705166539 930507973 791531905 237573875 519544319 882880921 280634241 339684131 253338555 49195833 943464963 479087145 414451965 184032467 763301565 321228555 777991023 271705219 656721543 385559093 846299743 732325959 497215591 101916795 660228549 389713677 379605639 512793119 824551743 556242851 107930425 291703233 625311509 173924801 561654777 626908529 471356213 390329613 145556077 525900197 142322745 537967115 441441115 780096567 887620701 16272687 796404667 543278959 902712459 788561875 364308903 646498555 837609809 105404727 619912543 872357613 397639141 214885251 395803219 966688965 369191721 481972939 119037973 212272229 101716129 176494597 927791453 432873247 373081983 362511381 888182035 424683685 975444889 680833221 271990589 414590485 658603119 621614019 844870163 792499443 459194409 996349353 581176047 504906287 307598483 814883067 589078867 912330013 763511335 289767711 713733099 617922169 688550147 373338473 444646795 616137065 139339761 36632079 422228523 988839035 495411547 260057397 943118835 383271075 563808349 907459557 164101675 640469567 524591541 68090125 800118855 330182165 636980937 724631175 299879139 246208595 667655849 846707223 664893633 313079179 686811405 954012771 351813581 152539067 881033555 276524029 106552347 476079947 727068545 185188961 809416421 537159173 897730379 997301997 2814349 919945761 468554499 156456939 714242723 926200635 972369579 835151757 796027605 860981591 47345387 515128043 427819521 501878243 9008145 119252745 347753513 97138359 391979795 611086797 638570105 220070669 504105107 80960777 719338565 320492171 679428565 140241271 629560839 574987327 946312651 663998393 949305955 120250269 785470475 33455959 75930917 121150339 392015317 52261315 945879613 284212023 747266321 281608021 235050697 619972451 24332107 375603281 602863117 196056865 535745725 556113885 63729265 163055853 913361733 59800843 800693387 448345001 902189419 3679701 887170069 409203621 178077023 692363805 660326643 367948695 280297463 537140395 632463409 279118233 911015859 961658417 284522751 721417779 358032313 157796423 132584893 880789843 153540313 343951471 77025513 884269899 274651785 829057811 161213491 755602395 102054891 693040259 365260139 459947815 374782661 766767609 711250829 891209915 581671045 608033943 348106175 370337423 203464517 956999269 365911623 126918655 715537089 135866197 995838365 348123857 547485027 685710399 467887961 154844207 646100791 702180325 942405953 77401011 874311417 670776305 284919871 423428695 362516739 12173811 333481829 228785025 855209569 777492581 955251953 472299519 680260031 517682599 317275459 90164999 943028853 321849605 432210921 608628531 762795907 482189743 353661589 981214603 930478223 734984125 545432609 411982459 778237673 866475313 766521747 685678809 903463049 6188787 342859029 741065443 597236493 992164311 897381627 412960571 680465087 296521621 398105789 650129395 399533449 410746831 914690563 149994877 953001479 694716173 448814485 964304821 17089655 29068735 660039783 872407781 691826109 251011905 521609365 657756341 433770093 46283987 481648225 812823359 283419069 542717597 697688887 602808317 756115595 663775923 909206185 410197205 773944415 371605517 622569845 782730517 895309415 386724237 694389885 333858929 224292987 864488185 398507979 844853255 579146269 71281159 686596499 471602525 243628399 853698891 763042609 481704287 659962949 412867403 36662823 507477859 724366611 601143663 894828323 570176549 271060987 19275527 875417331 525492939 116254657 637555275 288570775 983322085 308836567 5099873 849786161 584567395 182913107 867982669 869749005 119611047 251766005 55712003 790533787 394197363 330586659 717271645 785803385 894307061 951004911 175347995 778641769 445350341 163793677 552697829 73359705 82916827 624020445 771940175 818665561 819441057 40057191 827008209 128150437 577596131 443768153 395151819 758562977 151649237 52462605 232371847 8683479 602238485 689372545 165861177 758261757 753284519 606876251 47286517 921011435 537506811 295265003 216565953 120654503 787324645 951505447 53956739 851148889 844738465 257918641 471753743 687872343 202696661 952163791 642706971 664091 835500175 713383535 354593613 103330123 438918981 169310761 449932073 498275501 78222033 676218943 809597219 201573433 585235067 241019027 620902803 392978695 818136303 662740665 461700797 985737821 463587139 60866789 61818311 817975461 806246389 575846137 847936453 522702449 604871143 180036985 938653357 470748541 61870955 506025623 148730467 207412143 616709427 758165289 55665073 283140109 178734427 163234223 251866949 259681743 885419629 513843535 773372601 577758543 489339473 686550745 784375183 196292367 532181345 210553797 166926387 610797753 539513175 864045873 281367281 4351525 953281625 851779813 649626885 597172809 145335285 564363345 611227025 56087629 774949919 575974795 445834909 587837049 130627125 275981905 63285275 435585857 560463357 402269453 480046821 148453953 385985699 342303181 552133049 693885755 630066109 728108361 201593411 54944539 352679495 159434717 287818773 206053107 5320617 311482517 224510373 275472129 799574189 628339741 701016919 911663013 325403787 367811535 3790963 551325295 360930269 3818663 843223081 199579405 74989483 96814669 271449751 36405853 395067491 464781843 575957945 921736545 215953111 421292525 911875195 601243717 112868167 432912253 421533101 268270429 611628631 3112199 566084361 815916067 142349845 825597565 94476337 944847417 987815157 890713205 538565549 703523949 233907413 316306735 867579887 684911539 134514169 66860433 994710607 555413027 939830289 729813035 953999375 973989377 529071921 120181301 783639385 786901177 50135253 187522189 27817021 947358687 16656099 573435579 453189557 675119661 477615273 73955311 292216995 119186567 280750045 357515261 473074383 432835321 866438041 822246505 220699113 799889331 2577765 198219095 970884749 710608403 561193005 260443287 921675069 476867997 710265159 210754207 427204445 832297721 703013745 449841553 57126979 961144573 842550735 564876339 750768679 125277093 144788717 363378931 449255723 732946705 906645443 505881833 819309143 841757837 166683821 625766613 616097435 354692495 531327599 325704223 514138579 726719151 191882553 980594643 605019071 169991347 173831581 455386029 83720969 310975875 599835035 979164935 275043905 296229175 940490137 530488299 442164449 553731845 528046943 657126921 995539529 495468115 974177577 416052151 787766469 741966253 517803663 518051573 147553411 425647557 121923481 603907177 459972255 934827125 707728307 29322851 490844697 946307523 688570035 496312283 987835099 878104281 557098453 220617071 20006069 35048201 551425729 166116967 269427807 15605969 199060609 992614835 933420159 5784273 411662475 233070823 733401753 564151511 128156607 249522503 877515299 888208085 632490847 719192759 954652017 339792869 52940827 512487623 320797897 33620301 176525573 338357165 784578899 389693815 947714717 423071563 742896159 43114231 972408263 755872293 165405477 179657093 983527121 145451631 728426571 840138505 270764655 286145787 144997461 229584011 403480255 434128971 180249591 701663039 78203973 198098309 123250891 398562177 129169137 722965883 669974097 153789395 897700119 659592097 752215793 310487521 790267507 180072729 350808831 305558399 542600491 222949799 734379953 363275687 166283471 718253757 447071277 2251643 750920527 356511345 159963255 841807689 327219723 911907969 120253571 955849093 533213897 41445209 958497067 857837511 462512311 906497795 672265517 286391763 126168935 94880825 759976503 905479317 379120601 320570713 91313109 514956577 980877679 595304299 552489605 868206513 76358395 724228381 567169701 938536105 730230703 209864137 814913919 707946387 374438951 110655595 245520453 632201765 486056301 223770285 659202321 750530359 131740651 614454749 979804641 174722509 304665205 78345713 760264611 773446163 361629003 520371339 833842467 106259549 674339089 258315759 421185053 394597927 431903189 148430353 708593715 58891537 341541387 474361731 649073135 378085863 470033811 480788615 363966911 82508703 173620399 633836035 240712445 374137937 285564173 960203913 476261099 61992001 733634243 834339149 385416117 82768605 339007309 849970479 974158183 505969077 823988883 339122617 356112637 66073989 776388063 759416341 458654041 603950387 532575465 461381663 497471555 171274437 633283275 536441685 868505965 477536883 136626957 267663325 340640625 709311381 391428253 549760391 915710669 78060465 994290893 821007563 201908973 794313585 783872605 507746247 506631457 349062567 191514737 228647747 708903331 146282577 982313879 649413551 685875861 922739599 64129731 243590175 390824191 410724527 837533779 559689047 203712467 768153891 333676813 627308729 259584233 575089029 330666269 921033561 399710725 41912475 515044119 931258091 415576523 543541839 450080509 167723217 847366355 43605683 708373807 226254097 89778833 863010053 399085437 869117273 704918633 752116901 7828509 598330881 701554337 791032353 411616425 911889161 150844783 984212011 806957353 902734105 849085929 769066655 640382729 992111229 123735825 391899007 237688353 427728431 865494737 97486839 251104169 742890701 987822329 870185307 870632779 82858913 956645443 351912997 354597907 725612949 490935633 544408823 354456435 672615493 852638635 385308575 303571533 499910383 872394433 261946897 954184677 764699001 221850865 482953059 67760357 530632051 201941111 316049631 784925799 771077397 561376893 146483947 289930981 282850365 656587287 447993373 667740997 445519219 47181629 655364143 494142421 848327397 463667153 484750083 593052491 777656685 143056539 898806185 668847553 154640263 338700363 878639439 537210815 152515165 987395709 951334483 808930609 503540925 568478897 583785783 141620845 236154909 895606609 98912169 6801711 486737311 295256237 181947769 808664479 438822663 550953981 132601763 602566983 405610439 451402855 770519883 58920479 193676791 528050673 679063739 974357379 67085139 374623883 415581801 3054903 616822339 753157905 598757357 227199593 46017751 509688387 296293643 936801457 521259463 390627785 673740465 169943305 690358643 756799287 979173359 59486423 241140447 479127301 239542529 973308135 431895741 785724307 309881419 21317235 445921379 382198829 188566361 889176083 869518543 161478145 522491867 490385101 691252139 353232171 947927729 20503313 499696197 253875627 816766169 854666163 812650133 291804265 57133187 62471919 740978233 763808313 675921919 70638957 885051257 695875283 370971851 517987639 133773379 586041815 458598023 573195971 877146417 863583695 163744769 335257585 300539007 568126253 314575401 253329155 892303127 5691723 276275487 508479911 163446663 975946089 431285027 512545269 895134981 813478831 712254881 853065061 502974579 498411057 236421163 684377569 264747861 401682405 406260607 898335413 716707037 192987057 738773629 338955155 764850913 622637913 159938867 551089053 674308321 229907601 843479507 597428311 220897541 281002483 24597433 530564781 251141913 178076669 359515751 926134771 706214295 573939227 387907207 454139625 992947869 965001631 646212337 810214581 855120629 580845249 914306461 25650657 123147529 464113057 708223661 822448995 324030453 178364233 758598511 490095513 27977335 30366379 224107349 392938825 133017589 244281247 704018683 684861087 962127231 880242665 906995491 776434737 435505867 991220271 547507131 921762813 735634747 436436739 293881041 684191845 48776405 325993441 70152101 599777595 616116041 306702887 556585881 485637807 52480747 468399647 902251831 435064931 210984893 432349691 68182323 989697625 730612839 498137811 54238569 974950401 228990775 943650219 822628829 144343341 860742435 125122665 526579639 942928669 578440909 523305183 962923597 834692469 647938425 546800585 197689369 542289219 759564313 303081923 285340607 486462971 78226499 872409691 62542089 187444859 439536439 936873217 630376427 701185033 255006429 987170319 680244611 626647377 247188161 802996163 532315919 627852137 826248989 76027721 735439613 256557261 188061135 368839601 193276897 619224165 478975839 913678581 606711671 353468539 42009085 835486455 565131167 998856645 108935295 13437055 545957221 240688739 319625571 145746495 728142335 951711959 532986835 103184847 360301509 438336783 465059485 856177841 738694973 355925347 259253049 805827919 882074639 811158923 263914181 223767545 754665489 374000049 43971849 536362475 146781247 856141665 655047539 597784129 304761273 469136015 81845277 262776585 290077901 760444569 929069763 319854643 923105771 467908931 173740493 394174615 653426355 295229373 622048077 337258231 361309413 996353947 97591287 976933117 237204331 464231385 626822701 315510841 755959645 117653469 377499891 647282469 723707121 430916725 198332155 553411107 708585615 206260437 185481629 359329401 798405565 456289693 211433429 872050013 419809331 994759631 574752075 894597861 758148299 831235545 717629263 879132435 517176967 450835089 446725081 393261777 528438163 41395251 300780679 733685999 371581505 781271911 736468385 361489191 432183823 692852281 659043607 706527513 714727069 487595291 806057855 183838033 570846905 384175599 18899735 485242429 92223829 10747127 516752073 931998521 217625229 503029731 711766307 974302085 154558115 610654405 707517277 39317323 732004611 5665053 701049429 182699163 57542465 12415183 197461907 578171501 783946263 595916073 454628421 988539303 63630439 870771167 371448387 201383949 584174655 686495249 923171599 866500437 708204499 321257791 71088331 838110741 450565755 239873627 652620107 636070605 588195771 533246137 832663811 560343275 919594559 85431063 897919509 676214205 999451355 286770327 785890117 410969469 460469129 696575433 433360133 110594123 56854125 928546211 56230507 873759025 605020369 194457727 841365559 682259747 515810857 923470629 335378895 965474805 724818705 700562371 397206085 732788077 195461197 177674475 825371979 322487859 669263813 854239389 963587655 756165333 299313039 710044477 94417211 571860177 769192677 532754071 417520599 350687109 24526123 830025443 885979253 840753469 529629933 299823037 56908051 305511975 72760539 533483819 29346903 445856093 889252563 132355737 188333199 536341987 622868697 629395419 154572983 982450079 761646101 439226931 745400171 651517541 102074847 509559105 801975283 969289453 38609069 594848789 514610493 693592535 753636133 27321379 813210849 593736877 626328339 434647115 354023457 450288865 886976103 775678415 380216543 832946893 667919425 146443613 816339631 247434415 400881119 538377227 795333061 817891763 332307889 232568917 44023809 955546347 702859335 848193315 560666605 70969421 303446367 674560193 607190965 339571645 635804377 774395873 620720177 908230661 816261059 636617893 27467233 606427091 146622799 343194001 440149995 534185665 968931287 238227087 506681119 813432915 890102241 143792121 761557749 556518639 606237975 85294473 435778187 344406759 394225483 483796837 356883369 154322295 917900667 78156059 77172159 925644733 227241159 945388191 37575395 145700291 444303229 215582031 420166867 137457531 956615183 158053617 711321081 336854461 303028249 182844593 530008675 415371083 865956189 119189541 618845895 87318991 881496263 12708937 932287367 984165595 72957801 654548611 197252521 888311013 233907585 32541603 786173403 482640977 854782833 274171609 662656375 845795943 92496067 869651655 631343481 543300697 422368043 588878959 672460169 390668863 479657349 755523137 789032697 384328219 485968083 429369103 46432701 559004887 13306177 297831193 500313463 570832195 205706531 607589635 619498603 15036699 434294771 39228121 986593419 986082811 486500693 940359955 741999213 320718449 758008851 781997453 613961297 868805357 104448801 142823053 84240669 260545223 365078171 456716735 421688161 777033537 374887109 86950199 579001941 471190149 957511943 613793911 562627287 477068451 659060471 34264927 818580079 149715093 258367823 582014783 635833421 574445373 626060019 589831115 569564741 903671907 28439021 178034211 723181019 166514105 413865075 723336649 536024883 563277271 590492125 280659371 135826973 195491647 630243759 935167775 650109711 743592795 454741143 531321059 368986155 308964219 63202149 550554649 836977719 91372505 565702677 718953299 733383073 889158293 126089419 821317507 445690241 485990075 68741843 221256453 213598871 654804793 54666653 301012643 371311179 177309675 938359239 664674439 203134889 631059601 527533589 938911557 432525419 315807189 603988081 388956381 765477361 687871047 101135085 79863731 763133503 317310817 653791429 31389077 878177543 682729603 582096223 657046199 279702687 316359673 698001729 249849527 747648775 140604915 260452131 2646427 94661861 798961543 951998685 964266703 53258889 493180347 187124341 443864617 603257579 749201527 157799189 130153191 5687465 224155531 284529679 243074731 558988043 770146225 870923745 775734407 334548737 291302281 733645099 648502763 296198687 134793887 524330427 702651321 102836649 558359649 737414531 540720947 795819395 566165291 120948127 13454599 306887995 714669371 198986577 289798733 992862477 713098175 922012421 734198655 80741589 909168581 471021389 135452547 279507737 671961413 262557671 411281061 458802189 408822309 509698227 897842077 257718403 964055849 12249791 86403207 751557885 722358533 118993725 673368553 688301729 20855635 880428681 501333423 253276225 280004499 909661477 390287407 80222545 769552941 506197181 64466725 960739057 119124853 550565669 972768951 400665835 494226083 324906327 344033395 607274667 581570775 649714295 682171471 542814281 823290907 490173135 102669221 575244163 604493921 261747923 4757565 753438915 413021315 757540383 827993923 469358105 600859969 905398901 272016975 953391671 197298243 830960323 287291993 42284417 18235163 195057687 118604491 777759997 889440837 433162929 212274287 771131739 823551007 289834227 426759805 516693489 839137267 463047273 593111441 608099773 338759411 527936707 742415025 197628009 726358841 640087263 466909767 268920131 414410435 601623999 518932269 383145025 28694143 866335633 630731677 33197317 501095737 560637605 683158589 165312979 91324079 872598135 181168923 343720095 628652671 332695723 649007787 410103803 799690035 504116747 876404427 397535273 897023293 981089165 669682625 747794447 747340789 122842953 287273785 793271871 147701919 955033477 589945673 812175853 253610849 902868393 764275567 318703097 376787533 348846925 367669645 933143533 457478749 16387879 710698741 247658227 437183091 483735581 460101463 190419687 264373847 495263291 826065365 830131527 985073083 989161393 122959857 227025977 855535417 866754015 297212059 407077773 947623247 371862085 242881829 672666555 682535785 867889037 537407055 595745505 570700503 91955855 203930429 307869127 190153685 410050369 197065853 321362139 607980159 921728457 40790275 630673207 760293859 369026931 314047789 332405143 587608817 962724785 533006271 511383909 790176129 934042399 465676521 971910063 904571735 952673917 372387647 182678571 605710617 386602427 909196477 209051195 588805465 169817835 18768843 348411877 507121553 65878341 770753075 5057239 376349475 323926065 522979883 879028585 562263 309781559 540743507 403311515 424096093 553196043 643543981 646382613 469719889 379730313 85719719 160740131 462363957 528045747 772527127 823391679 353739501 128487605 145129275 35839623 909623377 46995169 475174839 817487045 351277077 748333493 10230935 228634979 772837595 968636883 993954643 728770557 170140207 185106693 678646471 860199377 223511937 814028607 392097335 460900037 532120361 104374685 138120275 61103721 381579113 453241697 687255599 787805941 585824617 9092343 750599239 262966343 957978687 909674227 714525057 707879655 186713567 391108367 769256491 135941379 472715307 678137647 448498425 259194229 575317999 758126173 20360201 548170425 441407449 759919053 576937441 275717113 799785861 126792155 61710445 792091139 470044275 586657035 551926275 25940045 691593485 635848965 894032993 430413817 48626595 282730399 118424491 271826635 663132015 98097619 528716653 795777077 778015633 352406725 805167519 383104079 729486869 885671103 94704539 905721045 25172201 714780215 681569579 77236783 482089705 806807749 129939319 993920621 96948437 192946735 292480023 854088775 509600853 59752285 541340681 417542685 876751101 807348581 331757745 499978995 553510213 452893313 355594461 933098363 831893389 542021399 565837761 819090699 672119585 84331693 862924795 124218529 77757231 523259643 367833745 837046247 771995603 346050777 959103471 566670891 911277325 900381005 88040171 780100965 239524805 251301503 961268161 798119219 405240015 77121223 934152471 659378141 720123363 240470939 284938493 480349009 792582817 711643809 442112995 188913193 693565843 296579237 26718123 416181921 676279085 338904217 371807383 332810147 695742147 115257495 855671381 361699261 846445979 684426981 681265403 372959269 618048475 182677741 256088071 266758077 693833111 744393793 741428573 171320329 399901127 45007775 299030089 791029307 129097547 303436775 257118851 940686889 306344941 487831335 391374119 752642387 883430751 114076561 539526075 418743777 909538363 580195457 373603113 976726431 920961279 487341433 728753867 247726343 183882009 852682021 49833819 272347703 534225365 68927063 379420159 912224247 772433265 1694989 177545029 538715831 584305675 468741993 459206689 633934733 358031021 261943477 416935155 599616313 278649929 759021157 87762557 559957793 21691063 590689557 243809517 809118293 280443835 18870663 302428377 245773963 622350331 50112935 948462653 276674341 702218251 174872969 314290049 498548265 522837345 45980775 787370095 360896839 630297953 543686563 906255679 403620563 854577235 727634379 979351949 989328591 888189545 422672787 334235997 818508259 507679419 547905747 851018783 702114909 678603341 566875535 560514981 476968755 161195269 648064755 437197615 555666183 852257973 604574803 586019937 369512221 602571289 594854441 465459785 199070823 820440015 580791065 237784155 957764731 240132449 376074477 172928373 254560409 944356927 49737627 15630557 288325289 582165703 101317179 580213567 335875127 951301429 308400145 407709105 194389885 604513973 856936331 710704815 479105625 878040663 260993849 620579103 811692371 420512279 825328343 204986193 442138267 308005329 692908617 538396661 927885575 692808275 95279771 700575533 959167253 288914509 152907517 619789691 384649199 673878359 208421325 586071245 5373027 175177971 10955663 237569401 944081385 417024395 738649581 251635517 581233567 298456433 677973689 189710909 951364941 213904859 915530479 399172103 65542753 194327531 784903091 412534413 178151669 854612397 487891793 346644273 523972805 700278033 629376059 562142135 685124665 429290223 888058379 520227659 930989411 53110281 401715847 624001 257775351 622436361 710942873 980490585 382194519 578143359 264278355 227001401 518778759 330705381 883882227 980126443 916255289 700632733 260339161 395750565 56407237 294147053 506519443 507884549 17468965 617491723 624318419 608274449 471408647 595441677 983654771 219376951 15319989 462703861 889001849 478572105 606824745 373984941 151080463 752822149 916908033 272072197 184879497 296259987 690755717 979582135 661484895 758637181 881154213 744262755 630530873 760987835 392675063 162114453 672102879 612938281 59220409 797926075 624918085 771959051 479886293 924202801 905378437 172213009 875368921 169589303 934490343 272824397 931895037 352357879 358413009 309915199 825873951 587459713 901468119 626621131 406621383 850909903 458854583 584095039 621238819 780007873 250470483 97672527 19542027 908312355 47018165 398114329 623502335 770118307 915906577 914583331 81415207 186763997 481985987 237655385 928082001 789878353 619817293 946149905 658387187 99120231 271678811 837479431 57887791 559366771 876885185 481508963 727550153 349138093 799144825 258270639 60583731 30416693 461459367 350313697 371759747 68806933 14136981 314830937 151812985 531521345 903435705 996003545 205885307 844689293 596298667 671599249 974198169 851148735 113414959 723780627 445162379 113030271 147141171 443887967 805077681 139281499 514535621 394696407 985564431 823920849 325072935 249908813 901519445 990604095 434603447 266817011 456746717 46193137 902243329 904806759 394788005 653656341 419099579 713137839 868763729 767933381 102439613 258219317 152115253 903756037 534476555 504278227 179764039 272955069 638640595 449509059 720239141 543674043 2636901 278947499 191081495 458697149 913483069 749211035 102423563 814329441 411972863 586827011 902530969 243568177 462594423 366284227 187837441 96466079 585539735 660441889 715715371 73713669 984967033 581979081 431363237 773738145 619863395 999055571 309277349 775405473 547147453 576621751 190522123 211799569 155104287 819970143 22244449 786244079 870362431 127245333 703550675 116165401 263548931 809728145 760433465 892993625 294267255 922308079 929421843 95321697 750452941 718104755 381329031 693896905 145331297 291489485 629734757 183608597 70437555 996302479 73547301 707194795 436521843 66678201 773798885 602595037 13552755 786903151 313809517 786364903 854372011 15416895 44501293 857132519 116473667 243169053 721716795 404602087 511751811 905468009 189757781 346277593 570342111 113108451 722201317 176481941 359163377 101270717 672662265 376162525 283359103 847307915 225015367 501493083 216134771 701513291 884541745 105167777 768635361 548011359 993137341 638551077 776276483 375013527 219150233 38414155 481730363 782226729 539441949 672289371 900937495 746237873 48388683 249803911 955687241 698969907 855975621 170758631 66631853 795288605 281623519 303229053 513411655 612894023 725342605 332741939 657211967 129714921 476337519 925183195 323768553 378160045 322933711 52879147 727612867 980716447 65044633 686407109 484490863 116711731 537690725 631041845 686122423 266826311 741166963 660987883 5840529 853768991 903020201 79934783 985056021 830701419 416400535 640228979 413379975 778696511 753569397 151480241 553339219 398202391 131805473 282789131 245709325 424626651 996021795 591519095 463142511 966488533 17234603 286114263 799763805 780579771 91549325 335444983 673062113 280538795 839931213 38637447 711950641 940997675 378293007 815655199 201761701 356459305 480229793 816146241 422559171 361547511 799866239 58170711 686035507 519956051 724023493 891950769 606678475 426765925 596228665 218664329 848926341 749276601 296854095 745106943 433512581 508092737 585560089 496809759 471233303 846464351 578913881 616711129 833730989 989442263 681735287 180381189 927399649 212053459 991019391 756950885 592442745 954368237 138873131 510982305 338971485 542190623 734516955 256903757 376016547 430537167 535263891 854361569 42278023 697529291 796852229 880257215 628177513 696308295 655709063 940733229 293981911 746207969 252564249 96041825 471603841 561972639 359356257 943371377 567713095 565288941 659969711 845042525 561266473 42547105 851147771 877360659 601305425 876976119 736941027 951418977 964946199 547333271 433152943 871988481 205299441 342335115 530009167 609771155 622705543 648536395 8059735 13444771 20231329 801842097 425351691 462053535 982632499 505952519 724406861 851272419 516020055 158067701 852795313 264658351 810850131 751471507 44333165 482142251 151261841 160303199 234476127 687184747 342842789 210240829 604111885 723498855 119887431 776580219 852430249 907226111 49478239 586712269 778232331 880585725 905139445 339701329 147594159 918731797 444211517 461052301 216993213 15636443 946582931 996613739 154613511 999593173 21967993 649173829 67412737 488737129 760424859 699308501 112496843 299610603 415065293 792163907 237797935 166652819 921470215 536474137 514434201 508223361 314402161 487800141 411527711 483439039 733072467 419730239 493986437 976587839 949938209 782615985 328636463 842171355 926777975 397186001 4122927 208733523 848822553 265792309 761116727 208452687 406929135 651914459 86990251 538698851 132314383 721378855 146393745 459995653 127979443 261029861 793669017 382057369 22188351 862957389 882588695 638526055 17893181 618965243 132254479 245036451 251046753 866592243 359013925 808122721 199301767 886298789 177151655 544352167 507623859 455138275 283200145 121494363 671299341 587646445 786323327 296207695 842237163 309653353 803378103 550924095 310321863 152361057 884650283 947849929 88857157 624064331 835846259 912495735 922725937 32811525 210258891 790607547 806133115 933083349 380570139 214667501 725494339 395290471 972493813 787964497 249451719 775226321 885518989 345070349 137076855 244269455 201786563 702034227 51097315 869926537 761885215 318866879 911356103 125680649 52078033 438652815 274584327 445910471 14288815 400259693 846209455 954858207 73505081 180608523 368362225 763466965 186290325 200517377 726980647 370539159 144686995 87282641 166980823 800752509 913152171 145798117 56906667 258198593 7357435 654763663 68840821 883078151 484367435 945345541 656929329 981274977 281584649 694578795 596930053 750216001 499324495 84024009 597446201 470215173 394493401 50443791 937551423 891885171 334764561 994756123 730324663 40334007 76911109 263346857 651392609 491574119 979492715 96272485 926120745 212822143 389296037 228701663 366725921 53231205 158969529 136066705 206147975 91984615 771701845 488627677 544885179 337178171 962693841 759392779 652642891 216668667 750411309 877917003 708354025 12753967 206415119 942493371 296246897 862853701 819207113 137857879 506386405 74921487 884916559 719139595 906578289 297496781 9182785 150196647 183224937 887599137 259831273 120968677 191512901 235641117 5837105 179112037 872039597 132384051 322422709 751125683 272820329 564052801 518387379 248939071 489647725 953219211 419462161 206044001 436067285 583042497 498484575 57566811 964012515 116516853 384820949 502959703 849478405 557715367 131762257 19664997 382097865 182054845 775652443 597028479 97261039 654336641 813087009 696833157 268895577 115717801 596719997 174879043 407628049 250650195 557737451 813824871 314955341 249372165 916277141 461856909 80600421 292498859 564961097 174293045 672153821 110212507 233048189 585445065 430877281 171500947 915818579 775862937 377981381 479235509 427094671 877164255 2139651 345127827 180778659 56801467 5405759 378922781 469552293 640912953 465366213 448084405 803607125 232426823 619586565 548971805 178391067 111175873 466472351 414048901 625172995 879823207 67971921 679889791 354851527 831700195 223589899 132502795 125928647 315926723 366251229 643602573 385864967 394625413 138060803 199758547 506315321 573483401 828344801 485662481 824854449 983137301 675067395 529388005 858839667 648950877 664277017 438944853 975085091 415385211 514637571 63246541 847195665 833757295 155393471 720755233 629996597 993802529 93029501 514339987 592043565 962657125 416429965 492503235 563532865 710302451 219797613 555686081 756518495 24833899 637873341 637536515 871912737 75523415 116840777 275487587 78137027 879336747 829821703 196683305 515133999 738571323 717139473 492101379 53976561 788272077 129840809 358992899 421565765 971924487 989824057 703580841 428948741 123723517 551418969 28329687 599974077 457308583 415829439 25154527 953569689 178192613 487689043 635239283 760028529 11266689 694976797 49437361 209016773 694154285 480905553 278007069 378278589 813648515 76323145 531031975 927598117 567765505 664312459 633906083 311745143 464432661 44044225 805679053 38465489 87673355 383526335 619464011 21407483 180470817 68789887 647318699 502171237 910901877 532725283 313936097 452616997 368427537 806427641 416869451 247902203 267193319 751255411 577942959 585628749 741786577 19947309 412533051 4081963 743877005 975192553 856471937 632754251 585735623 138786707 96098943 188205839 294159121 302152767 645515421 189674877 807581409 763953447 876098469 654399811 490056347 315850671 364603855 183089851 938977415 845719649 657990325 69028833 538813143 677718001 939775585 160234335 520633509 141214267 612031035 797198723 492502255 727504705 713599005 739227971 49078177 34528305 88488769 103265089 870512781 299964507 496270669 600095937 391247465 181350971 412615503 608796341 961593817 419094131 199673531 958052531 863659621 673363667 348867183 890670075 173126527 825743689 25961903 560239219 515298687 834596595 964124971 61745069 391443111 361043733 776424951 679851485 754263073 161742359 83447441 335868643 571473149 661022863 725525467 819584839 309894967 84690487 323827749 885728569 87144107 919050483 693917733 614284687 893730343 49352143 503410165 396336839 311213659 592170493 944673821 927028235 703039711 134395863 970747019 828749865 555820343 376456161 822719889 471867545 788450761 456929737 738028783 476237945 303709927 425980767 762599113 128293265 928277963 321441185 384447659 483720527 358318487 656391599 900350093 11288011 43451473 11191253 542748619 538766023 300235247 260974217 943856171 258946213 35791687 142348645 469061335 89979769 756298011 469452329 435562345 19745271 195875605 784333765 224643803 642297985 649460421 671384905 875133587 12397595 769243813 22636787 464936799 86996343 511442711 3695907 461500533 58140651 181443939 661111143 431188079 980807287 273689785 336178545 246877269 380159683 655615285 134658077 498545811 61216283 455967447 469198957 157923839 101364345 418837129 461321867 599607511 861818235 388928283 903456975 669725629 859081577 794303047 845206193 74381507 601749043 239347629 985216467 253899355 106115183 276127705 190384899 251471457 571573851 864576313 140225331 454013215 453026017 637165353 779604607 879399997 375355535 44288745 110667561 429107669 896819357 525683363 570759325 403119969 9574889 712383591 648932463 85739207 119711225 877006127 338708313 358623061 222979073 119180251 741324349 511916735 545266643 43427383 586085673 983122979 106129137 612695025 262601809 12334855 318743939 531863973 976104715 391163479 510491479 458771411 173984481 300029287 314141411 733142499 356498041 996799737 331971655 785976105 178454185 686829613 831860813 140752861 518162283 871204245 241010529 183489055 191784161 229112865 268465819 674580219 690669659 758022195 610605243 836590943 889738055 844375693 679223079 620737831 460298819 177279837 468396271 406865425 396597267 40042809 308107211 902779083 25381535 604743711 122992409 31000035 726509565 913303667 896079587 273388241 831880039 813746179 427129555 118282489 699380289 944314627 716329285 754089125 661348629 106052881 883743797 265025539 845694105 678200881 624516173 400464431 373862565 397045203 85111771 897263655 301975359 61329355 5003223 545693657 992990607 389850965 149405919 70533905 216062187 372405783 755811385 604689549 814749647 767730975 922328281 692521707 71842523 292708835 851621457 315368373 475002331 33820477 880543203 905907805 628596421 448004213 730335607 423131453 30262961 359924791 988715163 552171155 482677989 496484761 93737349 127946637 785951691 285774617 735545877 70195511 237129717 204269977 543381205 451088271 353428769 779997547 473200113 737145971 376102703 189933889 994189377 19906221 887107373 308577591 505083971 108919535 754711115 270463959 342351651 34454737 734354153 235628297 119018411 228098519 758667143 912912679 168748885 343730791 367248337 453185003 300332863 732983509 392363417 649716603 472479025 84703319 402005469 719722853 136914587 255765521 711262141 487727005 617620881 593737227 533496711 746936705 443405271 252451895 63353261 259305175 902667217 953215341 757741515 70934731 526552975 630630001 121725347 330603763 912012231 32705257 598338081 560950859 610760411 29896807 516098135 105555003 731974609 126264677 678345347 52381069 367959 381711429 952320263 772051321 329671877 966553679 2880365 239360665 815624989 329000629 48909673 420315125 125662209 89043343 59848663 256633851 42012357 641755871 890756025 394795901 995755357 592985999 4655419 152911547 948015465 385808497 128385713 225075289 489424179 793431867 915459989 184674405 785741991 740012945 82063241 492073299 901246045 936248827 994957149 809917183 840997523 791770857 639965695 274873267 164800053 571971511 320521101 746195737 215942093 725532583 207859273 575747911 593188501 176877789 277779873 640735161 704752491 500463473 34871589 551235157 815011287 235590743 211053457 661495401 985745159 503863409 955880905 350349739 480030933 278789515 497489367 997495093 897973951 427508053 48072687 65616015 188261609 839579239 672256367 704706725 276505383 77671235 315374549 561320141 353525231 416288595 991849935 968051653 206538591 282180583 91477555 937726129 23703613 111784249 248764663 959199773 113332989 717433705 433585217 627624705 303690417 64184195 131196251 628123065 439656987 914779767 38280635 939775241 994093731 438475293 284465657 613947169 430149461 89324599 818747611 65996435 850333675 296999789 863484491 812418911 971364805 621535827 374011995 562099691 900805351 144542305 976438855 12180991 635991811 101053689 643783539 344058327 376018543 566285409 65619051 746956555 734173995 248464591 987900897 775791011 418024413 399764825 664550319 181649675 448469717 525914369 215744987 852563225 29000459 513179055 419995023 63561481 552179485 243724087 330942493 86511235 254109267 718900817 628187139 966979217 393277851 574095773 436271585 545747113 603135119 225931943 468568453 867826603 270650477 285983453 724997857 455253721 877196057 360219291 570888465 380299491 631113255 652268065 418755927 862593243 573741517 943635607 640133661 194042689 724096999 341537041 16270843 41747705 127398657 285601159 403895977 439495761 953216839 781758425 915766793 975434237 304833427 33194195 78201641 717557787 889447521 270317347 360855355 881436463 669526745 659345507 395251867 372343081 251050445 622328855 503039947 778970205 703641265 805375655 859414135 844182663 638467749 868803681 129601139 608032205 954584435 119777411 977554617 497172925 828885637 786655787 154623595 217437261 541808119 921669987 912792025 13961431 646402439 550082591 345726833 829121315 285121947 439467315 156245713 329955423 686184515 231616357 121462203 743294493 583965239 100618843 702546203 785677659 988998613 723251625 439159813 697440129 913912357 615701957 179777203 148530011 105059287 435932947 576823689 30595613 870136895 277259485 486080529 161951843 295004769 970881105 861997569 583192375 57574369 13042057 280627761 422626051 857710605 978211465 470886821 801803419 196627169 218695735 70097035 947596863 67294201 783717 55959859 625362579 548517787 794188239 927358745 682956197 136273337 962477331 60555745 181661673 315682539 864268731 772229717 69816127 190688109 882811449 739229547 90960873 275305511 572877797 197845819 883072917 418964907 827267587 405300747 380530265 404700973 233321145 198342467 956998577 378206605 185251865 538745 35028869 244149843 636500255 562009193 641727263 230710447 751823529 1631219 47608375 498588791 304945793 424187685 304484839 222235435 695737945 29318191 168717239 180553457 178623177 109306481 698354837 685189529 568469075 326004585 341360083 655069083 346597985 647166407 766024753 314550037 225877061 70069851 626209491 709020879 253105205 442146595 298503751 59939639 244976213 136778815 341453697 689022823 685009837 399104765 891851487 454861339 345956143 209860303 283154727 604371645 148184755 14953551 663734917 842582619 232854523 172994115 128463757 537352875 634632625 90551957 754100289 383473423 526065765 7085401 570257153 430442381 529119633 541066183 968110493 391891923 914422935 706476359 403031627 621021753 602033599 304114273 128255141 73667775 848449339 78997961 480410803 73183243 184034851 322868569 43666913 687030895 609056121 764380439 273583111 60545247 581916967 2869293 282724957 390656507 341404413 524481519 259897997 285454603 709152693 710008535 808496545 682594047 275410929 188754313 14307601 397604717 322630455 314322895 701374393 177356693 277286141 910584733 25898207 713140061 323550105 103920143 466877741 614126677 271145805 397907047 92348349 131487925 326500163 340912913 688331529 148163163 286107787 812891297 984594935 926934479 345251103 25044177 739650261 976962879 813758175 722349957 131228247 206090629 251178135 966933447 503835293 238430493 666452215 227287243 994696233 378652465 516323221 141555949 677732073 466354317 825514487 271710385 468848435 529892525 643600005 99409343 159426755 655624875 683699087 698244589 737578433 244482131 731999311 79380533 805367735 940730641 317704677 169235899 719237789 792056573 633525853 59921609 171083215 319907799 789290405 386905045 618808081 397080071 295216281 68960375 538881425 696063897 995070457 635720307 734830311 909587783 484235631 473647799 15997965 520658289 863463051 178379859 833970281 821056795 533889989 411586947 781518535 233682165 913290115 619114667 772563551 684137049 199561993 585976663 727172047 634052677 430233997 494402873 119798807 394762847 930669347 306141995 264109481 979448823 450027985 229258291 851396953 600583941 435181695 583693945 257041763 520875303 577403387 909328979 337875055 23849125 259588099 648158525 138024583 147465069 228386357 380531927 434155553 490238489 185721117 592014319 502575389 839543525 775269673 139748215 846057405 242669243 354812853 917805961 853022127 870925351 342222335 766300779 337295625 690773093 158185013 68174215 493169993 89690703 562156131 754866799 258388051 978549105 799810439 201101281 337363829 262362871 937556607 717692605 81249377 779437753 547285269 161319185 118625849 580001335 441424123 597379343 213888641 673319319 275725003 460950547 29544485 778086571 182325509 813268895 614534777 900296167 571520785 538242143 721322045 863269227 622084161 979334949 287336087 534576127 322818257 89921519 518151183 714203667 24616671 908738783 295562657 499939005 190886261 354398015 186293157 690780347 528576901 317009027 916190435 426503031 799045353 172351813 689548679 33947137 446463839 110372941 514556455 171837451 509129619 911927681 766852289 744217337 31522327 458541301 136878007 655437521 391068257 720551399 770779355 129531201 339544533 703280569 822328413 112256675 755653307 851584757 749777887 219864307 490166085 642499153 662588259 955694299 914908301 417257891 329869401 993639591 364830097 741975797 552437907 224417107 989890109 906380141 881385809 667563385 270184035 533933665 136540215 805187173 347223737 276184651 451872851 784946947 240980963 674134991 445862681 604019435 359447401 242469047 276975975 870878557 541726909 230361849 9060483 382736959 567011383 224561581 543246105 495636259 694345241 309081623 794927679 893288509 18348429 563249829 351837297 307723629 552823205 331953127 249355415 190815547 418755159 636020121 61026555 400688599 731023239 229527455 822068307 814185495 806024701 168057603 921965247 36036729 294488681 609853179 177638593 225347111 272103529 636965855 349697095 579393519 151432057 266630709 874324905 215538505 594555909 823158693 129280159 670638419 556841053 348847623 170229075 25191381 637533627 608203857 53928785 639509565 119701313 77535145 572148365 270989987 601518327 603290203 194895461 780885705 562815693 843720921 865831581 892644625 167965087 686347965 310635109 35177359 883065389 168290765 287669073 399083255 184299041 936602867 808866909 992657835 249308939 619394881 961251567 292221615 802838885 666578163 101701077 552569525 888636817 909563503 44581955 1540883 794950871 7000893 645703385 602754249 437108327 915341583 515555481 470782335 201742429 814452933 420049905 613113473 287635641 554522463 416644535 288207817 117914213 161052937 6526503 952738549 216560177 691580437 802376681 787396685 919472087 613002753 549420807 416076737 206663417 332094575 462177273 800920039 402656285 632785449 941942939 109099261 633864121 179472931 764944689 649631213 600043811 445992055 359329131 893587269 909002139 433592171 640875867 12874813 321727311 902496361 822140033 831651763 852189261 516922629 214543041 935402797 472300431 285752313 19249001 317883871 72771061 261840425 910343725 394604955 56872779 622610335 555512877 797042659 275117887 563496591 725081321 518685407 45223533 60761173 17539411 792767581 56399189 232902259 977893055 613044947 746994527 101001109 83683305 402718305 942715359 993996943 898956281 689961937 884570893 352617819 28621177 144760719 30909193 555879965 225597281 525575347 433177311 315554847 639529483 636201469 130048893 402009815 751493695 381930195 987584191 197892829 536251947 657177669 276373605 489999093 322069089 629858827 259235607 872701707 259631841 772216707 79752553 538186547 263596559 520150197 301936337 366992039 700941751 37322577 495812789 290207947 414098961 325842861 118111577 941630507 652676793 763871687 946078961 42108279 944169397 316638281 140460695 996166799 740332657 56654721 676217161 781927793 967980737 727832167 241018613 975816013 706116071 949543833 633763175 466425715 651477891 781793373 380381533 770966111 907432101 189633959 902859125 616168117 749268161 904001289 126107449 320387649 118587575 125985221 857411101 997665011 5181385 556196803 140997749 678855659 553669285 140130447 264236679 18225257 801144417 538209381 898271097 132944087 857724281 228468511 796213853 896562637 965684437 462425929 31085359 654054145 573784769 953085709 69157837 839819353 322875887 959002953 667696897 525496033 469226625 859869813 148168573 654029259 910770425 508058047 688508123 483899761 888228679 508156401 911322777 667635801 827402175 770790021 652182307 115371053 94718493 566259865 232754379 171266751 747886727 864223221 998351559 574295309 124510345 554658313 151488059 340746297 88431133 124574953 835143471 621628043 885612187 278994009 459976085 931786875 328779723 849130685 963003461 469327267 850675929 437904421 794886659 215023045 94297435 695418695 748900469 276248525 313776717 645253765 957554989 247910095 465615125 257694949 362224293 987366147 639848579 32092949 954048831 878609105 944969159 904457325 313412675 451668929 358457731 194236909 266775779 71025031 348864185 162903869 673174327 892658431 190352857 348639147 128107331 914755371 403342773 685852461 630346733 536368695 663541389 502378339 195593223 844076663 99370245 194603159 60066635 876650341 979540777 573102773 862295387 593294501 101012337 97272405 703052479 293146881 131765689 346975157 619890663 487899501 704105543 612722625 137158193 147105797 758068935 331342595 393873113 918892813 758065485 499406005 881675275 535631853 228953435 570519477 793586135 824431163 528425169 763640715 17387319 73897137 568839423 78755173 336583949 811021875 856746905 231319325 611990303 591216331 742380991 32851505 573751587 836410031 977564403 581924549 617955247 240394551 232477731 129693357 453968197 410511847 19035813 842794591 153745231 188554093 575768375 388499449 67214109 598400153 669593851 129645633 878527209 149613415 611771523 823257513 156657365 955003387 149091009 969242441 939249639 770856353 501861393 394156509 712814869 74962889 33890621 925886669 106835509 949995795 368872559 187323179 804102409 651439165 169918011 381531819 711678523 917075255 601821857 400195759 11095643 707110929 822982149 152917819 458947809 902428169 871122997 917923329 697144115 800779391 852390757 572064599 236107159 617028095 659547955 732060477 634528829 28589887 288252837 290700377 905788481 55800345 696324135 967446267 704186019 597057167 241858703 653460507 986430283 645370827 264427547 487663191 203250701 558835493 141255789 777802999 104128929 209433363 127848597 840177897 339862695 757780029 285211657 205326791 28973227 107074153 590974373 751680717 478376731 56608655 536851117 377268709 62355027 920480457 214818255 584025245 799123091 51604313 983578147 850966829 881100035 943168939 701890083 868781425 326612151 848997969 783471797 358548469 84617639 135609097 460612645 968939749 659829683 94534581 310077227 552864539 902151079 590805855 373128163 271441171 807745585 953491771 374702291 120163317 204248813 93952419 155658215 896342163 361790809 365208351 731531637 122601057 495458787 409539413 869637433 89531519 794203863 53371929 746210137 402487477 482483059 916719209 869117795 571006067 617643733 328686951 980965709 272690639 320273673 892262749 422976625 490115209 297750013 406531775 47240855 570007815 210409611 895863593 855459051 733111641 806266231 318051935 280958211 386305079 642255463 846336841 530953693 453451263 361030383 39120125 885737693 43863481 657780613 474901941 330362063 427699733 357403791 104517075 142605035 880131687 939133777 133074151 360163789 76124595 370954495 448368287 548417145 463086491 57675185 727481305 707582303 358840691 665345387 87653273 657513299 361673009 500328723 723330055 605675665 172692593 567260541 417286521 761190335 66299775 464619103 12588393 691327723 344024647 516584797 271419771 6554249 643902307 592039679 149655163 818493047 233624847 481157047 22219609 91471611 713863219 941063903 204950581 425994689 463845729 738006453 822382413 496911583 190371789 270731365 611080209 669519827 358172759 310065921 704606737 756152959 278094983 525705343 420526601 349549621 551141773 213213635 971421405 352483493 609946943 86913173 548889753 698488561 301285661 890704039 445572975 518569627 74081101 671217297 150608569 187735187 523045791 565597909 310493693 247713323 181853323 740351199 754524131 641429027 909422127 820386811 775416131 789286815 572969299 212189797 159135763 581744939 6416485 549439039 959905403 184708545 868415615 613873809 326284225 805033913 650557533 306212429 835598173 469076953 287518569 115257163 88105961 825358417 645274289 338829645 492151847 829365173 251780587 138992893 338033667 525146113 525823609 581571307 463651727 438922141 147466335 86029969 217301001 945096275 28216145 526404945 818771153 912382553 874866593 733369203 329590389 144235343 963877713 971321129 303477671 690665783 625572103 752121739 641661507 110107007 901946133 265507227 38973515 446009341 797632623 972358979 688097515 725659119 917034933 294978131 375736693 923932921 120620591 909074821 664115303 497427495 244018893 816293243 741451875 994867441 778732325 82007485 298187571 11177011 950055031 116518843 177975499 288043313 63987881 324305361 282467911 554490523 68802891 284716095 245105385 376191877 518844565 378688047 756526365 281293419 511729253 732338353 140643703 685709363 80971587 346637759 886959537 846548267 835346781 40835387 314919855 312957959 784573325 122691563 426121851 753201893 276562511 500237445 171415883 962642507 428580045 215450783 817437303 454098469 559577555 106718139 98171523 322379465 280362205 590834241 538267931 117779445 81095429 149700229 893167123 30382539 865899543 66071999 163445349 432807389 275879295 590669585 421308725 235481629 920735573 599167105 122202831 229455847 142442329 78600197 512873891 93531907 201060851 48749169 64191823 733593759 322620719 708102795 200477591 673997901 952982983 5469691 588638051 923619085 606359577 188879953 295915465 921679427 50512687 982076421 979948293 326265533 897848243 394370941 355556215 459602351 779656449 505189885 442262699 474752439 890911255 608005307 493206103 314869211 966370459 734920139 683597139 364214407 182505437 659119411 68029093 587588753 939147733 743692763 494475383 733765685 590748705 662307985 361233691 772003353 946016009 891865875 404367885 890075211 727792763 187925247 963247859 755958593 317535505 900937441 229192339 119953109 553026823 202169639 229114341 277123921 216381767 663558957 271730947 452013661 724602973 219926065 53860909 416779281 181100421 529198177 300994259 161716203 418418073 723839945 332490375 545938383 486613541 423116135 211853825 796686601 784481365 525118489 309030441 981923665 675093505 612816297 496998663 122996675 600110761 766893515 808386765 116964325 518832243 808356115 41786075 135955105 851820849 998421511 335518897 924993873 236563287 20814349 741580027 206474927 438343941 964252281 646705293 259643361 941328643 58998657 39420255 513483637 764036545 524240713 614385561 483843167 564165205 226730201 328594051 601470207 936644477 586343203 793639313 505028631 400594595 758776321 688855391 264849365 505259733 255601969 989019823 233055951 898806731 430351201 657729389 833220865 979462883 83384093 726345645 247387859 709640741 134327267 242311849 127957519 718683455 350918415 177327555 411906797 962816139 329620209 110110603 653129481 802435589 967810997 536262831 966956135 814856791 376936053 599392013 196033143 779872717 173528627 757299879 624846603 730591587 133535449 705188521 561238371 685849011 922368057 851575399 68886307 31180297 682849033 487922267 61413721 891617617 994057197 938388265 801811321 28605219 44465773 39712413 938072673 368385727 858123771 603962023 813666647 427545611 877484271 17605733 381927687 579732121 892211597 291993371 293949063 874384029 829591291 555747633 253692499 414361591 257514571 221411645 645053777 144116527 12162423 601884409 6850001 674151541 747436129 380113993 270459011 634920605 158233041 382110777 390806921 564579883 338659961 110652921 528669029 404193859 103653361 464031209 788778501 620096949 286171579 103875719 86929855 437442041 131974721 443710851 856190033 706276909 34387411 796735149 678184927 373904407 880620459 771237121 451631093 92894507 38102763 206642085 247363723 66096507 830719899 495895775 329091837 998403273 921183659 934006567 839441 362500989 241376247 891648533 974619635 232422821 689787201 383413615 492229943 290867191 475782445 245948447 805728221 857005269 227077969 331320631 794622283 570957635 843290663 522182901 355044427 45297139 785337867 599036345 8112147 868298299 429043275 289008913 699588417 973663003 363436053 449386671 10258651 92922937 761474437 816128365 906028367 665831 557252251 142240337 233702767 405602073 522591809 500809605 799381881 247017583 57217863 824982877 576845333 561259313 768395623 143174993 521231693 518358351 951539779 694793481 309810073 390996317 598347873 146658637 584717525 285187999 473563703 694053649 362461509 770667769 213340955 270107761 416028825 470776315 175872591 312103855 109762275 400197597 203437051 646955575 975181219 401286523 431137331 773640091 956535997 751853665 632502255 811530905 296945535 682577341 289278991 657284115 850559389 874959715 707316319 425956883 819210293 250888405 878395533 301172429 2485453 434926139 410262325 983411613 203728465 679436129 766214871 138513925 473329175 368216259 356858077 560791731 807328475 842095739 437275797 523931253 464813509 372348757 978835517 396458827 343383391 71496637 392626163 32629591 18496159 102184139 95734467 592942565 126065125 647060799 755568539 855936101 410329587 42086015 920602711 929388405 827929337 635481499 865791159 838611415 125205897 515490379 801115491 207491449 290088355 206607853 325960431 792639595 185995689 920739977 770594515 86114793 106760557 74556367 705416303 627223383 628778273 117234709 642631181 448745279 173289571 916416857 742510047 646691927 385390905 84781125 725568767 372576887 650412301 615431463 229137517 992690085 343906233 506044663 149983249 858741001 92439671 378071635 385868735 760100345 37959917 204842625 630233133 912231151 757075497 829201525 71245823 628386449 422226337 354403777 992755391 286809765 891851823 687297959 288624091 904460579 471162139 95222287 367493037 556634403 748207889 76064389 361241721 656433131 624149289 493469509 998555493 441264613 620223451 108084265 843353989 371478435 257712145 408176059 543033039 424488161 98874389 641433643 550704423 239641989 155137183 370217039 855355733 388419733 428755915 979578535 423568395 251563337 669139997 772840027 908323043 892708859 306109829 261483063 677056859 989543725 973036629 552083893 947259871 476171401 12013645 464122355 889538241 880292839 158977937 520373433 374782263 716473407 692898223 207530357 804440677 282851507 795425947 761483329 89952339 758693777 577697717 25492187 52201203 732033355 113920189 909731753 809431837 763971453 370164965 923771579 886073237 337855465 124889025 650181831 657771521 388316539 802362959 292135983 258175987 777018181 407776241 363901945 877847015 999750021 533638519 507039955 178866745 830476955 813397015 475684885 76531767 863468567 352200813 163998399 28369681 980957607 389090685 326384761 869906143 938159657 689416117 489868943 181958053 463060639 797372395 572601085 915302985 433597749 915548253 426970973 845694365 395873855 833350063 985308667 966603611 130259767 873623535 82627777 658070309 580533183 107638673 509994059 688614275 506887335 54408819 931856087 333252327 81931485 619304665 528650571 304652457 190115455 260284019 683697209 306552843 135189455 937347925 301909717 857474871 449395257 580100859 299568127 927193149 182075729 719690571 560198463 333645847 743087057 497821077 63850947 501177255 509938333 396097417 892938597 674611893 273934785 919636551 200236961 8442097 550506349 856701781 193351329 962857719 923436287 436783009 962395187 888368967 220745723 527768701 601437391 725956427 972013321 453332135 722257041 944303699 217284863 909041479 445829701 498033305 586055129 430432999 896234071 292792383 605304759 861800063 712143329 864104525 762626021 514774635 980488607 133331379 999724505 955722609 513717497 289491021 514615339 666822587 578638081 178747355 655125409 231544803 127989099 783799559 137750563 192963043 405577111 355425377 808320969 192839201 755592591 188289891 197110217 939937899 985104639 61842797 109236617 113661685 195411519 684765387 13603733 643162973 307338061 360180139 112403615 836012969 776259797 668519209 34108545 899784005 995782945 838696005 433110849 629593607 283349291 88167657 788291081 344540971 210876305 641730275 903269931 333876825 760180123 581684465 97212453 482994331 795570231 952079283 580733079 641175401 459181311 619921583 113228623 712869277 161259311 428095833 608283199 608522881 605903537 917990923 730292865 546105533 81855763 686212869 310154587 465802601 256467597 907225969 323573047 651859715 927454459 86871645 79099561 939612271 45975785 906262471 138107753 301543419 406862979 458411405 461173087 699017819 330172065 395867259 493283731 270661037 569822661 511319871 435342137 560900215 103556369 893574517 840911533 522995363 153795417 592464539 620804209 431599755 116322321 873697055 316661297 925062633 67782233 213254991 997818305 643113189 912324601 93204579 853999643 295296777 830462561 671393151 875283553 298333771 293910951 990194861 193640161 801437707 293840779 413520347 918939663 459558923 480219763 690181093 936327043 433049977 790614127 368927113 332812033 634200043 884232247 311372915 686303093 550245471 83948585 531620405 754180083 176435257 30364493 827200327 240474805 31917125 544239699 929648649 55531551 130505659 714394255 208972741 943815611 462272823 326733061 751272365 430362943 606487997 44813655 179225051 622512515 372858301 899616985 804270157 535060363 240470537 435687809 317255151 632375171 626919649 689549547 777243539 141697983 189703403 433244515 975523055 965469627 505914415 812704469 616015783 984311575 612665129 94150617 562521667 792290975 870683057 430928559 414698293 196430665 52716047 628292671 609149399 762562349 767832047 199062805 590661479 969788561 514910567 72219245 920248337 378173149 269394419 730222369 901764583 670736807 797820283 171943611 793284575 698966443 459475785 260313707 701518045 909603273 567441173 15504391 675660969 10325005 29702649 27094799 817225461 441370797 983845247 491904937 190888025 499370753 754794127 981884837 672187737 692587663 13400195 315661179 372408155 65807361 294123539 543810889 896311217 385297449 658982505 556773335 220842645 953058565 504112657 291135379 898233897 964295861 179868159 466916247 22779765 921341063 86026385 280424095 155268971 511860717 843137677 301191701 820133347 360537985 424749087 801083655 218473631 943277577 909503453 937400619 647172169 297534831 98971587 910465507 633584497 818731973 408684599 373005107 598537107 21782089 38337799 92422349 427439627 353120861 587642985 606502665 16621351 914082953 653986295 951585763 942412567 780908933 619407801 234316291 213569267 176494891 134056221 413667771 575087549 186728317 942070261 954486271 91584351 353504167 252031873 854774639 113097641 752401149 630668643 50957651 394363733 82390521 670036653 845168795 187541765 404017469 618112721 119389917 355264577 61119127 935558317 890065241 284154489 973852667 486853509 194059765 578686473 358365823 919269385 223799873 678239537 354638701 28975435 107218549 853110555 111252267 912625611 591964783 572622039 911954511 429858927 815346869 497481823 934229139 745167233 15119739 465867669 511931353 137172407 858603923 569175359 724945713 613185327 77035905 415100947 61076425 63709807 379554919 401440167 385826815 609127267 189348121 222445437 762840661 613622881 46291213 203138045 423117433 306528039 204389727 380600187 783227451 863353303 622164443 127882543 78921367 690565633 976405485 836350523 800315569 857667995 793596845 139229861 293982419 939657729 839412955 413903459 74528115 525410039 887259103 727088203 533310505 337921965 261132485 805864733 647426233 492930485 850432583 513674375 47786513 688700431 336446147 781828119 412187969 395866143 876874051 570088007 360714373 640287411 281462897 338624887 188446273 838037247 512206249 374265587 288231937 311249313 899637737 557570537 919097205 39208863 629488855 355788917 80353661 815382885 914674627 323221 310122775 428943815 653738661 860132151 306105971 540118279 98246427 948649257 577559521 396109765 645788011 840572963 297949919 500015121 153002377 849041867 119201037 278662241 378289671 568268453 936494905 848116367 942557481 928838437 450340437 898431715 59796945 364798629 605761147 613749003 715973779 193264741 281743857 278432537 63010981 428294285 41867809 707359883 934378211 732662065 611856029 134857545 321811161 433514311 900266531 553198751 287511475 128097203 397416339 894868033 643819337 17741887 132286203 946345293 215980315 911188121 656761485 277672263 770045263 693933915 57248165 987536159 532682167 780403465 683584965 777460777 433151175 977280777 469540247 551232801 395909791 341999791 876503539 233123629 53963271 496806961 191102673 15981787 582556015 921199027 239127635 428851999 894839789 628123199 101428167 478412375 933636159 903782595 306383007 867485513 544506831 835587865 459569527 337465891 393341867 286960901 646058769 387447671 688539019 977153837 55487835 107450691 868444365 439838755 358704227 846120431 705696633 838135651 226743657 262515013 584445245 746660939 158128591 325181309 866201715 464735013 925925919 117160497 928184087 17441315 287807245 188506475 647176659 754942557 160131189 982918291 524716275 598594773 100357211 109863811 645741427 390684535 232260071 52377973 715026925 510141455 318627439 104525839 854152109 242583385 186783853 839037021 794304415 906091511 495804549 922147801 166804827 424591729 643601537 893871963 316270113 450927417 329090645 956783145 637877719 535683495 848656159 664137459 914553359 666545407 620089885 394669261 344371963 971513447 462693309 586196021 385025153 960064753 396642451 527398925 727388451 636596887 413374555 102266021 323960595 643288891 237163765 926308019 602925861 20559781 690628973 883221585 37055453 764806279 487660281 437946375 528791647 560534393 832922097 925707203 5129083 343562237 80391387 112903639 211018921 305352317 113867615 888279043 475695879 233531209 180056403 423395947 95184475 196487067 173848499 340159643 163738649 254046357 492469151 916262027 804932691 221870143 261490533 21671831 460034763 629521547 18931573 191594885 127234537 500759633 798104943 100237183 198771131 202642003 239237395 745296671 821258487 838784571 131344203 117851999 179716095 482483609 620109103 804129701 863367639 131567847 406506741 31254719 868473137 703314053 641994501 574059491 750682467 557965759 312207589 602280875 834073453 547595717 888200269 746039583 236489461 161948847 742979095 468554923 332369229 112632959 119041349 117749541 581214825 411872797 481968643 112500427 870406633 282441309 818631331 4418623 897451541 574510839 945760931 908187539 34412253 308988813 396427683 661421369 850502869 739980965 999862897 411897613 892213313 32859829 925808639 783767385 329081861 886597395 267705449 964106693 788783793 155501825 206256625 825279595 699568507 514142887 157720579 578973381 118109509 333880857 627034163 366687929 638052757 583517263 77775163 991975317 485673369 895670827 824135165 419852045 722762027 744387955 845499529 487179327 654422983 782770653 880770317 545050801 102563223 268223485 42726631 566358351 263929959 112447065 992641433 639663981 811877043 137765977 81921999 338213325 401941141 216068941 28927069 970559887 290291929 821790061 923501885 599184195 11469291 738775775 579383955 97631711 957388003 703836327 203769257 743192511 660614785 646757817 7977459 763014567 106359339 634401775 365027853 832239557 890236657 931936521 16080059 696275631 360523403 575275439 68785125 969639011 110219351 588886645 691792801 448035141 681457245 480139987 357074729 406336803 52120141 20790313 301394913 960064049 922452093 481318081 676228693 126558221 871923947 179367631 759074613 977754299 718782529 243248487 615869023 318783403 189625037 185694607 389797335 976154801 68406151 311912749 622054085 814816009 991894283 728516629 1030273 923078233 711615141 446976253 727494529 94329263 355826497 421671049 281868907 684801153 86609529 711637571 621038859 514300329 797046153 708026265 979801425 482566255 949849179 601648869 419030621 487246719 148765819 704558699 7098733 906810351 929910819 442517841 795136753 550324285 804149555 477095595 729121145 584552267 838597679 482197103 976204995 415851371 635442505 338878593 612755631 923749199 35678039 772704169 415630923 870003475 320326873 316449945 631879881 395819329 321537781 65782507 127784579 375259585 322688125 678627869 865376767 53399277 586071269 705467549 166602983 994721919 416145229 509041335 579154189 738508957 891364221 333840807 141520239 657809109 185197795 945081487 695886125 608015131 337698713 770649975 56784021 959779533 199887709 1899089 361258521 858469297 620630165 558253047 902687061 678689523 39929679 460050727 315152907 468243497 432145479 827263373 54029607 869081679 666614233 11345081 625920957 950856909 903564045 213587751 2870277 189338221 387727505 78577973 249149031 299817063 614979517 430669357 872520299 768747861 336794513 99667263 267314117 367140415 256199605 796824713 929189201 505131411 504907637 232020487 122874385 914704419 774631117 508268197 647392305 214090287 257610071 108679475 760024069 967984219 826594653 45966187 956130055 204399283 969817807 543246575 357855963 307285935 712542275 368685127 73981003 708407595 499480057 60396005 493071435 848122733 545147095 184508705 575882999 167448609 194101103 815462717 17317011 914200925 940966643 857672291 133419655 931551901 600052809 735610531 135885417 529814471 863608051 590141175 490933491 469861417 589001761 184862273 949110025 866782585 320936877 216284233 626102453 242225873 305476371 911953087 715119661 164297657 287835261 976809535 70379209 224698653 149454265 25606475 557449741 240331347 212375871 887824199 449045671 190324249 899396395 339216265 37970279 122610579 622760521 69059657 472168009 617980749 152569605 305526185 683502961 606274623 90461305 470268081 529244715 482874565 207047009 630581841 329791975 356954019 605282597 81433189 918762821 886697225 980443863 218349741 164218115 677568393 305357867 560219603 154479377 278471459 141879937 413535847 990145407 840232507 301475811 714242531 417218441 524469919 179993597 486922663 160123541 449255557 317240615 707079167 970040105 206795655 280999775 660018969 48523261 413035949 825446737 245734417 113278699 264939107 431980359 28544487 580468723 84227455 196077627 378360965 589810245 518681661 877696203 891538875 28955953 235469893 67765823 714616897 541240117 740794529 884829573 515117757 198119153 208901831 907703863 624271027 143867443 324908439 193230737 943106457 771605741 297850963 395733885 486410691 96532539 737998251 716087689 584975223 342924127 610315953 760636907 335217629 874607301 781769701 329872517 7412229 244137215 774246955 647646685 177398759 962100171 741462481 175278113 676259177 352353545 208456075 462678057 413715791 545518535 673891191 650774133 172436557 890972985 51042841 274863661 578561021 384029109 531173729 607361565 57611743 291196355 1861027 818497985 245763163 187154189 851324059 815575603 401980869 322138983 316053615 635044157 490890579 913469387 119211693 687884367 687399979 72338781 108592971 723345791 703658065 389406823 97023907 625781389 989782457 858444125 199239037 783001055 542619453 128583643 291885063 384784773 355842971 990672803 499071699 972824631 415150209 51484067 275859679 234931795 323644795 217417449 187323795 496187617 954864391 772906933 769034683 536814735 704762755 871092329 566966411 174745783 980124217 893321361 777202847 197435477 358485595 535822301 763419905 382598419 315408387 989006635 230013977 109179967 643829039 220441469 529643713 836787665 259570891 338216705 26038579 734578533 583169449 43647495 811609621 555041095 150271871 775395851 344575861 206851427 985203185 693177009 85776327 41613905 362044809 907743429 57460971 96504401 871340213 742937911 281701665 770774091 97254095 236248101 413127197 784945355 627431705 127704019 226095087 280958731 54884799 613970857 464314389 663789547 734421709 277709631 274365559 875067631 434947391 858545995 112543839 125812553 233124343 251376819 250087301 681888463 120305341 538250627 522697987 654822145 724965699 370638315 744403041 178673669 430092833 753749835 597056141 625457067 711953371 44426019 791233241 689741931 578567639 816488989 723755013 199749731 579930983 869935377 812417333 362152027 258203845 627414005 968917239 443954881 581627411 688197871 65913919 83882159 833695321 736556875 140775275 472471777 646864521 414211707 227851073 963404993 528636027 252043547 721189867 276295005 397521393 90979309 975439363 160565867 17120149 187959003 177243525 862601549 432078329 145595389 938554579 580087815 628184211 990598281 33034685 327995979 379617479 430176231 501038199 237811825 357188315 661706911 355409057 747205749 927034117 440089957 311815741 48104703 946285659 519500309 307013817 710631007 987597791 525487281 498487789 218582415 679432059 970339941 555978513 170845993 538204415 549381251 61779919 532925559 18517285 34680713 924122929 839273 434163855 649308697 419054767 13797013 348792517 891176957 754822437 110335035 99765559 339099945 659976153 176110401 175659585 736344761 206461813 841431863 184433701 865986543 651234579 396685395 362458119 447137591 140277037 408560759 730775805 475478309 430794409 639240745 643749631 888392563 316222933 715021721 126330863 299355141 892117349 74235291 319171221 733867493 996819833 916098227 313018273 980835399 438593171 997314051 856239791 644951431 559376033 17945183 556219711 978562601 686423545 200606525 85670331 300080085 165510743 857798073 463515763 419100257 663868387 143580575 755865759 129751239 931182119 71724123 794243429 874630187 695679771 399862277 145555657 318574295 967957531 158891101 468485825 337809729 107858155 342535113 754837027 216684801 700639929 28654171 954796465 690917341 417362205 617518791 256663827 929291453 453100305 476311917 721892829 579378359 805031419 443557717 359024263 440230919 888723111 577240879 289109361 858496269 420285005 683607633 571482087 458639189 75269003 810837435 944683799 141065877 298832737 263446803 320927005 459444645 138726465 984966057 501324281 671396747 782571775 802734453 604791955 789766255 930043351 441492501 328611775 192890537 221481329 900199375 399398707 608746415 5834711 198211735 406486677 291122983 806637951 706911999 953913449 50183133 808588361 741143883 613498659 54305475 136605303 234646621 978651677 773856755 142256567 176198345 213101719 320069043 603244063 926958531 438037689 54443885 846830893 687388205 474162839 271230643 729414853 963196301 646845223 187949123 988059701 718908689 564935501 998947069 736539439 122560145 50412243 456163567 121766613 632442253 234550631 487392331 576385195 471093291 44019107 635176045 970719133 324168765 950958603 19541207 836354815 593626679 486270469 299258421 865821585 538131001 111803621 228885849 743608441 532909835 145065697 809747521 339021375 819237661 164982815 390502671 800280543 861123973 727098275 694612237 923579825 989635329 13475425 192597423 816150141 595356923 594788913 834998161 277260399 595187841 6910679 355649397 113974813 47135051 887870201 803461959 872105349 565532855 269962537 138437915 802151177 287465677 474101987 889804843 660165243 719461179 459693957 236651993 814246411 474491483 724733273 954359987 540285787 897458217 864619665 886182765 422745197 702884175 735360069 142961631 61893297 297502233 398353273 208607245 316070393 767922051 851876883 348266275 980537221 901936679 374918117 189734517 515068153 30048593 700055465 391401597 323176803 648064493 22091265 229306847 171052087 552585619 627888245 710972005 715126355 67600771 837655159 626500613 996701949 685460387 681789535 473144279 514478305 451321219 477691505 432850719 277633301 342935387 766356947 907030603 497231381 59536139 994356119 685655531 160468681 910204183 548090295 312674747 117411195 147828143 447019541 676068255 966394593 834571693 711481209 204196003 662944027 729710991 843679381 825441783 456231083 203083899 784433409 482500601 637433215 678179649 827631679 447742765 595577327 379513689 10295993 251096381 665385395 119709663 651454655 968589307 782912757 229400735 432606091 290812003 952437057 642222855 387411007 212941721 338025611 697878827 247707363 302612969 179025457 733982413 489769833 64951749 870747639 82743381 780784297 905964231 27223821 810128337 738256741 629982389 263565575 544559607 870932807 551371385 407741153 435735847 804662751 8258853 478909953 91710059 789022119 906409207 175853877 813784687 296201983 770111567 494074801 49486987 955449139 231482555 611490325 974852543 355855219 900258285 208268643 541576625 520751575 627328191 858937353 946915763 253835361 72128055 296025309 62330809 947711995 55579775 71171099 221029731 24536437 298072043 395869803 291597049 332020871 600088563 637699543 158459499 584340183 280756287 141513431 743533133 764586219 459369367 443465031 944594147 979012915 65364719 207214955 16801553 439419147 103838307 627721971 298387303 149453747 285656117 578995697 740675355 836409173 779337169 221591525 331424015 804811265 294091977 47726771 722353865 312017071 296543195 425245609 153982839 9875525 197593577 415061627 143873267 926755463 371761405 553794631 672871097 749513515 365768523 933663891 146628339 901499079 596741679 12505163 750261101 269511131 427676459 670999237 526949539 605386197 121023211 606694589 474353327 746150915 718440003 702867803 915314267 982509213 198525741 708371753 784985623 949559241 555408845 893461279 110534907 700095115 861222765 67689367 385770945 156327897 674846595 502520665 482698711 583711111 145763495 277895827 327475271 544603 647265181 230886359 270031051 200431099 795103315 290399013 218319041 507924987 488784601 200200929 36097073 701667539 626026091 905514711 731574987 733707747 194139245 360564543 522227941 249122165 270372201 910897589 401058941 353559485 607540757 646821439 67845181 80445903 419716169 407262793 318884979 183708849 811736585 804531111 581748247 748056649 177641091 337184153 647402949 763886699 15719175 408498117 947477705 384622541 535761937 277758261 984818191 460421909 570117701 832769887 104903473 129406407 21199727 367778595 38495083 214031703 205206401 897171907 902383783 684159519 191419797 765846509 318493809 856073821 919253233 9541815 167739651 313166141 227569661 35144349 866037821 911704017 207566161 90665607 612684451 984992271 371519651 645552833 852441703 291287003 663720409 156191741 781307999 148283903 178105855 937087069 107148043 156929833 298648647 411372643 159122321 883470067 158185229 733393919 865657539 350773473 298428113 421372805 434586133 130936665 862330179 782167729 673722023 579408045 968712245 204305833 188396097 252682265 784602271 892427257 978355281 193289401 738158505 165763995 671611633 248433309 498446747 467930087 131148767 742234031 794956009 944749733 210348927 983883983 155524909 705920257 722536933 542997689 631070253 410347153 886060487 145451801 241006803 56818769 662737283 125816193 427696179 224254887 960733215 191311975 53016711 541890403 166356559 905791535 285402161 985936053 243779429 679238689 514092735 917022783 282333795 556488047 469915621 367356163 762387185 691132977 939359353 149572463 22895707 886876265 310567813 144372827 9544859 589272833 589194543 504587265 871775057 826406089 870597579 104494341 974850753 992871293 753720023 890241401 428893917 951808697 658442741 324456399 900234299 611005707 381903343 505733605 432154907 108843747 963160507 48267777 243561059 357098905 679013233 513787343 774611621 821139055 564049749 139416931 237226771 225597839 291101907 281446973 751986835 103491337 82716543 142421571 802223271 192648151 709363731 875157695 131345535 206081755 264250739 844483943 831754741 705226717 497093547 704523611 594691205 105806991 873083627 319445021 909511257 532137353 168800913 922403995 313985855 809012557 53015585 641273899 907831725 265595715 204937283 597484427 901950917 590353089 141257165 366777309 901764685 289335803 671703225 257594291 352318899 485125395 907714859 171823103 994002193 209390357 332545647 402042141 902356259 327081199 181364215 810939863 997951313 47970941 753063517 158237269 708838061 970176383 153390695 523727665 608645867 659654303 715847677 850462309 173540715 765455981 505722677 814106711 24362551 897835107 820000075 409918677 725431035 605819361 544408479 332425235 649882127 166270259 31087295 219178415 363459441 861149319 765747035 345911215 237136843 204249337 705573203 163157887 755435885 612952969 776076455 973705973 419897161 947549729 970851969 241750863 736503813 354342545 1631289 297513519 755992291 586620307 971101253 448721061 41854675 355396039 663692621 172701735 956206959 939888311 897115417 997844369 730346483 61570519 758291357 342996519 939131465 727925629 13864947 255874711 608773631 536651753 169775457 7728633 153998667 957634633 611205201 188289223 505792015 191920043 821420375 911192037 313003217 863609863 849770539 712299941 371383743 180017475 292766901 246254777 177332145 855069731 507393533 735974207 218684199 411660635 294371639 934610877 348607817 801922693 222045887 527460895 850917091 81390881 388715799 966029497 21158255 97198999 106747883 507363149 234491917 148012091 547326223 90867707 81332865 453723717 338818939 513533011 53069373 515739349 958543959 111560779 541179223 62056437 181587435 754845501 173756303 810401175 712145581 58669297 65725771 473738901 332618803 771700371 681978011 903771565 185854535 391755705 77729847 422559885 490395599 840616801 261729405 217716417 250816993 47801071 755581045 281741511 709384887 407367471 478522573 525289725 701976245 494086489 952428255 487598765 376598373 373756425 658967975 277451529 484436603 504583235 526600911 353614891 909613779 841450103 916156325 83052049 730999153 572404089 512771103 498268585 252296829 637873029 125006815 766643647 218998861 458326849 858023211 393134097 961442907 245302459 292545521 219925053 660878411 119680103 999171273 747770573 233301225 619967011 493043187 389688371 903582501 136650293 294515287 105366983 351313183 866422345 783737473 619311309 765220629 610940021 936726443 17971051 431935607 81588791 259018421 872559539 332446933 258834289 225372451 676599455 521388779 698951027 496121383 506858257 593735583 906813427 695343511 880027857 512610551 471335437 610458353 255578001 886788395 210298181 588587617 491354603 451650451 211531915 887970737 158796381 118017461 65762609 416700249 404180051 762686523 750100983 158758269 928236829 139299319 315105281 769152221 842133751 626850021 478441435 105312751 599437821 490877227 33181823 157764549 797756733 904222737 246572101 354711331 23131047 829681417 845871603 610248045 225177363 984471731 263524793 267388849 162473797 679734223 342397995 556031915 346907875 877509193 153104709 75323063 86764159 706418227 427289967 642771163 455103891 491576011 585731699 257264073 956121985 820774769 434345095 609779159 388095633 817726131 997619019 112365831 911514355 500267331 103516865 437671931 927151555 594546941 811441239 161654021 21241347 202261475 174683619 567845661 646572439 109715233 23110307 892471523 382029911 12283915 728997435 32021915 745612535 259094809 908699575 336405047 130849305 171341555 872452751 336696397 80075081 855262049 30684063 604195099 670803959 545684567 246086187 912063115 135788155 402032369 420166371 702088749 203391255 388946033 4411099 827955763 219934963 249433413 932262031 100825217 292410147 608010747 542528229 950367133 921855903 991634003 99655723 41289143 170280009 22900271 643992853 128734627 263014377 282060441 48223169 549352421 883844399 623269575 117408437 115997087 182816183 223094033 181794781 270469029 722647809 356640763 843337103 877001067 433524599 835782449 664248201 472583187 605180777 339853447 868343277 281610083 18652689 960653049 908224077 522847433 895320207 512112549 278503065 659463773 509986031 718133981 49913907 788696031 505567519 208922383 453395165 325094325 376730107 204496347 571549127 210643441 181076547 335750399 83092611 849833287 361747871 951612779 759704593 269818903 498724771 900881967 809142741 544167273 940554439 155170695 296963741 867317741 558685547 106417623 248444829 455420153 690701019 159584427 375221619 475629453 255230021 938167219 579111205 148600655 56444357 792941007 76515103 202389391 581797211 439567357 857637431 223354435 397823983 536767597 609726633 336172813 164697685 12642159 430236443 264238643 502294085 454805633 735972763 57641893 985720159 613221187 33677983 926860791 524585517 768825475 302761473 621542253 333476129 102981425 930763275 612728041 914658709 12929901 652657765 906754815 880487113 47993719 721501991 893079267 901758693 212950713 398400463 86116215 662163965 818049739 623814209 658739775 459845895 117015651 721662921 436193903 142469353 429205609 175122975 787494873 930774887 488836325 53700703 976001023 498251317 424009739 483410445 657073415 362162157 313474357 522262553 250423489 205146893 505461737 664553943 540146085 703713027 755768529 739822595 736461779 800972059 32924865 8480195 969308175 692466579 459619763 155716517 524584651 305737353 897206729 686923421 191917339 984343303 771007057 403171083 702970307 139478015 688098493 403732913 281224231 260025673 705252777 402880701 487147351 821569193 562782679 18310853 789219595 200319173 880433971 819813829 164847265 393018417 147853777 463910949 397407265 732424291 129004267 687004591 286319929 482304191 294314469 712093339 919118913 613985677 619658569 730985605 950354235 615291647 789870027 185168753 370789577 106162221 310846279 324971215 595703615 31642651 938612671 731029105 254927249 487147695 734896737 150430615 503997025 618877883 530634365 871608805 724881141 327866363 301164175 402080361 258141755 617260043 722331961 673470103 429466571 459718523 829369419 792719181 316222181 407169461 887776179 791201233 702413167 686179097 397342351 637562575 132219129 357853667 759176227 944404317 361111995 527326015 793113815 254299127 816436629 155550781 446143297 467565443 219819787 703188183 431389979 403318863 592766029 25272559 982284363 918198545 36163125 249987405 511863767 763512805 457514305 605909667 337218807 682928975 611910807 728130185 920545283 460131133 693517575 232482433 278513025 819430917 914825735 441899253 130033945 558057317 171122361 674760757 572746913 22319489 38080739 939019133 185948949 751582181 429107187 108402665 996685717 332088969 862811651 219176327 601811053 886524617 508065487 396372551 568205331 531199595 516915393 445801729 656108577 394801819 652839399 672623223 440831063 691874029 407062775 50237523 814424485 697636961 48795729 453069861 838399259 247847005 509980927 356108391 958563063 834363819 774460333 595452283 134164377 930761601 566533043 505803431 851906191 437168253 196792337 864034081 965129611 822064037 7130221 254954751 132722537 409380197 772932119 418609731 879151403 328395413 787710727 319177687 812954363 280038253 5534941 295304843 958141233 223765655 170029533 573849113 625233733 328654877 66645495 792475169 380445401 545419895 684507589 378110767 322718907 791905153 184376709 900955569 234946013 110643071 466390045 272308995 794260059 911416865 211130397 689488485 549076599 752413049 344168123 813052417 814174621 260027143 440860377 788833767 453080417 874753199 603428349 43907345 518986877 687467455 865157461 400008799 494269907 633028075 156135099 183917979 914368881 842599505 732223403 318735993 700028299 647669879 541966415 583443343 953165175 748731209 752506995 130411871 15758527 139250717 556748433 625199953 24147465 321970607 930786505 554830009 972757035 718213415 437528031 89432527 195860767 44573967 152100421 554477235 498951943 614396509 870533905 195385455 57332531 505502065 660091651 217886711 83321617 382072077 507193731 273587487 161706815 124694879 434126237 418368429 997288577 164767487 929983243 714401353 135031999 774165991 915474219 602852225 376501263 440223355 97950213 936468179 150216107 150259853 515630921 126903709 315527927 492439631 329406283 749900331 544842365 685488479 444431887 319816875 111850739 967453635 212255289 94424631 196380721 627994341 611263513 262915539 884874301 385887903 844126373 488702309 626294847 574837803 191950975 943972033 178428813 885445935 368890093 116800671 586749091 965413561 760654557 411487647 786121249 759994943 62869993 33349451 33548755 313487515 105489229 434736917 82838959 153654037 84945649 174308695 919681741 828227161 347562599 686197327 412759155 53523837 237601251 342807851 532338443 102950143 433057095 891127031 344375079 339616195 188402455 17001905 221392517 488825365 500209029 85667127 848824581 209113261 834056551 351785555 624634805 893741479 275514173 35890615 516305349 335850375 470433837 724230907 201240981 736818237 13950217 436755363 310066597 301185051 461517635 520302101 879279009 215216865 548498433 606858403 809193307 771625651 262931205 251152009 249148369 330189087 86735295 629335781 448359971 869003801 333340745 944826305 195772063 768418047 797543007 6743823 810674615 335093655 574786155 920993703 313180423 620761869 907751547 271671883 700472401 296551159 257705287 799898789 368221825 917497939 814815533 31875143 4328617 726144131 798443315 641922983 916918023 517199959 326090253 153237801 970396157 794236165 634223373 467315733 12361493 926080297 381417781 64586141 496472067 805818311 84014637 850286041 120610211 374047053 562394433 985303243 793212663 884449425 745785451 619757917 919605803 211814353 676627787 891058783 943075219 715447217 386093093 49793933 231012521 969140287 115356907 180048515 215473425 143390703 466332211 652092879 877494677 166882463 753337405 598097889 743077673 517709459 136838639 881263121 515259881 803842427 235744729 795977121 825376279 643797867 601274675 133750459 455894817 56067551 924804315 865161583 110901399 441650365 564650073 67586233 389277493 744168787 48403165 752054645 61391839 407451991 272402493 181517681 856786591 429559267 673741303 69863517 488904105 963282559 273345589 970598097 986802267 616844313 660001989 122554191 399199795 532708355 90858013 614172993 876188639 683497211 601374815 54191095 27049525 158410281 293085265 838515627 739887915 552070167 144957537 822370429 876440295 347753917 151665575 123055993 185202867 678223735 673782501 865989007 610387973 600586761 838906237 403712661 368021365 450277283 610487939 370027601 957054921 795686617 843440043 239539563 450824427 601564583 184612949 990327411 27294445 273985651 447608971 659461859 552123147 81997579 373940215 760632861 673190569 134882211 854451957 976774759 492336211 378212313 675196291 198171639 73256123 98920883 321812551 41589217 804151227 896518813 523874707 110124843 457393497 136292461 412087897 936600509 663432895 489294431 712980285 892199783 656837439 441803803 691384709 751706339 346063191 905086635 62851617 876772561 90572711 187203463 438144167 602332861 910191101 883326345 885554261 471836693 259410507 430906363 548085013 21950261 988562349 882675077 950368885 812680285 630701925 78707007 996880555 907812021 635665885 19301799 714138009 375305041 929407405 204459937 389432261 41058345 112593037 693743995 322574685 937872157 209018975 758996969 180439353 448470775 318661169 11093257 250314201 209295467 858759477 182355297 399049829 225990925 521964999 278227675 168927145 628222051 925693545 967436241 687164703 913546451 91882183 734045693 96569319 358596273 912961717 694419335 102652869 179877173 424953133 301117945 425750059 177317759 811824467 827185481 676380975 957231513 962795377 911488727 566219921 668279157 856565243 171013221 915767991 856928749 219510925 221269793 318865841 448956865 103025897 837472417 453764151 820650137 422011387 386375139 707689639 182841353 777904855 947517003 661513225 929183367 526188983 872820389 861564171 584473719 288894719 493572649 319580423 444875041 967635513 450278259 451870457 994055097 884429595 554582407 236532875 650664531 698067581 608661205 839107339 251165429 243870563 228103215 1371247 393247877 325665275 177646549 927220825 100233685 592784533 602421869 247879951 117416097 402425005 15888383 734325375 155193479 500978663 809196295 111812929 485898257 865991437 569145181 344515477 457134001 39822613 35148617 80351331 572711103 763772951 871493751 945702967 637667967 162523225 470051069 560686155 161875223 665006403 538461271 984829311 560569497 342384235 446457965 531081047 914977793 29095053 129539209 147864325 829555755 671365769 325421667 22496863 704458471 363675757 998644501 209414883 179370463 394962025 22669353 457257659 366617011 130977245 924400775 862858679 417328351 75436103 929548681 190037577 14212815 831348823 244153319 812935317 579116243 454059229 34615499 659362145 131641639 45314007 636509377 35263773 241931753 919619429 50849469 348173021 657062435 206816469 818401053 225984869 627741893 514730393 220227239 379865625 714300333 867037259 301998983 560780295 569635479 564598705 966753363 228871915 494485039 704705973 608604935 804542495 766718213 694086763 394152969 144663471 990652563 90486539 720862503 632749895 439688251 936015613 109975703 964417343 544424005 797348553 799161843 996713879 61163745 950491427 688989507 662286071 124009773 464083941 309155317 255172011 605174309 663548181 449182683 30527661 433358261 742880735 817880115 456939165 165857197 96267665 493865125 184575679 548764359 996310699 700920893 657110021 253315491 562590671 112290415 101410821 165568461 540920007 743961113 775041533 95683765 224424839 992382591 824485847 428421299 41570091 804602961 167057185 647698953 943379701 329302177 191553555 337717729 440569681 975184367 808066187 890893643 17944787 499455777 257906449 707449409 486137653 967143551 192661973 164873379 78602843 510213317 138472363 198536509 60117839 210999307 372663061 858723517 593590085 10654425 510378811 163117759 448163993 123137307 830357227 994673859 729536975 128722215 867505051 842821939 936085135 113923771 470969965 183160415 766993071 93062649 657518887 814930305 166017833 264679537 838545719 408759225 451967777 236665369 980726453 13783315 774695649 842757709 287992161 248761213 235218655 404736209 21283233 307819475 467309747 470254805 213576071 621462741 476145697 66556395 272509895 477768235 483397143 40819987 311529665 491395433 318300581 76318129 22633341 675264263 502458631 320596627 934342827 289383269 903117985 75054829 859661217 915718607 854477311 980423517 454684511 154963315 559773907 14714089 634596747 670889069 915220983 960953339 725767541 960902845 911388785 52212589 563910931 640417099 788608105 423046523 659766791 828446955 432164407 333148359 934043287 862051669 406417745 198737249 677242035 601623593 998544733 865695167 183126255 746997745 129196839 691392955 316760973 558086433 847247265 707530141 236669813 402491149 757837541 778149651 119186741 197498619 45188921 485026351 12219395 162787601 59878919 668733039 530192577 130991459 759748833 301166523 776916723 868225769 199010437 83953503 907467211 448945283 114354131 486813967 425381665 237628411 310762201 745560041 501815921 942915843 820540361 289186161 662568931 529727541 100365311 908980887 814944583 316356111 602906877 165711535 495893269 854828031 535823215 693527157 383000941 586112849 540252711 273122063 134167315 717122115 234666787 78929163 938007161 283916019 67291269 749434205 76511923 22339691 343286679 733197923 611717253 335015325 310112717 383458019 818581331 866924643 591668675 203805961 94869549 598334075 601870395 646764395 310314187 542254225 685176609 942691335 581524619 619231543 50155655 101502785 850213237 875159523 980430763 128232677 516900151 507292153 631635951 809536811 971779113 867059137 167085533 28309933 668631117 605599085 987919403 760190069 781506117 134678039 896178353 664165099 479614565 7628477 18281331 303582441 24429473 677484875 543271325 16959401 267019931 463817617 6037123 386392273 284530327 380541515 285404319 263481197 79079559 966801431 438699669 673964791 912311811 527500927 946077743 978813511 474568263 197632245 34184035 557797539 761490747 817687505 496298825 97740987 557767791 108152149 319442725 165461923 668781083 867111083 624269669 133937625 436183581 547334883 625732761 593150015 925294335 777025529 11704445 610508581 516738795 226616777 312614133 608685889 664846013 296217377 663963915 969307309 377095923 851931313 987940853 959248881 170308787 533311505 14573067 860685563 114449613 181759173 114715603 436833309 300461239 196283185 578213111 596067607 642093459 620762541 932624713 158928397 31911207 42554221 154164165 671031435 623096545 27862419 531691919 708848777 689980635 908501547 980726515 451586915 410738385 912036133 905213539 15665887 196993837 91246937 839233401 961810471 12875771 502237577 505751547 16722133 73649655 564260703 699215571 650042339 134102907 447038059 222963475 830273207 621335443 73795367 149827831 932689439 892887787 494822901 184415973 926219089 984024795 383787037 447981157 337024231 290759779 147951823 50776361 12543977 273244969 11826727 402064401 341508803 140072573 26630693 246930973 971782731 4639319 987710899 824759161 94587071 700374103 227052449 14319735 29075649 147989697 413815721 900010645 608978531 133060485 358340459 129188725 37250583 827454269 107519859 917134817 887265209 865213991 636779567 915627725 621190035 549644585 914424571 405051475 849416013 918425811 966590743 157085881 445623553 630183003 607533741 77096297 872289833 145535139 769573837 611434999 561074347 478919985 245215089 777295133 809099731 386783539 902589049 439812543 631357275 495091331 94674097 263331303 946941019 857442973 542156743 417345481 267955291 512581545 955299415 59967169 562495559 73652089 809312481 38578769 819416947 484195969 832492237 436833061 654519457 573404899 878966127 872678929 303269105 918390627 720672511 189323535 750335219 352223859 724179357 17550915 921090973 376349993 461488213 574576375 753025355 902036037 654462997 469218465 454379201 18502957 98508473 643744729 981732909 475960051 292039679 930244451 573910053 565070155 274622101 307474731 874334887 365093781 513062153 497502021 88392215 220428761 925954259 315546859 865519683 147773383 73047895 256529281 17849183 424206259 957453535 675613075 848745737 182774177 594150809 680158161 394895173 291663925 73158305 639535643 942281091 726027199 181639413 166286959 660029847 833465141 333940867 229714429 683191997 772377913 260373271 264448533 95848603 31284497 616625519 429657907 874711103 189093291 310837801 983633915 1487645 255242401 159539919 236593721 622693397 180266287 588173011 833451999 179080809 689906493 331893903 939257351 448291015 716875869 227132993 507479031 989105221 229505731 725030167 143479831 140859233 934963793 570265117 616857343 835603197 74932107 825219921 297690213 305740139 606653091 639877777 624356399 780824925 310294127 402199207 916128617 183570671 622317423 44214853 617688389 899882155 859415753 729751811 885234717 442351737 651003725 900993637 502557815 525074099 109082739 778208977 114272253 263389971 573278553 968957593 340179075 577397695 565404105 877236473 170838785 323634245 710584109 873099535 514481311 246720665 371472801 401857253 421756323 587764249 776310497 519041133 793973381 43047563 1829719 204251263 996404959 532754203 52376337 82317277 827645043 933486431 92344519 559063091 684704301 464322643 127476951 868472077 578830625 466305375 910811719 105875687 231760777 570854221 359129545 783077411 164459463 827068757 597170357 98313737 632791401 164209169 75100167 519911883 767187489 407131273 501438313 511486849 726423243 801208107 171647527 536910637 268590697 643585225 709993019 79240121 700255017 760546723 558685509 674177527 73320793 231233117 256459145 330554269 478942329 949403907 923941625 362464335 172193323 858908685 265377835 197893779 349258041 223442775 716680543 725101279 14411927 84099879 207356283 447952521 40124513 961259305 899623183 690840277 500584667 398780787 682928979 455142887 211578221 364133249 928200997 495208919 727875501 311639353 758597645 390534041 213050453 577671145 578078523 940709903 775733321 352526663 199442053 813890309 135452563 411707501 797785961 335196715 976759913 95800035 944117777 865032217 832091683 505544085 571383883 559749969 338973253 459437017 984638605 89485629 509365629 429933677 560598265 557524781 665568923 323789429 558693461 123880283 950538651 814784125 281502479 616565735 897730721 983627645 223061055 543298013 869694201 178645457 349850277 1044013 134089747 958474301 754685353 193322671 243682447 952810225 411556439 764656421 139818795 278987903 585131115 508525623 997416407 694724839 799785279 787796089 337681571 208561805 505523933 30983523 999489741 915840831 528231157 593836631 736410549 579038515 762897373 463094171 437257191 953657347 807007125 477545317 489783321 357505463 698480323 25083083 402171941 126838715 327273399 859281615 951300109 930894821 790836073 145604441 777383675 835830641 884675191 787159613 188966983 939950087 228861481 182989875 514814055 58390705 992298351 525282267 242065411 557222117 527744479 509471425 70126305 662686083 122502327 802001491 187192057 60507597 714452449 508665069 195159397 964160627 212739307 974947023 224921447 354496647 379292683 978309409 792091499 542307977 974601507 652215543 45407747 978380637 735927481 735579721 402817261 746379599 826563323 696850679 87080459 393779481 698949313 854057931 559335527 762983123 911332491 996999033 78768437 464653571 131674497 692966293 782527185 720676249 514119279 150918565 213946813 829281513 360275663 299964433 219249061 500892335 773705665 719822631 59654747 153058577 149438729 848561189 116076253 235533725 296621081 121182761 790488653 14649417 357406983 870959421 545634549 233222255 311122323 347281237 377775945 678472151 100370979 398203205 768862437 680843183 411475655 607512019 276668813 52918153 346705975 497496741 804912681 456020579 277954257 528801103 321179599 794710949 127204765 728093255 150954169 809887771 588205897 254540785 73072969 897972471 197640495 616646039 52401935 955953883 846365259 763984999 865556921 919432395 511340103 204526203 556635173 273917233 626790513 876367831 765361495 424495335 831283391 825053025 739567991 480199719 248896211 955479531 679971547 854154135 40365811 966620465 198314749 984772421 16860429 506403537 766788481 479340965 182866361 923523925 944130355 616453271 213098295 132927279 692985603 685231707 341742191 489723831 498418961 522818213 63282157 103682609 908320667 714613125 692077291 239993027 477859857 542623865 650917961 862973823 96367619 910282089 561696139 735726433 593722925 24701855 318945251 199528775 910429555 363004113 100293415 651751163 480428001 98999839 877682389 326903343 377740713 891057931 709201687 278019963 919569445 232673413 344067517 500171105 189335259 936431583 241975609 624847691 607762037 915110361 794501039 488018571 613605317 676723607 623921637 54653271 737519303 936365991 763666507 979245011 572924321 378542845 84520949 633066247 426815897 433039863 223340967 274687971 995622951 753441627 898795715 561313861 421075429 745194835 652436061 426151913 909153173 574683257 155504171 677539707 768835875 646438599 803603337 171586443 71291041 417770661 148728451 976242579 454642509 505037277 686332101 122089205 76418695 10220709 372907687 339581945 965455069 628769949 281495081 481927889 539691265 104374727 221336563 513740949 881149135 701206929 60516945 838496839 346806857 930052049 354356797 130329041 261077659 915833797 840257111 213024515 876108057 217926929 686280675 221218455 804568123 769930945 597366739 556121391 286875817 374092877 132356029 811663441 75303979 456368273 215177439 122118515 467418805 346578131 934918947 543552747 649623395 834187709 888072215 617963259 378318711 166191209 287040499 609907405 334966109 297310545 669591701 611836785 473038249 925393243 720338565 957075681 392929301 278757589 505572849 557652221 222237317 428323955 330398131 725624465 897212931 338817621 671315527 508407371 165270469 797746429 245682391 49410503 657995811 440222809 51364913 516587141 289451425 665265343 545045451 508655855 506848747 723292139 865117895 113740117 649652437 364376581 131806953 922881265 989536089 53601943 210027429 125270755 271607451 279021977 762937613 839237431 10414823 372495973 644084963 380390363 32453805 274913989 718989709 322522027 856072587 155596257 674124061 11685223 826454341 123170131 960495687 202352313 824001219 728753173 725689195 779490095 635543323 86655885 911793553 983991623 8702089 355844231 851413865 494577505 869691757 61831227 887059017 301676227 458969427 618901829 18224943 539834017 793978865 91011755 600763845 111015701 268673055 603601113 663596379 956774431 964511971 755331237 131940835 991957159 846150759 375674955 409370881 981847937 376489725 342531699 515816187 412622437 102275617 851221799 541681601 559526643 404345 996481757 398652903 497928631 338903499 685940597 780966831 125421343 648561167 465389361 858652161 612455557 664595039 313722815 264271723 585317165 891325691 403974453 114066723 513240383 580035923 66034449 479499787 115998921 74081017 456703287 206846887 97890505 125346981 746539251 80184105 201264669 959910207 579031549 592782441 310537359 951184591 491205489 755494627 219235281 740462471 583636693 52359359 649238141 943818951 148529429 991547853 808814867 584529935 603219333 753342085 805096699 215670795 17030373 819520263 994534279 550259599 225234009 857861143 608237811 699153555 11969647 110008357 99337053 89190719 367055901 363424331 592223695 493415131 610055101 424783687 132667707 294456027 747783703 645059199 920542587 24618971 459963735 965535491 812613197 157137565 554681875 296388747 241942621 495958285 403684425 209170037 408126525 637202239 772909147 238529735 882954083 231013997 999245339 334556469 997262131 959201787 50147257 644288529 107941365 191718003 941252823 951609695 360590811 810156681 183950199 434423233 977657343 592630809 40777993 147221899 674570079 193596709 282059103 754867121 572792807 403865307 794903481 619255509 361730409 391232137 630514107 584559163 241261211 773706927 445813363 95990997 235339809 201080815 356846933 535088699 857757059 648642581 553713471 125904295 897392179 157822225 154269047 704364295 36626057 285323777 848785065 559571429 769828551 552615977 361472491 646401147 979299351 834534897 574478777 887253671 195066763 582116335 981169403 954911475 906017049 74643933 329247739 657206665 798079653 841935263 975401839 717373765 108395255 710828097 23417719 192844453 843458239 990829299 844989077 533435599 562822553 853259285 886877879 175113875 709171975 268167717 791629365 388702567 468541295 570784467 748936903 263371885 867025187 398383599 398958743 532671851 93252957 439148149 763838257 595268559 714454847 266717067 877674121 997776307 917076175 2804087 959584253 949951187 179476483 452497585 817048401 9839001 781985201 785641681 247855029 997227025 594053787 299860893 463844029 499650295 591526507 394522111 987712357 705323173 216853169 675412233 724362515 740021799 234266087 126427897 225904277 891464233 76091503 242474543 352602399 112821251 662616977 4649017 910430545 706846389 693493373 107085001 855013421 329828837 88822607 988321465 577462305 575936227 506610695 62155535 375987203 131232679 313211279 382819317 529527311 532839887 131067063 391639999 473273581 831680421 495423289 233943525 286464679 13205267 287779509 260166159 651573173 975700661 530105783 450223365 431965171 130179785 844707503 648737211 797591461 489062965 65754867 260490317 245747835 460985735 401941449 288327421 749681287 239500795 982286681 981050679 5305673 435013229 982385075 567039631 461146277 118331493 551911377 293451197 470505 666316561 515928211 649290665 907402953 478069835 998588357 148405851 91390051 175034255 489570069 752029703 674892861 913701637 709524767 634921481 369912131 208156799 309796963 538594277 923675339 951579249 92744265 635842115 133670289 333914877 305232421 217595895 634128061 179238119 145817647 853758207 79666393 726307489 158997639 700667773 82208477 877527361 420371001 425628349 96588579 299867015 929347123 649249839 831517299 942650585 623782993 592567921 338489083 59522633 797480019 481058373 653922125 861261707 679678177 770569113 583020905 302445567 587500175 164290173 552503219 397206445 770389203 849583149 947073015 689049669 325192979 718690829 488373869 399341083 666600851 327051431 89532593 556695859 512703111 941775025 384390345 505974321 293013769 161443331 823032865 151611237 38980631 392920227 114519693 48333765 715087263 978113465 826699597 415906291 455531885 109319835 671053831 330868533 258239551 613690309 244598725 605060729 613545139 985326551 272128509 565801305 4816979 996721821 276214159 657184529 182819473 549143565 531744187 29255049 826778055 715129663 800967989 497271891 869935669 932827001 458110733 523911587 72523523 744189733 186175937 690935131 803645251 553536725 142190649 550370303 965164273 82718277 746816703 158393281 111011819 395389787 237013003 736456567 908449531 1377565 890440249 441880993 682850515 567747267 663266253 91805029 972429581 128010407 197262007 301404563 486749991 7849803 607716171 570339235 90712973 772656731 656973637 59708083 581991057 382148009 348485835 896949899 259818857 452588595 806199145 349634203 774655801 274700057 638993689 775229689 451115529 878424233 481658163 36681059 961449419 121373525 741382527 959236675 69353303 705445561 610801961 92569511 411177841 897770647 436307911 165439047 20572095 208400347 249216597 724966527 305126867 374214551 583174201 740741467 405035559 293956105 218692675 347609991 218750749 308817299 15953827 224889949 336925693 950258623 530267899 693855449 358023161 599837249 947113805 73856163 202386729 190149109 772297991 360178445 799579537 623390685 229917441 541442059 138712087 232005157 575559541 44727103 128199053 485852961 534484231 201189613 948972461 795426891 458957257 390531847 394320409 962296133 676409389 681595427 595504473 953585375 566741521 944613505 429487069 608939015 405147067 916845831 946063107 679426267 191093975 876249157 106778631 459794333 794905977 892774259 302909205 911735737 802756897 51228015 238024765 731522755 756144053 563634113 968294009 752479093 696572031 607574937 779397291 123885747 656417077 289052363 531843737 422587017 363932407 802881243 552497657 400129319 7435591 256411117 497831777 353153003 504617235 371760593 525211475 43447897 813506481 582161149 335856441 750006553 255543775 480244115 977475683 847167745 269204159 708832345 235149067 807668237 428401891 881746877 157977939 689703005 740097853 766256855 811187265 398693693 428870697 648504935 264826571 988285475 987639921 883433429 451540167 431064487 574418493 787879469 560180727 736607887 750136359 878540075 513469187 804723395 651740713 403625001 27452031 100087899 547162793 500305201 522728931 243853 798189429 359930355 268548753 315998911 566288065 736848069 949729999 152403325 643414571 59240359 744963795 234575225 227095993 797239615 11994547 432542349 336065239 543487965 848944241 105321151 605841755 594318457 835045109 155300153 846839939 988362673 551467283 253692237 952982513 225909965 673716611 137134969 686301365 925887165 875614949 821224541 877133893 109675797 987311813 554401223 436358525 74783001 970609809 61875113 98616225 151250093 857932965 20311325 983785311 56657761 774245185 202492777 896025551 152011115 72265613 54126327 315256683 426490541 6720669 296917595 266835735 161155499 433401961 561599823 511688485 210744473 895456465 101829045 148399687 849232457 800372897 579234459 845313179 196576061 54560903 48002867 581425319 440873629 455114783 461183961 911625815 350827829 203835111 675872015 665213951 12390527 152060237 813812353 837675873 807742875 429387165 927500803 193649309 723339341 478079765 716130959 779899203 874966535 8502483 343293255 254153033 863927519 814698723 682456697 36501513 156534931 529730867 652298905 244779339 686264207 342296733 532134719 388615227 6544861 746391013 181900335 743182447 822464567 221558449 357559381 182373605 506833659 104984725 693588165 838397697 466903857 209888263 299194809 135436687 611928455 737772907 914839445 929254343 687915863 776642571 495334883 438941253 573954461 893256981 616939097 383989773 982079491 671506083 98536399 178460559 88215511 677820089 463571273 960679839 78960911 554611261 684288757 260756089 506232653 994369539 166358305 96155843 722066647 943988161 458122575 70327947 205716891 177857307 371356957 294223941 587518001 57043097 983848279 883414479 822762201 374777005 224529651 454159215 480167545 975497393 911780361 555134161 177187235 139049955 753115359 495932427 441998219 244954223 933631197 101254811 956400913 134743143 700805017 645024355 224413119 364751041 86555087 885215411 896567489 743744097 327023711 816400705 954725357 172049679 874035029 185879337 280485575 459446909 240265447 576219631 208685427 208469315 936228461 633360515 655226305 282253795 630826861 289550903 975567401 811117511 318361233 283263435 205105865 993345089 399252139 178288739 553456745 470691719 387347897 290359435 460641145 41392061 749805531 326214971 975203597 587483627 756764255 496434897 936070121 616166659 679006391 908290573 485052271 570760925 356828541 373039905 439350451 797365563 739285367 481412769 39974251 343956167 758232719 438590089 747521267 821145617 210786519 477797697 118957399 512137363 620132749 723455635 931299907 866956719 132438547 797239989 957645839 918201773 396478193 765241159 497254075 989303999 676020449 394851403 835371247 183804925 18770871 50440495 356572407 889599081 988983163 215433673 756491725 887389165 815425879 301555031 889778705 934235737 717029023 242082173 293082887 787304039 224031181 722566471 372484513 724535993 637185411 22040109 664013171 155460821 276155791 619041035 88764865 429419057 785867749 166450981 196500079 510783779 31950749 872757547 346037517 445874157 713625595 746837553 665706451 478363065 145501035 995309747 824709791 558925719 630469761 84418455 795629561 106635649 73810167 505148203 768696335 316802391 29708975 635356195 940499387 153716709 373359801 515543709 431108985 43395547 132428867 970080031 745982067 564277969 470947243 599935893 467116407 322097737 168332147 976680533 43315195 626119851 854961481 513088285 906420513 73971275 508823805 409148943 95543981 471388769 845729675 507913917 957155857 535191565 419788311 626034967 405384549 997806939 758540011 724500607 305559653 974768187 567083645 556830391 895008633 135889795 230770277 676861167 648062641 488501753 562307175 948985529 219821255 133127493 351109489 486007061 217439253 562211063 84660371 457946983 295699877 278536583 551208969 567845501 410218023 615784283 746850359 371377547 920331505 41407927 598263977 599580463 787173633 375082449 300220175 113505391 687196673 84344765 346012745 926597559 465147199 809217409 485625685 194233821 105438899 323950597 780062307 712517917 701698555 107019799 770650563 829411869 795629407 747181941 592024819 372565739 16013005 403993021 61531539 401240573 128496351 423960443 434720369 587796781 226523601 403255069 449278079 981665989 931369101 483774975 347928535 994115693 613805473 644992863 55495871 859848765 899654211 595933547 16426145 127165363 923602773 630494255 88612623 163470003 376370267 434997929 168335559 449430665 730968711 397739447 921718441 419447021 956838319 908169507 610178243 524245755 813214547 387966113 8020295 837069367 161027995 942833861 971674513 866573713 804376147 686107157 22470435 650534493 236190197 189804023 321232553 709978967 438118559 972647871 853297909 40909221 492295451 174122403 117858821 747569109 980512211 982014919 381535737 508966107 2712547 726542131 234066463 910006551 689283593 166556889 867906539 369551179 788223403 934974099 304280563 79936421 124794329 981103647 143892735 228119739 861554251 747268651 711551739 425104521 902668381 878452547 452580341 47719287 26348059 847033571 907804973 666138959 81746739 55080045 457914885 105122377 897249273 370685483 767988487 48098305 21310575 216408649 374287079 330796667 759640381 423073767 512979841 47336743 557278385 422016001 902018265 615301591 552819649 83741827 228564503 639677899 246263567 475048255 521760913 755966631 491492831 173588715 554507969 256427385 53867811 278975531 772781387 727445429 241830001 477008519 294413305 959516729 493757193 544611185 479443647 438393931 313340115 303306049 750044859 65624727 848729947 614320697 358941483 883812403 794047707 776067459 517170813 253488539 299917105 672750129 553369413 545888181 167664869 46708281 272458047 500504271 221947431 707847039 26536011 144798623 19668429 236080843 301760373 599644225 941773399 30224077 729936883 430517561 715300075 368415523 594569245 904051317 348882521 898757961 751200377 886888523 723308055 154280875 944318639 157017209 858210119 399124121 200567445 879339811 819965871 639101773 45357351 493121493 665486525 889600233 249490309 597747335 595551371 726676341 489685501 137037461 164223701 923193569 296130303 68510661 423207941 942620169 405645867 412802371 191350823 863671215 836996417 258973859 520777719 319596919 798673195 672636133 467598287 901465335 837861121 50474863 898877627 617209511 646054137 939399435 433221991 712371433 168668539 841945327 814995755 37696261 787374605 525675961 296171271 55833643 212596839 355487343 526528161 133210743 854526819 158996861 590046537 467131369 912027651 178314683 824840951 586288491 618053747 719185761 389449545 250233805 485452037 797842713 707687559 292230345 137070391 809169133 482197665 715290625 916623017 483207509 94367789 121619451 659273257 676183085 712282473 712644397 86181033 946854841 267021631 836354285 307040325 835150761 631250493 407683709 923499839 165705743 582706075 690706949 649425155 956701291 888794167 201341337 117778213 988789921 949502873 779836465 518747231 462870015 761791215 717693613 249380243 847939641 191314961 944776921 359601873 578845293 530091137 572432995 468073031 638276129 550227553 418959847 206894931 488122433 659519365 506794469 797496183 886248995 361951329 451306439 27478879 40480387 304929047 421189339 678243295 877845641 117355 182214495 52915953 64532671 633378511 329067889 685522617 578533403 932134233 233235485 282387073 651689725 801726153 745950801 789941693 847607335 897136773 953440233 248101129 274377159 390332319 221190309 513824553 831495285 923631051 497070893 153284101 892339241 821648489 46456853 219938739 342780749 571629953 560998611 539254637 940885421 233645761 105821901 481887895 266687357 146122883 210881607 213851581 866516059 926797509 480905589 705882511 391183435 294323757 602216817 865842155 470786749 137216779 293777723 882616533 348386693 185246293 261401275 133191031 100523487 508609709 751244741 197883683 472605553 903971161 784561423 277982805 672875337 113286983 714430269 135401905 756228317 879214607 886150617 892440835 425699079 838098675 727155793 450666555 778973967 295363029 328824063 463122553 840029601 630934089 365398567 8151803 590758355 201791107 997978351 888121905 146662435 70475365 865784939 811591851 284222325 953066099 102932113 467960359 573153813 764234975 877320517 618212997 686054075 809811071 60357967 451357907 577571203 10452435 572362593 870151747 536501489 891162113 764782357 788047151 58368245 438524889 928248297 428208157 81863137 808148691 242842185 751255223 365488501 439049741 113972359 575709391 410726357 528133967 476568025 149181283 950554255 674449417 175041891 997903763 45126551 353964113 164311853 958389165 296237643 326726117 707768105 869910051 101982321 43418927 360006703 881184401 75024181 434806845 805076739 215134905 611646509 612188101 72501579 708984199 114551895 501333033 891742361 622530575 856335125 81836143 79857513 630111369 506237239 655077701 962026007 853732701 753691123 208624133 777013233 939779603 272928227 738102187 414618151 414625375 850884113 671559135 459674833 294951709 89838821 56613875 253236723 34749775 451583287 376838107 388269683 756354337 482655557 12231993 735242531 576021735 935973811 997318737 608803261 570887195 416173711 418900245 110628835 208382561 469554253 628891675 311638045 778465923 737405131 510920099 88067293 888117109 778820685 897870483 425397115 98218323 527571075 598324603 165486905 172097121 333292929 461525907 79744577 610464775 908799171 172871097 158131363 219213275 839172143 997534069 326258009 809556119 901134099 374796279 865401157 831497503 106925349 28505363 504111151 738395517 100739455 4438605 483036615 583256551 467982761 655388105 210753705 567246261 811588241 855078743 792326485 84763243 199083913 525712749 680046389 764294327 450422607 393560109 431286681 661684585 571775243 625090141 459986107 636307581 877130567 415297131 736873661 961436183 235641595 260993391 549205157 153651587 715228803 688719401 61262185 399753265 450345635 142136833 633094879 110727361 975412619 46516739 333549769 21581809 54926799 879954409 873085905 801200561 755175787 150503187 708427399 106372113 167901893 66775429 516372069 530222157 343411627 672775409 297700555 832092619 459304529 27354541 69707781 721244945 897113173 543337401 525475905 535916247 803198397 228059067 89783451 358739191 715697653 532298755 238465043 75505521 119013587 979441545 275331217 907012981 626523027 461330667 346667497 396106323 812762589 567130993 538664147 831517833 557448891 27713035 83357169 291869879 271884709 137008717 472441033 10813611 236375925 694437755 666010319 266006103 873327989 50849657 748654685 868749015 595834445 133859285 482012595 592316269 414408469 225176779 912950267 855807109 614686283 499561527 173730371 451694769 923837651 472895647 570425993 10994095 469358843 572316727 220464811 820132191 199636855 567790033 306405749 18624207 701687397 792357871 583442837 30898483 792982601 101422007 55150759 56676065 317960979 802611707 521195561 623286369 528630039 7398447 74992777 62843231 824496145 30971253 694023701 46529961 432476201 975303057 316933125 869835327 577202409 241415669 49090429 628546627 185261639 185164471 740543111 15034367 577529763 371173781 819623697 466720743 131753151 491017979 532916213 779378583 204966601 869400307 371127799 123006161 124961623 25276981 590462653 448598147 6778727 468245797 820146139 537246139 558675547 303382725 504957897 778928825 904026885 134484421 457610471 845353951 750021783 772096895 509688447 221123769 498612655 724991215 637559747 106538231 193503569 947183039 750086859 106935159 124813293 262588221 784748443 754871101 534214741 743416671 761953049 622484081 944090825 576709575 288957465 96594281 168882671 138419385 453787729 761176479 900479951 195629609 705080677 278060215 459244261 428581545 823486429 593779069 791038217 256328827 721288747 115529953 340414595 718125189 840599977 328134913 182535423 978317145 225203093 695681569 614614675 870332971 409509915 616100265 622559931 660646875 329820493 654094129 654440287 228482547 498274849 600032623 621921737 409083293 529803643 937245001 883478961 313185973 314470179 463161035 262695473 724198073 227692235 165631525 78144211 990805967 559974155 907765943 333024383 590281671 767160423 142881793 662363791 323548441 798241861 419777709 938193851 206652387 41507319 610389907 646114093 218976493 188065719 259578537 72117617 245980839 778891687 877931541 513230203 159185957 971964623 918887203 815560105 321351721 995851297 30892869 27932865 765173275 17502069 204669719 504181999 306910985 199973517 628641115 233250505 498962089 822001683 661603835 78715979 380601949 4088983 895394063 512599515 58061867 680524693 774914509 571382599 120176577 966063721 395557277 22614213 859103095 604784993 505625863 897438703 824722253 329499309 569687743 254897869 123396587 701016933 390752929 847841485 931259805 917833355 737088175 434039233 205819229 196105737 506718229 959627495 452857289 362380719 155085861 418836967 641311275 40266807 812939613 88223693 727455085 213632067 897470047 181078029 59518251 993285979 680694005 152545155 218303139 765298927 690972947 250414457 160452027 820108123 54562773 795756185 12818947 402869471 559097469 722103799 306982323 316541093 186594167 97448467 993625257 757518781 728314711 600347603 932707693 941843489 421151191 596321151 608913453 479799731 76923099 77893075 255977923 681672505 128824685 774716135 527263403 374701417 408800449 566808899 606183439 79603161 224852787 838964947 431366845 85177355 558379335 406812653 334213675 201400423 365639333 632702029 487420283 261549889 404219683 253729819 929874545 708953041 678802875 500799713 939401855 147821369 54818705 926307479 837036989 270754175 10657009 796123801 430553063 534348953 215629387 922369195 726648677 873040219 382098237 963720189 182129223 898221707 817158539 359671329 655116101 338038737 543947805 35336727 800445631 679909565 8281097 610037571 847451577 629036489 485755275 592056947 914049253 187023189 215053059 345279195 950206873 300634283 316667389 871644953 142332115 616911103 37422127 917378611 3420221 537630821 760459889 800867475 828850469 725785827 771484105 868533523 612072835 816427873 472102497 977967599 943911669 865950895 890379915 505589705 729499075 500194949 214872003 920376497 875354075 730800775 786451373 824090909 646301655 401871679 205150485 228036327 26701299 280006427 329445613 664908887 506487065 536569207 993535823 332908315 208500183 378603409 817884289 243189573 608735075 274842007 653343213 850266195 271169695 970083223 481610533 6118957 354475791 105453705 199258855 103469599 798238693 45719377 76127763 104386525 493214455 780154809 307948727 848093317 750265797 570116975 857523461 220305307 23671927 393420557 602219609 320890383 346862297 721620759 378288693 510796595 476145509 754814195 838822213 592150473 810763833 568406517 239720027 186689265 928096287 402953811 764599157 479486267 719638913 872402993 961929397 245883803 252958587 475917465 647204709 329447023 883928267 379328633 676345593 891405437 994228951 364948907 661540365 843651569 538930351 160110067 955912547 333003617 212425225 275920375 601187559 178936011 226456135 780182601 108279469 795008659 506828143 457596005 797733359 93982341 280798001 733284777 419257359 517005017 493318625 979792991 490974109 37709609 67502977 988549817 480453959 57001343 786229433 447807951 650384619 935592771 898733015 708804771 281519243 671255631 267556817 121002273 647844179 835352541 986359625 375381269 472398999 813200787 641660291 441087291 818158289 344336509 458467697 971884597 27686565 440388629 865989289 762477451 60870109 706723635 521130603 537189551 681080943 328202525 310472351 66431993 286155123 522162307 846782161 973318573 297002029 682830457 432814395 861068017 696148747 327888253 112968123 424846551 786605213 551384177 21520601 164682585 326686367 184863141 718225093 702946393 972004085 464486863 268997205 518395039 726326443 842104585 558467591 383494365 409447153 275632603 900742405 193318571 336216103 840370227 869893661 784227211 875630795 656390243 96307911 268726247 254862989 370725931 157357089 935399951 869206333 45524909 95955955 518535485 797379031 801355387 153613739 112925331 748899199 859334279 182079331 348760601 714367105 420018991 151440599 765258687 513146703 502188599 323960943 407820899 730062723 514977999 292171325 328230593 822471395 798677131 981782773 226482307 390894681 307951719 844659449 350263615 523257079 426401225 121702733 514808681 474547963 699593599 719913635 185954147 933905605 316730047 832117331 762111097 610268131 491684387 739022167 540988379 855918599 948121779 623054685 852511649 963713547 717803227 341226415 157035981 674198261 468312945 614159431 567869767 61521647 779813555 967813315 956092643 220788301 954705219 621448043 857804889 377626247 385913651 614641711 946203467 2570565 97290995 277231525 639222335 51376975 621825125 275240459 189261227 298968985 777015245 225635403 755380453 90137663 831718613 769418483 884353839 651312003 674171799 899552059 905293489 776578769 844234125 676312065 371347839 70572475 28143773 571105485 215148177 85231871 706112531 740280013 745431241 555664255 720124841 11519449 682869741 36741957 403681399 58155891 680670641 99271301 858608645 106555837 425361583 203212955 303557951 751368843 822992231 267806985 500212089 528430673 423846723 607094909 203765109 477518641 223575443 455038917 911028819 142999535 919582351 581257953 779075747 414388477 943759965 861063667 379243355 10873201 112497665 157526597 285554903 715493387 977629807 187362125 273949147 20106289 882985345 611035043 398493333 655831795 259736823 183085579 191658395 857251337 525385081 794140275 605498091 77073619 299129755 566885611 456955113 446924629 269391061 830715567 862352739 842608959 766959751 657733411 425014925 385919723 615311099 171211985 398241797 934202967 544451683 491213423 271546319 557129257 507330521 455442901 948387163 401475247 934551645 201490183 79389821 913603301 874515415 86188339 779695729 598355303 839626267 185812393 362047709 96472957 979799007 791868133 117078223 339146773 478631367 846465419 108415419 558618311 539614045 170520935 171583105 117366995 29147663 220053611 728221283 910798369 978212407 348732849 449957391 188700735 856304665 983512191 447976091 542061411 814598875 659499837 59623045 93275501 671463313 338649731 885514415 851564775 494555185 235208199 435271019 350545405 566214303 48600497 484596587 586475911 586466211 804794503 269464267 493700101 693054447 908954561 959769109 723737757 888758557 262544313 672424241 706568223 609011883 895580911 180780665 375307267 249820933 545862931 529286567 244107623 891252349 980575735 71879905 370670611 647329353 444942483 390649781 423996279 703174541 141886991 985067543 396384169 732773969 363675827 168088933 43816551 71544455 835207411 18776421 902002715 901842697 613803113 384773955 74611411 880127125 203640539 394787989 977856325 782796503 93822771 193149015 571783635 528034655 837239429 714672113 17260419 251693225 117534475 778496045 893350659 786156819 940944679 852183619 350194093 773203943 235595367 701114061 529277053 415703125 119261823 13877971 763810587 281320059 663088709 804624579 9711321 335632469 910001347 287551343 864493483 948578511 984230943 206096151 167848243 866847929 678924973 36923487 609900469 253035469 923371499 448978259 365061411 816719277 454725499 563359339 970846227 693390561 680805415 967536003 328477893 760092123 512890597 323221217 22227487 876391923 312254413 184784433 56234673 458977387 336781091 994416521 218871731 18400109 780965971 389952101 863591939 610499337 689344753 675058347 949417257 451097657 965115831 512264617 766945877 197033439 513637769 791339797 564297563 70257091 872887411 215475721 828448703 76990869 290133669 468393485 185183653 576638449 3238269 932505613 815284957 885323607 205890175 939813215 218346461 876957489 8860243 534861505 411234503 275434703 599985615 297016663 967896671 597662315 359572717 192935341 112525593 523902503 320467921 490650811 846235655 328618763 728138695 324049117 77859819 673772039 894757441 99815639 267912749 533491959 633175001 884505817 453238745 970236827 739217749 568836469 224129705 445325469 735433885 578042027 14921725 170629773 310186439 41395935 327263193 582493925 736092687 387921375 928841199 742868741 55529173 570434529 756812437 548556601 319755943 122205823 969712075 326054831 903501365 130991553 900393527 525778819 233286495 337618195 21375017 306813365 880209445 709701195 385409689 726946351 764538803 330294949 99718181 745257663 391498587 261217223 179301909 580116003 778388377 159052993 983402841 22684923 357055251 276485891 544738181 932015821 326395281 43556207 615058909 935402767 20337927 532869447 144343109 311972885 16548495 385303355 805630539 840004645 4189039 270059613 449565739 412540007 820077585 708097325 862804929 547379177 47300873 983267983 880842131 513262761 173053455 90041039 699954643 290248325 707315979 254839973 961954649 32295497 466556677 826036783 454280865 794144419 60807473 829955053 118290643 745340207 616389611 885921745 333805249 436196205 778072501 832664623 26750431 964369349 581753915 191639747 874653517 190783627 356837713 305954739 355764437 314135285 471066607 270431373 186149347 93021737 514108733 747026759 779769999 369502763 696746883 411996475 642858135 9862383 77945655 62491697 572323941 86141263 481158639 658540375 337227785 139124745 933954421 133541439 610987061 902350539 386423471 463084007 397014861 35281185 374652083 573335479 70506583 964850057 775988155 742077051 528457731 675700321 15393323 411411813 722322343 589514483 854971789 683126039 40015425 662647409 993792405 713727125 337193851 566892277 15182113 864283209 967956131 925351549 816398127 944199437 661869999 217043445 223793133 185175323 987105857 501231663 165515695 134835993 776009885 738494177 626552303 812705045 821968565 983337903 980844113 488324995 961626401 219249443 990566817 879950915 16610333 890049961 78145233 761584533 927412369 204123809 514077179 319629613 788794639 603453767 606138723 691396377 857983691 187569607 58719863 53465309 43669157 922793523 53605063 2537561 762510375 362203521 535120655 744635103 43182203 495767189 766228021 840434207 671985021 837680439 857946175 443439931 53913771 581816601 268531557 277204405 210277419 144608979 593244927 529189501 242666445 368540393 7191187 318261989 868840969 152215745 267101387 990127533 191239421 159813549 627305593 846227449 921172337 724635623 747644827 595016279 289805779 721244561 145736785 539989947 766395197 888346035 875531753 865651843 678027883 937284415 158443475 104826741 996920519 116145677 255738031 98417851 41532767 390794207 22211389 86056687 236513257 739429727 167283049 567969291 677347271 590893855 87803717 801316983 310416127 351471765 545011215 235045373 775289151 992593699 166294823 638951635 250002143 912740117 837648155 304160409 974313439 18524827 158529181 601038161 105446629 733733581 298778505 275871337 554424899 911720621 208450529 124645815 509432557 505869349 896139985 745980025 565753219 309190917 94222765 89090643 896977231 953221639 111457519 473739345 347905339 768930765 950652729 625452011 314118371 642108895 466398809 498978301 297636741 408041389 864767041 285415373 129725703 321257875 822704141 856441349 19506937 469938641 173830913 632273343 701905811 737131921 671123845 400909685 554880179 610788323 714200109 797510669 760370401 308665537 916370615 13888981 123422795 203737101 119654149 163797377 922886603 328481933 333556257 790135089 116409309 183142135 968372545 839207271 301575083 138100449 247621821 214129169 408450563 129984461 1606425 668282757 200733275 19525669 755835907 452681599 859510741 182695991 865870153 334534695 845999157 764457281 673081325 145564935 296759533 333879907 335006989 460553751 457182229 540882851 459752693 262672049 116949865 432932087 354612249 445329055 981153105 898324789 460490263 65461001 802416605 737341215 595807917 981989257 392541637 585544797 120976075 629179673 889401705 861470339 689670017 561746207 770717645 447291401 980097291 354383463 624912291 239744847 185842637 906018345 188571713 682254753 948934483 573187841 943857317 280887341 784639821 988001781 899080825 468842767 995692187 319381361 503463691 826668101 109803579 356171339 770472531 239354045 283386461 648013503 612462063 450312005 660710225 792417653 813048871 974388629 730014357 712513655 14439657 554831187 327446985 420104763 566489295 188823811 806585787 318117025 615022101 3832601 111801691 591929323 746251685 180378863 497553609 654773703 259899403 506815941 467713605 465181771 472024707 492268483 33277755 362132213 101700071 728970493 350444861 688919465 449386435 805481065 840240391 918984115 49580355 443002603 977955199 601521355 689182783 685161037 723926189 457122829 882059831 946061373 642898629 442885887 564809043 702493525 963293473 67854989 532569951 730032665 104507207 37331979 457157845 964580847 884295649 244088377 329554899 318156331 269682115 248732731 235758881 94002947 733321959 530134687 447181615 515739 129385327 256538203 73258259 872896509 335438505 804005321 837242253 824207895 826934279 596253105 760958979 706485955 986509861 830522943 104937861 746712517 508505541 125193737 44009417 976295875 572676307 938704653 744969777 932579663 737821027 653656493 853512899 267146725 936887983 109264315 274168109 614097635 562852379 67572071 743799241 268803219 135621169 188884563 731310739 603090727 476558757 997677697 714093621 319188919 707555923 717176161 540403965 2812743 668017725 288184517 526302689 834478525 393720977 528304621 585355651 164909291 898818719 535105661 210110759 597768587 943028451 307339651 354268607 589270591 549233153 569408115 222944481 270367887 14913987 246469675 731037645 793672173 684000797 681473009 768515691 106446001 59151403 872683121 34631751 237877023 377622321 170155201 592459163 966608477 584347031 885309277 166228549 836452733 49581555 920959789 854827725 515971705 189064705 562526331 653303651 521367347 604945313 581563389 521478365 34580083 795623903 903954387 789492153 523834091 3347441 691860607 504799009 769153075 765847599 872270831 322098659 390251981 944238367 443979387 761012087 477288483 928922729 659069915 283551483 452390277 344395747 795209273 101525047 569988909 938903689 322490145 209569433 704822845 632803707 601486471 976778297 855039677 88425223 474797513 659673305 899602079 779554205 610984107 589920475 832387259 139522269 654883933 55977555 73275347 560571525 608174195 358640117 319875473 249384837 155134441 721517603 933281669 664164079 41791525 731783137 287649321 369600251 851494901 234702305 399635421 458766351 768728717 35297145 420685293 918663607 57127565 656321961 404646281 166805925 109249271 318867993 483928265 638653109 475506745 937971733 355737519 765038569 653091625 156538263 737471779 553693549 145223683 564513853 730762745 403064211 365213551 478650959 485836265 175200729 354174839 886169021 875782293 80357343 417812115 618067741 549627525 534654579 689900703 141996717 52397609 118876807 765911519 236701527 513784541 335087671 739993603 377481641 244094945 231304133 656581917 310174939 559311199 485898909 555465389 316814283 856413029 804203091 643215511 462193663 664648945 914514849 51105321 249752235 896939235 293791081 550994711 315376033 91151617 739639225 98993279 65602147 45870849 999551173 626328551 207718169 481439607 862293987 124322363 158034833 723253993 821152413 849087185 563621953 585397951 891573657 674385509 4548425 129119817 817690541 909770783 208062323 645585343 473366739 135643785 538943787 993854279 825790767 333898907 261747081 219359205 833524747 404130479 869693261 156964495 298485467 914093965 647648733 277213465 502191163 790251363 711726153 678975817 814215407 100850883 758157897 221542853 322106591 304547245 223092029 215108897 467307041 455577733 77016361 876212949 690764783 377057559 849359293 701920833 256298925 514937243 890426707 333045679 24405991 433825197 768681449 219352403 526052173 379181907 733528099 676711489 923404733 37267961 903139413 411103103 787000635 206044531 929918837 413885683 697776879 729182977 311338017 762604145 618199087 380793417 194002337 817067183 884417399 456416853 617566435 541090387 992402279 43570331 128941951 752494817 128059339 656477689 497358005 126957005 488123033 48357301 666905197 453843823 177719019 285036669 651475509 742746635 477743105 851457891 796526147 135075527 271201867 192558309 198129783 734431927 372785753 919696363 464598363 686513617 865880041 513370303 415550747 564982265 382074587 459606553 772756111 856464889 42729021 349471253 877423159 656453247 187825471 253633335 492961593 357390117 700429377 215866223 758775909 733582189 892616643 838248209 824611123 7256515 172919665 117888471 786527425 180817011 597094685 486951405 165442775 619575481 104207301 368446169 669866213 319708087 155406473 217998999 651590399 748857205 76832183 53929087 636537577 25550309 974683585 523386969 652044551 239081953 353221699 188311377 118972777 372059175 448983807 772232443 37904581 449598051 132590305 207763033 650497917 302626855 540839675 177003723 511449239 161511401 402449803 251822371 255143617 893425165 320202483 413782673 631290195 919359451 933226685 883627959 637088591 556714627 253567645 451148183 520387671 204011555 77724015 539308191 327966655 166955191 135834165 776155047 952206715 639930667 986301723 170656489 508672299 595069007 599978101 719965449 815969049 585423837 833235389 595361305 4133169 347603831 323925655 52644491 202262539 626578341 928462285 157498941 770556903 223401177 135166035 115159925 622993835 118653547 977549893 77341663 572102119 597338013 704348645 279396239 395527123 692402329 896439969 244356101 532058701 549071727 948838921 37361959 26992861 458139417 311599321 39777855 911348403 781643897 886917109 985855747 102290339 689463127 855306087 232198291 120005425 985051491 54556515 778461297 171343233 997495097 378902855 594576267 576008289 807786843 398071441 768516407 473180749 91557165 9625585 679338547 506262881 857358853 641330231 13011361 558588003 636355611 302494559 869061139 853104071 48565137 475877261 405013115 481079455 780947311 913670667 661278005 234385325 814805669 110141519 928508171 177747545 846695183 888518897 270532645 614591407 867321965 624955063 358818589 896522089 37810537 826326923 232071661 450737895 463518355 503389567 115048187 216077357 692703077 695233487 357179925 240389357 997367615 807473119 501585775 885823869 19301997 612303419 408583335 638712797 381301021 445997973 965205955 424211635 706926699 819147207 683774511 140300879 632444759 675481815 865467329 508736937 690495435 178483695 762870199 401065311 908782487 195027553 989058995 758116537 172214643 886686891 669809349 717817511 369829381 780086637 554603619 166317757 512174801 268561013 419614057 300294719 568677197 827034037 644570395 204998927 226788303 568954441 776281127 783071425 239276183 987656051 113841573 624739723 584752851 441226655 33821709 715780939 452511633 22325087 769456713 322316423 997299401 119130737 314703013 930090865 82030689 749351093 260592085 747069153 706583837 853746489 961451511 988275027 77034417 402165551 902327697 95422959 487500727 758682355 782906511 7715207 733387951 742496007 101031749 904653199 596180225 37170967 908627317 171079975 826914561 789481719 130883391 485989401 17672677 464029089 912639539 328517071 109988563 448736313 929714247 517348965 473802191 959301385 386039509 719659417 654115533 691663493 529896869 706463185 75874983 787908681 89072611 115989277 85598235 970245143 755421989 714794037 405036247 830130395 402699369 297768823 958629991 419780521 601709843 382009835 480720201 47176379 174464495 687076929 875735003 575734389 6737973 879133645 490365287 731633761 121536129 550015379 984087327 57756725 669264855 261636919 769190685 85796553 28561063 543011335 699173215 525803297 408836549 302764031 381323475 480554859 879102317 914387131 523376709 579565559 595237445 70209665 902889841 924026433 306273371 859851587 847641081 922440173 656155171 879400857 771297383 612014021 32441723 647708095 300049193 3516095 375377065 441106077 876637081 84333299 180510553 529714885 874852089 773709479 587135393 874899819 760670069 255335235 281532159 924201327 448502041 397735517 103137109 314588761 533143265 343998641 984328179 36768089 119302063 240134943 774554767 767553605 790796619 138848181 141590597 585044125 873024871 612443811 943193753 791617671 535214237 480243017 548035195 516906451 970360683 95380773 750833469 244694265 98258749 17477351 729159583 440386583 524871523 830286175 245170373 131567093 529859097 586643083 361338171 822488321 39100283 681403531 204840441 695674965 198343319 348923565 453684061 134109357 203242589 707539555 721365031 687214963 321421477 459509831 55292041 130144693 365880115 784090399 525887767 229046057 544124587 374556885 889427405 501679921 160701861 870322557 503473937 169180115 906652565 426904143 89578163 349674685 528767967 326067891 128542947 561262663 867082441 107239217 683307331 476572273 880915593 832622717 607106005 690976225 968387125 137034353 295833095 894372073 740164815 370212117 184881583 345770109 727350337 75446159 354747915 485885245 586397787 950878003 524452543 935643761 370628569 968273023 938192087 278313225 485766487 970104853 890173387 81397915 128451171 110236607 519541367 919068775 985742957 938068337 419680287 476562003 564478925 621488711 229742963 966622191 568706245 48006019 128208775 820870003 463405181 913509777 652549335 998483133 614410249 945818373 649537097 36069973 44030305 50811801 527988267 810450537 46734951 443359025 659782961 758109651 873901027 226793175 415469945 423579919 89282693 605263295 296746377 615969607 581970409 467023429 482761549 871739719 609846159 399765229 284804891 896183947 275589089 410767199 592734385 34851375 214974767 414767473 848745009 294352377 6018739 592900125 725459245 580175707 413759885 828726919 987956117 374659179 598493129 977795833 551179979 813335273 583037269 180684265 738228881 655961405 926795533 547090159 621305879 445082995 201982897 373372369 110963439 977362501 883338473 450840951 999328793 198487059 66861641 591073527 802209017 978718689 154139209 270393995 609898589 325456481 967193417 519547543 216198521 317630183 831345301 820782247 833263851 743382135 802569051 910862957 520296889 723824821 115183543 383518915 823381583 7548145 959679913 797338287 695480707 537474339 54170137 104711769 796730257 114511593 282857435 416739353 51883295 652481675 813265575 476658533 847219771 559088119 711096349 118212067 403719003 453152711 260567751 327015519 988599897 254176823 933469975 576907723 761210749 222974001 405641319 935100481 583871093 389612097 561390583 465037831 686169427 310173091 830777327 730971783 370455447 695207217 271164515 612616531 694982437 969325175 231303241 842945833 516367689 962131617 596938887 634259689 818270651 691239815 372818145 997933217 354746775 745166505 166490379 17558659 855501409 468835885 963537823 592800747 784347401 676090341 894796059 773265499 313663203 1383493 145864939 324349567 485570219 336263533 278888033 263218985 94608775 937133093 825382325 169188951 863076869 213643485 836488967 482403371 791517465 242838187 959063905 81245679 90328355 976722511 24737205 666067735 647383781 55726895 363100635 39758399 359198349 438400603 746001303 375317545 971129521 170931593 595765647 604800193 935759693 912066587 855420503 953194523 902803657 710262807 495566181 522263919 686091503 814380331 800384541 470630437 299366391 129937841 262731463 476875973 79907197 963269029 986107797 52165637 317621637 563266993 124676511 907849149 763455359 81305635 94616041 909038577 824996157 606468081 15223897 276539341 942351871 890604987 945812161 465730213 612393833 473434827 146429917 588899571 513039497 726383629 286720073 339961179 230411987 855700761 207070611 624473511 840983333 407257391 232603947 589339085 945918149 819589685 563528555 284857573 882051679 884144573 149751441 339254323 706200841 713692667 585762249 496185381 663569727 188941007 421320227 170308427 89524199 586832065 236990361 162029409 984527183 935474689 250912781 39985227 793311789 183930725 94074439 218321683 159507611 920132459 832574201 425372911 837972259 191665469 578381243 32391223 766123949 718477225 399841807 508074353 261763217 979768359 495705695 462293063 752335757 548438997 746763515 976296587 154742981 877042299 152541471 474387769 819130821 153216903 634984935 939895157 44665989 378935569 427803489 884856203 27893857 667189467 298995581 292004845 237612319 997367623 931371283 904075317 710976491 418927721 295815397 646030889 203647577 496100597 838552733 972986547 748032361 752100173 379404235 73529061 436108929 462470261 356569321 276921595 910942827 649658143 666276441 594541403 300292701 106739361 487663457 227185037 650546421 18806779 13075255 633865541 973539641 254062805 444532721 72574813 54760341 419488379 431696273 951620315 941815519 49962727 266087169 496973801 641218901 296264631 535718673 137181401 450720155 876461363 119313275 519187241 521746877 781449035 868721631 583677051 539590707 971418261 319548105 966011801 1933017 455625039 541172903 317428087 510999539 223231587 350275797 817522735 594200369 265955935 498022547 943661063 323607205 335738491 525772811 890847851 447386575 389800341 310993741 945722601 358405267 940028211 543151441 458775617 408690239 357280393 68988157 479857493 488089735 249381225 509187093 488499247 958641801 397523797 318724687 292643075 301163979 598363253 809333825 491846445 755950393 793080983 40332395 730185775 606331433 990195249 271758907 47098037 921418583 467024227 75196159 86232979 160743915 196510967 159494385 942806723 37547119 417285977 479169073 417437801 51939289 53917089 595404745 622541775 302783625 572205711 97945773 119893611 881004353 807329673 830088369 221746389 759261231 984692127 286052763 800990673 404867563 731423881 614325267 605386059 682115693 824140197 793526439 874855255 696117279 45513469 62624469 966584113 90330317 776223803 82861051 629318711 189576363 261394875 859418213 737286907 781746519 541674361 731170369 20607531 570362069 613358111 566595753 792569255 219376789 421092859 11439265 666541933 907389547 732762117 260499983 769263277 933568915 904976603 622358215 979884727 860704179 242953667 149863809 215411719 768045529 753789873 107720925 46070081 216321403 714087479 551314533 822919217 460173171 151271575 298867083 346972873 256384777 567148217 416543401 525643299 520197353 81058857 236797437 211220869 51038761 584877859 742930099 157264727 402903367 224860033 559404509 981243953 10584359 950646735 533811569 662412233 278102037 876580409 201548627 664858117 848115401 946301847 479278669 994334705 261196127 856972391 852927757 791331007 448210011 84187605 662177069 319032521 446027181 358968491 275417137 970366613 877466023 639566435 701204607 718155213 861580809 788020251 889913961 595557957 143570679 952819611 932255019 610787573 158155263 510764115 644521443 906322181 734186773 108804695 403889307 910462141 398868375 783670635 653136709 494028433 919808843 650722291 607421113 171546139 406269277 914114559 228723641 554936609 89331043 628045893 850402799 723615885 240000091 861720871 405683437 665895283 22914471 7305643 640215337 362165261 381803543 882844287 596692231 723179709 370008289 862771451 279658959 597624593 548497055 142852129 323537587 596597947 177747547 991450515 45849035 792339095 515515005 230454949 484441369 709516199 785783773 648028491 112674183 114643993 612204729 331286821 581894117 734531131 295872949 530251389 719788527 298910093 543499999 120271167 308098369 659742129 921650347 67103235 568876649 788407665 248947959 570165511 316086231 706336193 443568647 691583799 561722595 828447933 709784971 76059933 693225679 273574057 279286167 402076659 864184773 591880941 418937255 577901719 328819157 675962655 510735265 299249809 564251129 301186041 95029459 686169359 446713107 87049311 888340723 959811563 120397035 176174683 863871259 125230243 558423347 410320931 278558931 777618779 866294915 642210063 474680073 820616167 623552349 113829539 538519823 812885693 950092587 642324877 122734499 140034043 3853629 686650013 904890349 467659367 674823117 669599695 279135863 157853301 370931963 915584839 657457721 825134391 828158419 312856145 13244815 286306671 648167235 572169821 689647421 719337603 958144295 817197579 434065267 906924421 200726847 252439577 989257413 412270121 798939189 942082679 580725039 13350353 996290713 648671541 69027095 616312449 357328357 734181777 626321483 949877739 523801465 568313579 504852735 647363685 506959265 723646929 334529745 961267183 727870093 92204275 162113479 648716079 601069907 339676721 116497229 667959925 84263161 488716683 5472057 258057913 495752039 830537259 669598407 451959449 939421805 171917161 208532383 939903837 168457925 944849339 157834443 975948787 588901135 554466249 871445443 236228597 119822551 895173977 464984417 162579105 382837131 86716515 15881967 74488283 162963847 221146113 302548757 77655351 721068809 152514421 767448299 11540203 812083007 342198059 978977007 17928403 283262263 153563061 726350853 886508411 799212267 861213905 613995131 290633999 162970171 702012001 444886789 551110761 348260849 940076911 952563137 979111941 43639999 268194095 860347187 798555915 824346687 941005821 655669067 588162125 626350065 938953307 267510877 23071551 285135933 864637429 996193829 702213889 989019511 883529885 343677643 696795485 556428503 263244625 556880345 159213501 300766589 590737715 962824005 36422717 654834547 375180429 336758895 579845275 485033643 684395475 667132185 61706557 97552383 900389537 545850993 782104627 518137391 475911867 335954445 812672565 106212579 88113417 368510699 704818081 550160813 204167841 773196397 860664703 413154057 350184381 767355749 812094591 139492181 967602369 937837829 215183349 96550875 595929911 62514667 345344229 327885773 847290067 185748763 660093171 354950981 871746161 420168965 197791085 244477505 889392405 616646267 93252687 554440623 352856807 680843197 65201461 897763931 862748733 381504879 97539173 69832707 882226321 428213151 913565137 13385285 476289927 578199235 266642961 775511979 264699371 908754101 121864545 139191463 22904493 599378877 131003561 567166609 694918637 389337479 241790075 751027373 367999465 802951209 391918091 463103777 739399185 134069535 582256697 270954495 83341813 720760401 13071501 536485955 238724689 132225801 157427255 937440457 674548745 354025727 916332301 623962465 35624233 351522125 854158991 752008117 321098723 357512573 479475427 253416037 217244049 296637559 446182361 276719085 150421433 343086997 273264617 211403705 196826885 154936719 406444849 963475737 300132423 129615247 851366009 531661897 280586107 154776609 14148655 322211685 373880007 228687417 675924845 823924091 121540465 285089333 287924463 907202939 494893809 511154907 863622175 18769213 397572577 103517783 188330507 121283717 949203715 108090175 701250665 564353529 451114563 505523087 708484763 413158955 906154419 668015021 987765925 437292693 148158097 30759783 665146427 737704601 4565053 923351795 744448943 621482111 850111301 484508651 622809347 363392631 939869787 539438679 600533213 962754973 727848283 910319013 140050319 682135283 549253191 33906599 111859725 181284445 85177419 761477019 69644535 936442803 628995771 176401193 333387669 385219497 223036431 259250013 33474263 238315233 68945647 219805099 75193427 68768999 370584355 314669295 956312905 536565547 712526495 460660339 632566687 929185797 957188735 390077153 796348133 790740919 440719365 31604045 814137171 988434283 7013279 520895543 993424583 392715313 370796507 951074437 28865481 113521155 296855161 969007743 997391495 456334529 623943003 273198817 578531291 636406071 89063307 794838467 494826561 893557267 823142463 780635053 664917219 663479025 201929167 411232907 825176205 779630929 465700543 719840947 563296443 385842589 457452219 132960225 735153287 975185445 700558743 532262461 776583101 272072227 212519501 182956881 819065289 126957239 874156033 917883669 279203523 446005741 197521151 926888677 497976939 238846899 250235831 173466245 518316841 732869349 271687111 270477093 276482825 669025859 44072179 82907223 373946565 709430133 722319907 979118363 432843451 974641167 234990189 760309973 495254517 700100233 943504909 574955603 208396573 442108739 366944611 916891337 857792911 341767561 746320891 370862293 290484297 898037385 964950411 750475131 168073969 893725279 698066155 354624299 490888919 14813451 421290785 164916409 151325171 449944437 297193559 729276003 566773731 84940401 733686495 414890699 743421167 421094327 214001717 883129857 703520517 94860519 182374911 279818875 990002367 784330379 913793795 361008147 437939801 846758167 376670265 180274449 159151805 741514207 621416379 505125665 989050999 323246633 689014219 817337435 952868035 744278043 809560531 992993335 750807675 721439689 946392427 608960159 803411755 608825899 718919497 977293535 363730943 335008801 779727445 911212715 876078287 892242293 800362135 774573857 484165915 172543449 805747779 868207045 241167113 587600359 319094451 787509127 640660075 330074141 546637677 243443641 742071733 353054697 924139291 496111901 522474759 387975319 190552209 909448403 402200361 815466085 55568327 210791787 779079307 670589297 158203621 59233241 490597955 75490501 897300275 884810875 840445199 214010707 309944869 926676503 675902041 900101875 882228823 209605337 385985839 205243241 701853323 955839831 569610057 232400731 796845741 333047695 693210629 8229725 307024593 411525605 79789419 294332133 170846769 1653285 4658473 635132759 332532273 284613255 364064665 474986235 699750235 100154533 823604919 372201475 546138211 702273673 63335213 721534343 424292645 547340187 70125383 751577227 151592867 530019253 297070593 103591157 147932939 822843921 48947189 59503767 238871211 146730581 367447663 231017517 74777347 320000909 439421531 519305813 273755829 87066419 408804689 769938585 656963469 180634143 81840785 961436777 608810875 749119895 656066049 526645795 137808285 144301131 756607283 869800451 492208951 642343759 706655835 621668149 225438897 49787167 320413529 94228169 506478241 210576035 25312949 703387323 616419521 101385253 781553823 818479335 613795061 456380509 663173101 15354395 105003593 351854437 235673885 529252103 939959277 25493957 666826585 753652035 233560129 159645547 633942895 727089745 49787331 444548777 116465879 109005979 760834595 611006271 784309935 725767283 175321905 569579343 453839039 694562575 228418537 634779243 175764597 223804305 238547313 897728133 787838441 788062213 625815567 45062907 742191325 276986459 606889019 395619729 953807283 949507435 284734863 612926327 547376255 842160119 673583563 810831425 930391029 209310121 750477279 117924587 530969719 418403345 273850587 107527387 397816073 432854953 304016125 153655519 447944285 358103251 81942181 953521197 967882185 856393429 391231841 101509471 387147341 681328869 925573347 26363261 8481679 971527961 288763911 206871795 603823841 694007667 931725261 433070231 472427575 214129373 321767525 581995175 750096689 433976359 348172321 573212613 319540759 452952843 809044601 327647747 255468761 700668713 536157973 557446609 841124365 5631757 32410301 278417681 888881649 732912933 846015589 420828167 467088239 845226189 442617385 488815709 167029525 657252165 77605451 536105517 506444315 567111863 114812983 997493489 474769759 90060595 182435713 127141519 594242663 947906483 939110113 579129939 240516199 960403735 429446463 618698231 309844785 276540715 423144611 977001619 889976903 569026461 32987457 874066861 322626001 101501705 150419573 925648949 160005531 649156591 926784963 154953599 911717409 528279991 428757971 405790793 137427837 238412213 401719163 130489781 169802875 159039009 434225845 157899859 108956039 160288539 524952995 493504281 816796601 162601903 187438485 489002083 241489873 973415627 297467897 286755573 116649269 37629003 530270061 684422909 740500213 256889325 358206131 999830289 472057033 41037407 42751417 320253231 735102991 314037805 691968143 38611387 124931279 219337429 744589425 487884419 375725753 72898485 316546755 710064571 390136355 527968025 485828623 11251969 664109323 715533615 383033099 710396505 917167131 264443155 765647247 276147507 324153761 304977859 577059745 141305187 599543957 444645677 332150377 778464805 235662229 870881565 516476221 193006367 118889959 471948369 223473817 410529119 382229631 112951143 411036445 691362393 258087663 962594793 22515349 964515053 482503801 693619017 897738999 620147293 522488581 425594849 907815771 519276375 719120415 849128943 212845831 398095089 937761795 780535457 111463525 368224169 312774283 761673987 402099719 473470561 767675971 394022163 876026793 140751723 121281365 923454639 592473393 878116729 402465439 473897633 239625637 558822055 708595353 903042971 112561725 103297407 211938417 935768373 156702035 189530089 741284081 88357619 611479401 121634367 672455571 236310331 787943979 430398011 200493429 815211615 976313195 888218627 874711647 534381979 19466791 292185893 847450049 48334349 843390847 353065365 167314351 179646399 146599873 40006833 652390381 857785507 650146143 649729599 895475423 850567057 347865077 96973163 396194965 784823115 226812229 452200907 293544901 283351931 945097787 12615259 800015057 806210483 324839401 330587779 418050239 399091305 343419021 693316877 789298237 558632449 710718601 703594801 837421219 738412483 743413095 705159049 556911345 971860705 526380251 379560221 466393295 643007859 539770817 595131995 875999115 698727803 107670811 944705557 899757339 837287907 969606933 665067659 42853663 189825405 7616515 476446817 759977953 889566719 420368223 151515555 249359179 704046349 195354827 965710537 589854203 996036397 938565399 133210031 160825897 217014485 297410865 25520283 40429763 315653467 221477687 825890617 360548435 176859137 504511339 564495775 888338963 467012337 759592763 510808393 760489697 723815485 788216885 688868381 14158917 64628443 864523545 768730473 628798829 960356781 310000329 765952225 453301811 403137151 565250385 104869285 39917587 337218305 411867361 669189943 449172791 414215627 510933719 889958533 273765229 976465759 814724791 213728997 529935149 617531175 423841577 445592853 884515989 472423539 296101123 549774393 986764395 401756541 914573889 446086877 975735073 601400421 177838339 798059001 726917071 331967543 528303765 76344297 62148401 996885475 926723693 145495409 809669295 442186049 710350115 283686081 56400731 137335315 66662269 407489131 457343721 66016513 592053091 445285999 276233403 108854431 519815405 251763505 821128405 838426725 759484241 381573247 980660969 604905397 629532661 832329869 2033997 225450709 899050341 768777467 237723649 480745467 360853075 775930827 474323883 775023677 87520409 946902635 212404379 531172507 757373501 797147311 611297225 163965699 581370985 445128665 869557715 939355459 277325935 371115913 190161409 541960725 672909005 281179345 853488961 125935129 973182499 531826465 758755629 71929051 982686783 921251163 485691137 706492873 11100435 615161537 415500455 670745407 839134137 789222915 580351405 437203325 228178295 480714803 990425675 407734699 427346103 700484561 498489949 134279389 858959373 707962817 91636335 64453899 530907955 48502351 229483181 441887765 440690187 344241715 499487729 327017157 904534435 362592649 173356727 793881551 33908013 24577751 122081319 598078663 542483717 561028617 489153299 789054259 679261613 574405493 335829231 926843769 960976081 543476951 830027995 584346093 980105285 560622165 839644831 298520007 693300483 546655613 357840299 45113383 218038317 186435141 206596117 94889751 346922515 819844103 672000925 355771529 133176611 386202763 764148393 216038743 148904187 668097791 451601225 112220225 516006237 861638901 339308085 483889903 229532981 83273067 102145995 9075957 540760983 166865865 350401811 473437897 40788157 746141915 746412221 250150607 350811915 136231379 831778845 411998289 252932619 225050963 986672695 58493 551512947 338483807 112405165 570413933 336064027 200480097 989576915 980939045 784816391 375765811 271582879 677191307 132524133 195042319 146196909 415036529 520994437 565177499 293369929 353142931 80479971 96897765 929058399 675320975 435825443 538184033 507576969 569951471 377387535 100728815 163050243 65699365 907834013 321494223 749285045 676215177 481203941 151166387 786750511 533543519 849062701 839963311 998604971 176921293 795205341 908704065 486755587 155186917 608821643 449097547 337012929 68454819 680516083 518273055 53128981 128363493 85566197 384724845 965331413 395331957 637769885 196264023 296286849 159905797 448936737 529188447 9461567 282120237 941125081 451876469 884692959 171582575 454004299 58928107 58118873 707832373 90949921 787750273 661382219 523579089 246299949 376169051 151064317 299118713 693225069 297745159 284066141 270910801 650834689 110390905 776819845 45907041 676374071 637159183 677549361 102390425 866901377 466654605 562745547 602666455 19402617 83274787 173336673 233954263 372607717 199103333 749162409 137421637 906308015 749146959 981815301 287145137 687671785 873567305 759847289 223524757 504740561 724172829 64162231 21755731 373651401 915734273 511891223 389861427 200061787 926310037 593756053 51256933 879386171 33149659 43058649 513848583 474444867 790183745 189960245 606535957 183033209 629601181 186653597 188407419 846257415 130620205 754319025 641374985 955079745 257181077 606920889 961071481 424949665 94964193 529211557 362032747 890864073 268975497 350116875 250349931 613829255 916394345 222830635 629240809 870174159 376712903 490625259 675175997 4338873 701280845 690102235 886835881 671319689 882742549 301399859 44526679 804774315 872421273 559395537 929772631 817144499 265686719 367554363 482721443 965974875 447859413 892023461 700207899 707628933 651141775 500521953 805818507 860119105 21144077 145117043 977296801 416128189 620475345 932744319 754509305 499725143 56362441 442645971 272021267 930332817 266908747 395128555 434800473 451938329 103131923 792706785 439865627 663339455 641633353 682873729 981949331 296274559 861559671 803609143 143677921 740181885 770284693 108822811 565196817 580832003 816832765 338049517 133011473 469470599 714260601 455079701 501915837 245107361 762776113 113157279 813948117 552454677 713489343 819034437 841316355 124190417 855069 606136677 885552597 904684517 864933041 53676553 377357513 346168205 295076423 876512731 276838207 759193645 631092759 961581623 397317757 700566865 324075709 546862107 113429431 845574313 352813887 291026221 742184711 971656981 425183241 250888893 839884397 868349845 982681073 850271939 178566353 152656979 981005107 846727901 578801415 356714917 183175287 622780243 801115847 281250567 217972679 923368467 241649585 253115417 622579609 561262517 816759377 253882281 847313357 958684283 872237333 462482089 326959269 426582343 298051927 212516659 162313679 808479917 914078811 719313805 240188257 220759523 175073351 32693025 826858713 437935557 374514479 859208065 434608155 149289951 224206859 330406251 931192947 731516253 425328059 310838207 197832089 509811735 292549641 271035531 309951145 285814669 24977063 361392641 651823913 746068453 557586991 270013821 164285443 860487409 629385503 5801089 560382609 381761829 332014309 610613689 796004749 570735777 882278093 842034167 150755357 802997293 633328917 67304249 647421135 792964665 322765787 336182687 310273689 66081755 554209321 45435511 302950869 607635409 445253361 104960821 7486283 768667013 412481037 573976687 580774695 263791109 530556219 642655471 506016255 464734985 744150823 906436763 823197649 251810799 800204899 282645895 938318591 426084031 635053157 669566193 850187099 196498215 640311441 260170811 865341717 517361025 340648239 698807279 827910607 484011977 678410353 767657665 667130251 414201513 906773873 189793421 559816121 405363821 543114029 13009239 771199531 764941841 609223057 698629191 444812833 437418031 428294767 472886451 819790655 468226067 644777085 180059925 616471187 469457577 681848415 643605521 374896529 6158217 395558813 999415665 126622999 979202035 599229353 134000427 768987243 889419725 836491995 944406615 604165177 312792745 79527285 275451961 698736535 311545531 387530401 334799167 491331329 110019555 539759473 5718009 608445279 269385385 461642715 564223011 93302523 689767229 192252867 21897121 208828555 195192947 278689775 745235325 445243439 131981007 105777941 879944941 173962345 4543349 436652235 646936649 999075623 431288629 165584533 581708311 824574145 732938631 32927449 20856319 794536687 131978633 476518377 701698009 637927387 982863617 854617855 915004059 532040465 785982819 321356093 687068523 90686597 731429057 297974953 883785877 133208469 452881117 387243321 920858761 296497669 397314079 131530179 141486311 290404101 147285141 858105097 657066863 535842857 35944693 491054773 70120715 627827821 353202593 770125911 607758035 775379255 920471453 457988713 37743357 394958677 831313307 848229197 481810929 310120955 190350577 992081995 515362613 437530057 31565983 135413395 401881217 692838337 231257163 472948289 840188079 153466449 820632391 341187925 711659201 234479183 261152135 761628857 849582307 323037687 333171883 916692797 541966183 863594993 344802043 319164571 43204043 879157831 83346023 916187251 961428399 566199665 901858691 194208593 872166369 50943307 165737107 105971109 775649107 572208665 720451707 228307141 276452385 748512651 771601355 142964727 802742925 205261747 352494011 436724067 732536323 263291409 151222055 258135833 303188503 653693577 32546203 584175123 807697795 592883305 317232709 878021937 978785577 739660133 753842425 972011071 812940057 277102235 268438329 318812395 754380161 815344529 116117293 170017745 35142591 310297907 163334305 672927601 222323541 278990039 560410129 810377011 484146927 127148857 297278871 26459243 383670113 285549953 608498687 33424721 332019877 220143161 364970933 976778757 456387807 918219865 739677649 782666131 959992153 258153019 5556499 16468201 587668871 995151015 722790113 64116707 488705029 755729355 705313355 467920959 161048983 31020089 495195913 530460331 202919461 911588849 229968505 356671925 881335749 762200919 479774883 198343381 51831729 525750839 50575159 194002287 489848141 729523913 288467595 192879053 464080677 410177193 735820957 388966941 242640873 554015709 383578647 447648123 716180855 800106961 100757319 460109029 75630547 746054745 28833573 406675529 897296423 428323509 851262031 499774835 302749125 889430667 458140171 517201697 448767785 571601125 418708813 242050033 260672759 593639225 884844455 893240173 793748731 321152613 74319963 709113095 352136485 877805999 536390993 150861081 199284885 756689861 756115477 82262499 613059721 603741625 355253475 330899597 166807409 356021257 301694357 34861097 582980061 880956829 364614325 831701171 338842507 520755391 767496819 818503177 621208667 86128167 718897061 30143221 418868059 925187057 17063627 188129833 765766589 710291105 240923405 20364605 131281883 733390375 79608631 796048309 648416827 504532693 5757123 798629367 288146567 674243691 215975631 744340567 209138321 866862351 151357219 973942795 634187607 823591497 179656493 151025719 534986233 714200085 525892871 87587043 68166853 122968523 101347439 612268545 939174957 197013299 623864779 794151017 323060685 300672889 611951401 168077535 658317159 257407537 289217861 406325001 96392679 248363613 299177083 874241657 560815201 939860317 707230675 969556393 121977613 222846467 56641019 391593211 323016787 46575999 545967691 179930039 824964027 602285683 260067779 697120527 582735609 661573601 294862347 514101531 693117673 179653687 663543407 837499357 618014349 941440589 65257195 694316095 612819473 343955035 760086297 200468243 814584265 42777867 240006469 508064783 196041007 637267561 405749081 669946071 544326631 698748137 343646705 665219059 235841211 760977001 685611851 293960147 440679583 518722863 61973581 200052179 471879087 930200805 876345225 520633653 686383151 37172133 965412403 783963167 863738247 338240745 778939179 978452131 793037133 865965209 531157497 356008379 744239675 390825983 36505547 39476295 811100981 705978577 139323003 415968275 582346309 659118639 999609733 783220431 3057057 10596251 990906131 504546067 813426849 46973955 918309107 220811617 773410505 107862717 958092189 19606307 349527239 57625735 21228333 209480105 670101355 824270467 66781295 924950829 541429937 162645315 348214735 739788751 861137597 607087545 965654119 923893915 932425947 666588225 459725043 683989121 571412603 399089573 595925211 94325593 98349629 488743437 209173809 493330661 521651935 518673427 436302249 577375181 824310353 578635697 504337315 150154917 208166051 822781261 174899497 416130789 97678097 117686453 794813927 232966127 411267329 846690845 81268277 738511881 443142393 519806755 289075217 976068969 171704753 662929869 400424487 726313253 286033667 836807559 842966209 952655935 218397935 299914791 255931097 315358367 232291493 654941419 440961293 360576537 876477813 757456757 965349029 957313893 30133213 637642965 694402191 965686563 500055165 130122881 617679461 275398879 699541795 469746005 562447715 527479303 102349249 890121877 659641203 599865079 938228595 420271343 62511651 368669167 354127227 305531259 531789227 394463767 20128325 576424113 817418215 740472963 316337251 928043387 96180067 749569835 370397075 978295845 603715659 315110383 651870133 605753699 989981047 371394459 677833687 865340243 86490985 709090013 502463277 425135227 780521795 60962639 140184589 436187335 4191703 665276021 565686527 126326411 934442655 536528055 1851311 280763273 566681781 289945699 318789611 508580833 245354979 663278775 177756339 704822563 944774553 663421649 959264041 309402947 956838893 284781755 156561815 151750561 803562655 280390249 714014321 410206719 632246293 565489327 324148051 505100683 290833503 774408275 514430975 267761115 950544437 836209403 272335203 98910189 314511349 295343675 472703117 211602213 644824743 603054217 996295613 336214095 212427003 50253897 46971221 404783779 890479685 561138885 267592929 157302973 504989065 675397419 129349649 843036577 968219241 524127637 912100803 291633599 718340665 636756487 918894843 314463211 255870703 630119783 180671969 666605665 555497511 838724233 778821323 268121543 673970221 285743907 208694579 111083563 980935405 78525657 944292029 741508609 285913343 749983795 56143413 559057703 213825187 327730083 310211211 549244387 48130753 23388801 398690781 509259745 606335973 643581457 625738863 268581175 985928011 655518329 965244331 842810211 37328333 935525323 191162147 172287047 184570613 645403907 881430931 532667187 210049011 989869311 899349471 944902621 351495837 854535049 375556115 670190945 337418355 576577619 529753695 99360067 545328027 433401333 471201315 330893425 275684325 778152177 467689695 161748547 891730889 752512177 815702333 807116147 777166693 451079303 639010325 451373351 331353473 350089897 909469533 864385515 92809355 885015867 700702011 630221495 146362781 666642757 215005435 805260775 610863987 722412985 939761167 460705345 222216055 877656175 316652819 723276273 233143 469748009 217882825 464852877 777340649 882044561 898788635 91769617 766490991 942698807 587630113 689720035 548387917 647022741 814150931 595278547 60011317 253591053 323781459 837140241 54387839 787170279 102868335 586995519 928994855 510846549 570932249 543483231 448651989 478931567 549852461 818402527 883237595 972205367 718049453 330873237 967179565 668427415 500768197 847788735 916944491 572290655 303391687 47439361 931292637 661233993 652897073 743647335 220068467 242701815 548979365 282247529 30070211 819332591 837582317 425151459 310925069 301930663 751381245 205485337 653174839 62247029 269211377 218666939 428274385 8811931 50117899 443066077 833947921 124755779 681464759 375654651 245769433 259978365 762171785 37320955 100037295 698111299 710420539 794932011 301096643 815830901 389939121 731157055 50517481 110680031 9395445 118887509 121016485 961066289 768273211 136831475 14356505 568606979 278255327 355352325 197521177 461502679 976824421 159273953 654028059 898966805 239833973 583349317 929222971 507225105 123588069 263459923 514873157 213318915 438556335 694704029 323988133 964183819 4216055 65107475 253766515 147394101 640846089 887280919 892717423 819199599 804844373 912878699 53624065 888734869 207719289 327359807 301329973 944338791 373636921 698761509 687059397 577138319 144716157 26528029 133060111 658022813 472468315 895662731 677784605 666113801 945626383 705203773 771678873 493794617 847071481 230957927 960499935 172754289 78527141 351641255 552541677 123537127 392041929 452945155 552907113 377120175 277903677 367262951 727781539 444501967 16166407 947874089 61468563 539683375 631189585 156561925 780639191 476755869 980660845 428276257 495734197 596832727 728050647 299804043 703301409 55765627 183230515 167082681 961222829 704950805 605214285 287628165 540380829 17943315 785735959 208786487 67894227 185308881 433706667 649911933 230273763 45516429 255224655 54813801 54114561 705727605 164018285 699360635 455707407 654649493 858498969 936447895 6658707 893286379 778885003 288907785 123522235 285311829 63819563 535220873 79712095 733435549 499448959 65832499 524889087 554351477 918802879 976145547 608571585 206216823 163332677 240855681 429005175 377210915 184174995 767105897 733572245 8477153 139890261 85409279 651987003 228852485 307503453 224819049 739701553 497344965 768661673 85313077 75606503 152575045 734457435 804264791 458067827 137318797 358456253 622039855 415341715 831942287 277893699 242009727 960559793 995229477 115692681 372250997 268296923 418506509 951238993 407201447 841762505 49217779 83186823 688773137 262882777 981319017 432683071 232641051 922689555 737609701 165090227 708368527 313254181 859421643 24383557 703711653 721260393 312873827 539441797 952038649 364455643 839848671 534943009 197118095 525320741 528620889 86931447 573279191 455839123 38644175 759915785 497379491 448398881 963434541 899878787 612973107 673174633 154364997 233513657 262921771 121650615 412037837 223752997 770053017 390652151 929934441 503264619 757568497 352560065 880256673 889562453 950216209 451522901 953947367 86174425 103419711 412536217 462416275 639953167 335032359 324053021 520687335 409359677 226755549 728951065 205591053 378807243 956216547 688029293 792310295 25720143 317013529 896632477 767788283 67754883 311312335 286995931 229840029 310514251 886659771 297388283 502043077 959152307 412961015 355618945 362585891 500727787 834137869 619852177 699778645 660682323 870915813 45166331 509802199 535271529 216001751 612178999 342946581 549246429 152830625 594566755 86133599 675389567 924857447 794933573 61076719 768797003 624220085 474566225 957584615 153318757 553555075 599956889 148869455 770857241 377702445 367461087 132220439 610435289 244241017 633851531 602556955 265025087 502249107 974943403 950725659 301794065 484798991 938922997 401031105 120694329 710048749 352081611 403578013 888198345 868548499 404936753 681977129 124327679 270308811 282928345 628497351 124793659 463405515 695582745 78525375 464014603 607793713 273499377 91409985 440816673 748783619 732428039 195034473 399432023 816683437 588475309 732659511 639390643 735076357 534766295 370026645 741019487 169504585 632521253 526239315 823464623 623602717 157420511 532282411 612086555 94650509 920581621 521120703 11771467 960155921 136817915 642440085 582307079 620902277 318686005 79335971 938104387 553559085 735502215 199507647 753884699 6488247 230962817 547172523 579127505 251298619 703575385 307108367 816190929 422789939 118273777 179227903 824454317 232265349 733993167 378376819 986148387 241175167 884698657 349837131 742944021 827684565 548001473 115031891 498221965 682486949 258384939 47942201 810747839 714921333 723485833 707339417 614630151 227038769 606051751 286060787 240155367 840804911 219709441 43783343 748224013 905270315 928610737 615944993 412372807 912596811 43486083 881408641 200453781 726559775 244871651 869093103 929859097 705329047 961525225 677051255 902549789 486500373 282864723 631028999 277526807 657873499 542738573 124159867 747041439 881762967 246443425 615713939 552968825 864876385 597389641 419899127 304793747 148751537 283238627 270374203 525265149 395185905 693652599 219522773 974726899 629390829 553295285 489673515 749229017 739282905 18532083 68073601 147503161 667385427 757671471 576005387 118163657 256977759 913009683 84053475 987142497 752558189 640366317 165867529 198686213 790097745 887976373 647194469 316335075 858690887 907653383 431348681 584310347 221586421 246846511 78869489 449533369 729443433 87574553 770221179 768350417 996883481 648969823 840089841 424678751 810389983 150246973 153315015 520852821 366494467 810264989 442074193 906322893 886723121 843779083 156421589 740249101 438457983 807745985 826843769 108033663 403598955 630414495 883679567 881577397 847821529 960193833 93842515 892015979 350043157 151659409 104039267 216390023 409694935 11967149 56426313 121113871 794857275 648559357 218174135 15381307 128475589 176113575 458680135 281120357 904231013 617118077 772974711 102547727 549875053 773164019 702872243 705520355 323404445 486887977 183520845 114511801 866617881 343770087 499437691 279537287 685808495 998078107 692091489 28837493 927473811 523575391 609487367 486879691 314022115 108809457 520581471 737636093 823478309 662498485 572328257 588342181 255563141 797028287 524282481 674381705 149788313 680974021 517463189 255698835 490131037 944731685 629110079 486255831 518850105 958898917 421747945 736055183 905335031 168035769 938118133 411364893 210854863 970101235 377942443 638311951 78483291 693375125 566098749 373887769 858971301 466765639 85240003 575151121 301798421 341845333 209851457 947366401 584126083 272195771 154237597 525013775 474669613 950398739 685876393 200083855 706666935 157436583 979551263 426414847 919129391 535390055 921192609 969519873 95965961 293601769 43137719 477775967 134155043 407214189 795080401 797086735 861407681 978713049 914907725 945219113 236809363 904283839 974898791 689308913 917024173 52919377 577470795 138283987 498347147 613777269 857765129 368690275 815585043 47889325 74362011 861944155 282223251 737127977 212066019 786317215 214811329 984502467 378837927 896967483 239583415 669531383 556158621 17172063 892702205 787729135 68977755 87594089 742223231 68839033 180304739 861512413 673219733 509447693 911219999 936265315 949442039 642783687 861948639 608040913 494406351 238597747 513994461 285264161 622569895 343871101 546681147 863468665 173337975 970758911 645522175 247448351 660240539 17112757 283347743 861669515 93074903 875474695 18592113 691438421 239230299 971789575 444634551 172978755 758539707 265311849 550703259 387440445 194047731 441967757 520351917 667375705 770772841 270271869 181666149 526655187 901271275 504598245 460522537 974803467 99516333 237658397 131410239 310738575 746798413 706118691 729851607 223361297 397971921 566668963 192585229 108244843 259121829 808846567 816589793 138418083 61589407 169884137 570151995 934418659 993171963 82813511 194685679 454213757 280313185 141029705 97183925 745593069 585790171 294894557 272779821 838138073 971149793 116771229 765791459 412126217 381735245 676627909 695051333 470636657 758793319 699796031 739802799 504057131 140427741 585936537 556707937 840672125 842433217 725640969 384960643 333423057 54165395 63694193 85912105 63258299 351184183 939002455 110591819 810772467 574539771 211043817 221141449 681260897 47350931 968129791 551597167 19857933 904409885 3800089 229961195 758426411 912266269 668269151 165778393 122269975 577198467 957350045 878660023 439727699 575642531 243053135 360496627 533385355 57956409 343437967 312552153 720061331 213903725 834678055 198691239 541199459 434247881 9683335 895187323 792854051 261741123 806055365 226931297 317216027 118363963 13050273 641727047 803429825 171793779 202160001 681086983 166489517 576464921 526408053 51524709 176499363 480569027 781580853 821050631 585166735 548242543 346542111 608166273 112427397 516158591 887350331 342457929 743314111 873542597 172657463 91897285 616922529 735267187 542920301 248413497 744469429 578260007 760450265 420684249 249276079 424011493 507891749 642202045 562889581 915254813 22260639 640642281 759213293 591576225 113531711 593256515 268480861 101205169 188658337 249918623 22541585 861362417 725925905 562352563 495497605 517798767 844313979 528328995 734869593 582479009 276324727 953153399 439283289 465516129 527842373 104150817 480915067 751430391 779720909 838358907 762619095 138991119 921127835 682191299 448530353 999989695 174537193 251263013 943875191 644080003 813474455 206174387 98564793 594598211 334285097 373621859 413265715 606894665 677184209 648924697 141033163 310754381 810369381 50687901 338478471 896332393 113095781 823546017 207924639 768530983 122171895 809782205 824732779 849802351 703551467 270843253 344513905 384370329 526966969 980728111 348360027 143391075 975065727 973798461 268615931 641900529 273821701 954163929 263388239 177111249 80816057 625624869 642626423 227674359 554742453 137781289 750108609 485788865 326458293 9402583 350316703 845503733 459533859 528664327 299051691 102935999 36331787 45875835 220468395 870750643 471755305 545592797 946946185 806916819 806817497 79465917 859167831 764390271 637509921 269329815 282422099 309659527 815282355 305880263 565540573 750757153 84269031 557013403 863159683 625745895 620350137 857144899 832727031 465431521 136833489 825846743 297043477 665830013 118382975 878243673 301312991 95603085 131876029 61697203 448988801 197052495 474164261 412266421 739669327 408719979 292645121 449784089 106267331 273415917 681092673 634881409 216662911 94118729 649020795 272556149 279575889 283038299 204889069 772666213 328628779 694176621 141755779 940130989 327368489 135241001 132917191 838172301 426145167 723175587 91726065 832774191 80159173 487003227 191854307 178494627 153505375 590307125 675242531 716236259 141152539 70810495 722837217 70875601 127161819 639696879 45402097 211129651 467606953 61355167 417361879 935748287 263630267 889501719 274463157 486692875 575868009 365021763 734005343 381785241 856740407 40267641 302856523 212669137 487765715 312936821 976992149 982970119 131979275 124606047 603398921 975447155 293120737 154546625 879934739 668746295 585332851 31851923 712294347 84439129 369149197 463726385 140248305 799865551 923326755 782867039 781706987 847612525 130087507 723067469 477672907 915545081 111390811 964971661 403669061 685354779 972674603 778892319 137858745 892281699 341223123 580869223 990350895 867589963 388103823 321177139 607254359 935521587 490906563 58072247 135724423 142321765 325535739 52931217 807941567 234376213 793473767 766435525 722466213 616631383 649129319 522105795 859231369 966930225 571560057 758053471 133741155 773578123 725130317 620469461 245987023 330212915 521518899 391676877 968485913 511999719 73477801 936418129 998306351 662669125 286796879 658334681 454490533 744786393 954237683 273793343 35654847 121967889 707890053 414174155 364950111 222891081 770170405 822275881 995658521 318609599 637183763 942202737 863517729 970019489 967185339 428770331 84136537 36432379 742149039 298104081 872648007 542483915 226086827 251728287 606821401 622823663 363292309 720219001 441827495 862988595 505807989 464733629 217314417 941040197 721325951 251227119 692942237 594723519 647534861 514230527 550225403 696751397 73002149 357201471 790490629 77093085 387703537 654420593 739224021 844427579 958209221 658433205 93901365 985626741 253587995 17712539 797125013 671442095 71144725 860197399 625651979 285506801 508261121 667127431 92088661 956984877 654494033 494050225 569594333 522180157 627684513 253382593 775852977 224884959 473622451 145451853 916344969 595485889 435420275 41506387 60666819 80386671 369125621 274147639 333083495 864058727 923703923 361397189 406935843 174170887 754859089 991565365 927327057 186482073 415703321 751336481 175349741 672013647 767754623 37929875 646923167 393124673 39575903 369163251 700948665 116109425 9641147 956887835 95170095 666830537 23305921 482739781 612608163 869576731 185462977 38181655 903798107 445662493 275703095 959442077 478566725 608057459 965852359 880672847 631277049 541002149 624501051 623193867 962451639 243621925 566468743 20260881 647983461 783833163 969954247 802280979 561740179 354139227 332897855 877263397 339330937 679502715 501051479 601364163 792723191 946528957 104046245 480741589 826300049 177341979 618358501 995868837 661400695 259165047 884720375 598250731 86129539 985814937 856451047 989059521 431107123 690044723 315015403 446201775 407144877 556063197 723210843 293265059 128817345 843779865 922807997 262162671 887879909 644222289 731220921 236305491 713916219 171412181 737005861 507933937 511314825 972504799 213357053 904119387 331181887 802695825 966437729 695702659 912326257 352204275 149960607 325196487 644068065 415399669 761691431 201181931 421625079 906808435 96233369 887683615 957471425 496013615 501985461 182920183 714273013 767950029 90975589 386828655 523196915 398344933 47735489 166619629 413732037 217134059 31011583 525741631 355242519 182600257 161667205 874577307 55203649 589968179 332708575 331289755 383169859 514558959 701817791 738934343 622406595 426203793 929528833 238278923 775727123 656873243 250907815 853578173 831003173 228391025 177325021 546171035 64344479 744735081 707634677 625288775 534430403 215164347 514123373 832246995 781527425 710219529 710815461 834135215 40805491 287356889 900121131 819369405 891829719 370594977 104905009 72914497 854354579 287985335 710798867 168312293 526461239 701121885 525150483 705905347 781366009 521595067 120387997 602784341 655938235 978111205 535079237 636416129 306292739 206603987 516575941 853950611 180817919 153002853 438532351 80639045 69014665 284401767 739317249 777465007 105938205 287489927 145951743 572787031 778801125 115475809 376459857 762816813 982618285 82074741 681074811 735013765 711771631 803531821 907816745 30250269 483774411 833663959 868114223 597788951 716091653 580589489 133474951 161356803 167937551 67246043 953932117 635102423 740921345 587855707 138364643 690569709 971229077 989940005 833053861 848278031 14125625 492619027 305969975 842451301 339212535 286255333 89535837 577390215 773132169 337107267 516063487 904239475 229153613 514669249 876894771 327286413 129014347 134867159 950391347 763873187 226343987 841619685 796236899 461753577 720801115 358436149 20593999 942057467 550653889 313304569 528334247 864461539 824980495 150539851 751560521 315962635 910771347 581605675 674134585 222276681 795158595 196489857 109162399 763702233 132572609 707530785 136449233 530372961 540441171 10449601 885551691 242620911 424266983 332406533 227057837 316489463 563786519 359347831 42458563 814072665 72391711 354835077 606565251 934953047 946547689 849480073 784361223 793857695 283145729 103809991 314790287 723938119 85763233 641824357 677703051 308140237 609074089 342525559 655584139 407946259 952128413 436477939 248048973 288172395 762957487 158314173 774053553 795400071 107597749 152633757 747395269 141119107 879330095 194637637 955010235 498545897 202349123 32663375 524061421 579002017 998015939 642781497 576137697 380347909 57154849 135094639 245412161 56952527 214296963 920383043 42594527 33452325 543533739 530198251 669523897 752021141 691868169 332699787 3897583 222386451 850097591 107506475 505790671 220071421 653044081 675113149 422050763 312474905 188685217 830860827 893115775 292342163 117780053 879616515 459674541 645525761 313564229 394263073 431924545 999392863 160410063 510139397 33725261 957720853 86275577 637783595 371483663 786304493 615683447 801516783 306408937 179165725 141839259 97142687 347380325 152227397 246672743 843521899 619526967 457123687 511618691 584588397 789165883 602294771 728952379 474692771 862798707 791478459 468371593 277465849 177884171 191538175 29990669 308038207 849913687 470363235 426995211 546501167 409407185 505409011 422437749 62601835 204114461 371800871 243046881 476888443 401658373 673753563 49603471 608794065 847707517 301217365 662445413 99956933 366803105 360837697 176552435 422115225 512062899 654844341 82089073 490351735 176047649 228502061 383223741 905632111 612546427 942510991 983156575 685716347 379368061 943698729 207804039 955793277 661811211 550570159 545402123 870544701 59889199 370320705 356056169 777041515 209166621 306459745 63645899 270285731 51209267 583296253 818787839 448463717 121487599 984284779 587054715 738750235 649724929 420174697 90953825 777268245 780655161 137302811 982774391 686747789 240023955 918077965 893590315 842026661 303975987 46884663 231009685 649016165 145269603 753695989 33153655 387793853 434337945 980675595 205565747 79780745 720503405 153280681 130663133 568196233 64606117 903592801 229314857 843950439 200860715 583123507 63626615 388521651 979751441 324552067 571236817 696575975 381990547 927592735 332854753 501019747 850857237 252966203 312189443 857302131 207495203 438101879 199267893 677207621 854686319 206105043 583025949 500533493 897126355 824447939 427649293 512522627 134762581 31013653 561277175 249082329 489059103 615235341 61570945 893675973 136523651 220332363 173663213 105517061 598686719 903289057 998930219 313380665 750737203 119600959 71408853 440973543 408499437 518419783 650731047 786978437 498509087 87991867 258019083 640804455 522247397 843211467 401333519 383336659 426264961 682031113 132308585 282364145 382163807 401208949 16887547 85375951 337797905 781070579 787621195 113103211 504283733 667622863 968797063 607522211 514833163 205551041 541266567 305718595 810107457 923405541 971335371 807116025 604953385 396469697 551060347 763764321 56770591 391581761 112448867 513243387 604164517 326450875 53690877 243142447 402073959 545090795 582521449 149347665 534081337 403454711 758562411 853771415 198151701 848237165 43261301 991513125 877116703 272949571 153532829 702600709 410405537 745691347 278731427 703002149 598075151 864379621 1898733 687949153 466624005 461160615 94483083 679299703 695917893 495600555 317429813 326489363 57318843 453511407 322483273 727642823 982432379 509418971 581133775 813000715 278768575 113200955 110266741 568324927 801377259 50163777 950660245 247552941 128896137 916462991 424306219 730841735 570730319 267292713 910237665 152802279 550949653 703034489 240028933 592140235 312077535 245438297 792364429 737594143 696813787 223102211 33738011 780925621 186225497 176317981 184094709 715892291 110151637 345995957 884246537 740126061 651317235 455401279 282138607 765790395 333385853 471309723 137596391 62221983 71852137 534545929 396749529 983667 639069647 903753787 942669649 61516149 906146037 895046725 103671945 127616465 264550723 200074661 334441313 501973913 949044303 489590333 734640989 138238915 967433941 131152735 701476271 283710771 826714037 270082235 479410733 143485873 837190909 578614643 758861397 671119087 846414045 426111753 954959443 993141125 650203317 505613933 81858033 353753591 75719683 340885745 956814759 257961387 223882103 967053141 177747863 268344307 215917537 594161341 749478023 928687369 369573183 319101879 897561831 321724687 793697201 221740343 970092491 500907277 244030597 904820635 312081399 297994741 915280685 304983975 601750735 710934431 727168579 831350155 597730145 27680205 244458637 783236059 347544937 456333609 329049077 125937811 487362115 636326469 294143631 658129435 970559989 190709399 816988051 643477565 741723185 170910081 99962473 737848111 262650701 23892303 555368345 851041425 87787337 486545969 884017111 314490981 606992589 651091775 299111677 924993049 964728357 963358587 250666259 172119427 368219211 569335503 132487487 34340321 392948703 973033739 518557397 553267415 737372709 410415849 264972371 51872625 67341327 933392139 477351515 879862055 621318963 337055993 117290167 555221 206577359 849413155 232735067 401078721 738674381 388756197 284054883 96250517 395513533 6093183 819264017 493550699 635061969 200375579 384567249 174481341 7275757 79455945 639286071 248975217 841584535 802165891 320485885 446659029 484639999 322948651 204753927 314306461 601546233 545260679 114253919 992664809 720466185 821393997 405869113 489498681 247717713 341929747 190790129 851741569 585722789 66579035 352215563 23538449 774793081 32280717 331790383 833274023 957211631 654731261 227580979 71552619 689333965 636451299 454358801 285103079 381246849 577758049 581588461 789438739 113889827 268173437 48662801 912951625 67947635 149322541 440673011 526679123 825674967 503666247 982776619 990148953 587382113 864324747 180581247 447405557 744324293 63079335 506394839 210899231 625160547 667914537 733961289 340398657 895558211 222754699 260460047 418714663 55309333 615394093 422372493 915300869 169459247 669685595 75833679 676617337 104816017 692597571 898214919 78141577 370508257 697921281 569011599 931467937 564827247 6712979 831284973 921870231 23926065 51243239 984501321 668848039 539354057 91609291 84190715 435364729 536659069 489605623 537121657 456253719 463884093 367689745 6546025 729875703 24262301 992913821 139782551 46949113 878028513 72729871 180337141 130512735 240761579 700722113 998427549 363816919 505084751 444987635 43834581 103988343 589236033 140447949 795777799 731817661 432404899 464768355 897976773 343463053 456508409 227761067 884069837 859151155 829383031 625082505 925867007 540628583 673364463 541417927 379608169 800515397 199146723 6565651 823402301 827758931 624212089 346274567 30328791 481420667 437197953 471973927 124805049 884509463 14934899 933913049 50806159 622302433 703901039 606124913 482962475 387569663 756222777 77314341 966731147 237350655 307509571 358540569 534678993 88398039 998247585 911703127 797972551 485308897 936718359 814241229 572119137 55552229 452504841 79286613 811156667 833265679 991977607 166902451 963320855 866048501 263873097 10708621 121788513 744857749 619664813 497567605 635560365 710755409 830808763 875429607 202654515 4538107 110449441 97490497 913910875 451314883 257956663 285974477 503565741 504601931 208004863 511047101 574759903 644809877 577884443 638959401 520241353 839481361 629127647 165058325 199644783 987987857 212862527 578867047 639133693 38696533 513137373 676109809 693958343 606086657 570614527 299662701 364467527 142175651 68127635 631682685 914291745 468127919 547107889 104830633 561580831 716308483 325449753 267180899 666981431 676775141 797170993 231371523 689841281 779813377 677589257 261386189 65929025 361374829 703012825 191759591 914410213 104340133 853857665 97063779 8454141 552614289 626933381 56914747 987900485 847818619 439862549 967003217 81186721 819866905 267721739 818285421 847201563 847339147 404496869 819298625 817439721 519625299 731130825 497005925 342300771 41531999 446062215 500713819 166714127 85743367 352071573 832361869 583219607 484799491 101158933 708891723 126128589 652740989 282955725 307719887 73271469 185557761 556076075 177082427 113902427 866246275 187441481 970652311 773447715 292146017 260969699 610580437 341082999 549643103 467625827 399598285 605675761 196509101 270261461 990465089 971992151 256968159 87128565 428672987 469228179 311632625 409896733 244077355 198802615 688411209 620843865 493335211 814084863 976582837 61101397 952053947 33656785 825856873 481099881 300141223 686395573 446624517 921248149 361062815 673491295 148660875 609690239 523276219 334146729 930326633 661715063 772737789 304244633 287542645 217278325 388097613 810062425 997429227 916186393 353785471 409957179 179426419 30820263 592209739 259352509 190189847 91488015 438112851 192767873 812639823 477401067 724326943 742766417 477419511 156896889 227905311 817378337 27216979 939768223 594756783 983079435 448078611 579191789 795797519 271697237 309435465 715039897 133066087 998711147 921032053 172883589 659055819 831919579 860863611 868760887 594248499 320590181 931986089 682728413 695896449 791198955 355615667 172930129 409619835 685086327 385579703 126509583 98212055 584236093 30080315 547356479 787398185 669629337 243811371 916149171 294749687 288052749 934559965 79911391 724907433 668715589 321866253 654354917 736606863 721115925 388564707 627520649 630751969 575731319 26817001 705316413 451438789 717041295 266652183 557606423 266215743 228756135 156690375 608725719 916229955 660897333 259336641 353423845 854420139 515994577 836825139 232013 355980599 814713407 133973423 417945033 430482831 226463595 690812469 742729143 379137607 129110889 727064105 69982239 335088343 65240949 235042135 2113713 643155103 521326319 379226615 337801153 98019817 678430307 42673573 115630419 125913321 572782213 831711335 439011339 324501683 651893555 981305769 562201145 875713613 238921323 880854847 27791059 84849053 298243421 999286377 912093307 20435575 623875929 258230989 795383927 805701521 776342235 298867061 413899189 434005903 630297223 326702551 154224079 537787899 473867817 783336145 645177857 711573571 599830451 39932329 667293235 872110273 878392383 722313485 85688823 265155513 766611219 710017039 749632897 208662609 960039063 918042413 206149811 386430365 32496483 825408847 849598481 115639187 768742701 625924287 297562061 437906967 930356699 950592565 933252285 517624817 706894969 108090317 823829857 507889107 498388537 910870027 624087263 464897879 907491189 584326367 686636551 259309563 491583155 459413147 940208209 700455469 624775581 305688319 640558301 931464761 703285767 94229553 140830575 323762523 158417129 255152057 871338359 992215733 798344043 418372499 614298383 712719951 586803157 926488343 781608947 330045979 779005595 396139021 850051213 413455603 318525271 289466273 980682475 370837397 608929743 731119975 723215301 35379629 583651053 498904161 890588025 946728139 716684229 754646511 762459917 568183659 255384209 902238947 362102581 833370603 688608179 173476973 222741315 931392405 457755321 662124335 241397305 125854105 628390741 61018155 529908671 429218837 837802595 703795663 154518817 1370885 771644645 551504115 71900761 534479701 761714441 209784271 286406919 258624469 279040797 824509197 55912815 23248447 244990625 553713849 542523779 510082613 442570039 621072711 866654681 971904575 805029289 800781973 465405105 863641295 714766061 375355625 865350897 635057981 982581019 635996653 794115369 993015499 495082103 742714299 592160913 796646307 911509613 236397517 427544071 297154517 852171921 610236939 525565203 5911643 987924893 295132095 96503013 568456215 163231349 219646623 18845523 530139345 630037283 935125963 374595547 27270201 2257373 321148613 554267303 40161515 942690811 76241531 782232965 319320937 835027203 543683651 4031723 556585239 835958173 690628825 757837563 782233419 277782687 749183845 360768635 602220093 559908867 63059059 937296345 685895695 790197229 427101429 295436845 745764297 219460521 352900941 345410105 280748635 405616807 874480703 203698527 73396641 75656071 301270517 301378227 270133595 641524999 209692937 133898217 255701555 612129559 28426613 643301985 864375481 928114119 463773599 251337253 761637479 561193045 981850453 732620511 416034461 990135329 489844939 666491115 650754471 507331001 872514975 478936647 334148019 174347213 362704343 769015705 977739229 125192765 485051103 59154739 89227557 644890889 756002445 818100231 382436725 637267291 206229023 925100729 850175645 588117643 319441207 118681743 476072789 908419855 248190693 132397689 961665091 641420175 820039327 144214541 216887531 635945427 270682945 68022409 21291715 517298637 726457871 116616663 862153759 807595677 583935415 980568453 889796933 831282051 945505105 242829769 870196061 559098091 885055317 996175493 662681463 916751719 71714989 671861311 303584139 462918837 548326309 965136165 741924735 27978423 727450865 945378831 413514775 278783095 826323631 94513021 291315719 126610729 617412965 622773399 98148585 32361769 756287231 823243305 303249981 670300409 432147921 619665837 840838763 154039365 182004637 706157123 477383623 581328095 283453059 757890991 766440327 982238149 409909267 135175523 991381201 259781145 632780353 578427765 603631529 829631013 280898157 168808357 187828227 773957725 810034777 148519001 950427321 374985309 678793011 931216801 384425609 777999849 119486609 393804341 360218401 476541417 587798897 956514419 332331021 425347443 491612471 689722723 725968843 539331777 271542447 637072819 441697465 870729271 280993553 215006909 442867233 935497055 830649081 536583037 152006965 872767469 977867627 815351709 883065871 129762493 397242583 291234411 330028205 164690131 964569617 180802525 423032315 416720471 387781973 216487829 853612235 365736863 395106633 945127897 569734867 862180901 113020923 695981719 728798135 606684045 155609055 858410599 244542465 56636579 177317075 706805641 261193759 743966807 897074461 771013861 150999915 753347785 888986729 412187399 92157735 988322359 275002573 114626857 927395199 921116177 457720263 239980587 186932351 549522407 561532729 344048017 566188323 406180469 135900275 340959885 431259725 972488863 29791531 915181813 781017541 670740593 600833149 192071 359922493 559914525 952475117 728087213 196580173 374938365 495852649 384419831 740018809 703764119 764116809 703944343 800393767 898899861 106917703 786349745 862025129 579791561 304379785 768565515 133183289 271644719 783602331 713166869 733899513 42862573 42876789 222853859 797605361 119510857 819002995 806323257 530835219 990086075 490828891 505600891 639074871 371497949 568829273 360264119 402175775 144909937 868234755 800231081 652085877 24766819 382610517 82112939 363253451 965826757 838985397 250763465 92321687 33947093 501549299 292370863 11798589 398398451 221338943 131031733 811794691 65019821 832128313 212551643 974425631 243535285 955971305 989742537 212957863 668833255 967260087 30325963 36201885 132223557 919330171 474264539 811564267 472187899 463852915 520651161 416137313 115859037 462242625 21421385 696113337 157569507 257713143 773992925 174203541 213968181 653844231 711128299 928774525 237756955 319286095 300282801 741164769 855284361 133642771 866498585 958368541 304767387 166046211 586387889 194077811 548823187 695502387 784161969 121660935 738277343 705589535 771089655 997258479 347010061 286440877 757543179 792828707 559894749 582034987 384217373 310039685 88041521 692531021 65516545 302894557 418771219 595654449 16128569 289782747 399173305 266424413 298829549 386583579 400604027 162779325 516494059 890369565 295711709 342352039 672960937 82577483 327955339 712853977 582554697 609625333 521320025 720584309 333692049 325214547 746857793 618782221 199002095 430715019 331160423 258843793 857840251 770307747 72000279 260963683 4783605 780090251 613787329 876450885 653285059 392078879 736351235 67312743 377708791 226921759 765876897 132563291 553775941 298901555 815037315 763893281 599593485 253413615 882732993 672424989 246374999 143408075 379750801 513655837 428175571 85507367 801283929 384350549 282628823 459286607 954624163 360792163 952621411 882544753 895385893 693564493 85913629 627996585 659808183 987806079 72682069 702114295 672992095 947975373 440587777 962774595 521258567 436024441 67902147 362681185 183643329 870113059 737166561 404236551 177665609 367618779 994769483 296287963 366106245 877553175 464827797 496942945 677979195 28104881 800510209 708321037 854983779 365323505 456546679 848473401 202634519 718825093 80675205 845831461 695109785 820131711 231788641 679960313 113958483 316194655 969432813 13217481 833417693 426980871 946845869 294640523 624116717 192849609 148728019 939699749 767640427 973158743 630371127 117325915 431503455 887683279 495349077 521235937 758827773 996179125 437478229 743262033 550132895 49502201 874831623 287359273 211209419 732038639 579761891 854483669 534615083 979663699 117986057 631187367 192760211 939022155 497674813 281230293 711590139 758116965 837132527 504137093 663307915 98305941 244502073 476595643 19106187 12213051 86279385 756422507 146967919 269674521 517239861 770578029 615585491 601379421 283982685 10415237 275390585 46010013 519102473 33218649 370232909 90428629 623930263 222068859 314294371 231670637 119090701 282051175 678292469 533570095 236570399 972367739 221162087 565250899 903947551 474572801 587013187 610249845 172834833 172446251 884757053 182554009 628686999 662108945 871900209 235984943 908680453 414133175 306106401 479269897 69849167 490597379 949696315 846323815 821088023 735508935 4606669 879395053 467980449 827536317 149827415 206501033 84195807 106069639 222467963 695206671 933506153 77619117 288347397 680695549 603137915 661758625 308979173 691506617 932853501 184445885 605372729 921914863 853017727 164052799 337867333 859634867 499941433 585248339 933303153 732644999 711254537 987862537 857402195 437858379 756498553 842407515 897920421 407102031 710542259 91344171 894921803 549305673 598796947 838575425 220969553 431403859 671652759 21099343 691539687 186065655 6846437 245190381 795534445 573563421 641104461 334444957 49124705 611485469 437933125 512524233 601037683 158281653 588585199 186716609 893432435 256973833 440673809 725287617 352996701 641205669 349495065 110688741 454534999 645386369 294907425 614644539 753408679 244305913 376302821 400086195 545262021 713236435 539097039 685399333 362889291 948330811 610237675 100520275 596996601 412032453 243015925 32041703 324612543 515739761 897192007 200229745 264925869 572358821 399885293 152576875 940790017 368868139 782126739 770364213 601090843 829660985 954961809 203933723 219568777 792404333 858470375 826358093 785079037 983978189 34887483 783706851 815552851 344648133 294682845 979283167 805706891 955686187 812221637 439242283 230543061 939016509 894695059 305827223 445399171 108395679 133175947 256594141 436139791 86852445 445712029 300578717 199846427 350227951 531342691 111539299 428428405 306510383 948437275 480320925 137496335 4884583 863540395 538400423 825714181 179498047 420828835 542828737 227607449 213195217 615695417 14534165 744491831 675159703 128992335 637284531 922924659 618914935 379807339 638561171 859408389 976058047 218268603 695419291 116526805 859519779 757085209 769998479 826052331 800691905 455641345 831313445 189079163 796342559 953669787 834667251 220950241 577098537 491039417 278370169 223163297 702835253 616602575 844222757 17234275 250082559 602254847 142530373 991926525 880120493 557819917 29111827 621170281 816185295 976801387 611424175 56920521 679735125 140480047 44164387 707042925 880743329 613813785 163637603 697386947 833180533 698777999 304554563 147609705 944298239 15916963 521456009 993623329 491000023 457032201 208162269 714262489 90520309 687887905 733369293 954155169 643463619 100164595 501346519 756392117 998928653 103445295 656370265 635082617 444310279 821096489 440494751 75827575 658096975 52435685 230356439 299922789 553719273 775136263 873267995 442066715 520983621 912259551 737226095 749609119 424226359 973863779 513390777 693922585 849513211 563886389 1925325 292197343 976256055 67106971 497992291 790723949 966298361 801462915 709961243 151439971 972599479 954249863 282314623 247087245 989446731 170460131 142075393 122428897 299976445 164873343 940593659 234296183 966637433 252956653 552157611 834163861 748071125 889365089 140048957 688564645 99778447 551911869 639724739 70520633 604408459 221149317 686844211 475122957 774584341 783381739 971255665 90373383 43013861 605301189 170389575 529300015 669057303 638689171 188558947 439634359 925246255 335719803 307135839 40729599 907733277 635707469 596016831 41084295 371036979 145951617 764879593 519275003 39132465 77317685 653696047 967391021 255168827 227244083 119592909 930542619 428123871 736734949 631293663 980550629 35380241 805399655 86773109 72203481 860307503 173285493 927582073 185021801 908147967 943522169 145743819 895387441 356475309 432472961 434189095 836498419 751922127 164743493 517795641 19272859 711420001 790080289 488779155 357117499 449090251 71503905 453916843 684167953 487567319 189942513 867185381 170019199 125308605 314114795 354936201 833874191 437742615 947771147 677821897 949337973 86735087 290385147 556848061 914290573 827926445 137105927 158346087 150527577 253237033 731095593 925440433 38647301 954183073 246426369 370454891 2432229 780391865 189112531 293417041 512493171 162286463 440569745 988067839 956786769 828022119 848135633 456178947 15112015 46828879 207758291 157592525 759720539 552623483 749675133 630265269 637475219 566828443 207750239 579098109 47206201 220473795 104298673 738143439 638001339 119146351 565471825 866658363 65319847 232583813 983338183 961367355 780055743 828261971 170811203 877535409 306674399 189712015 961394587 107251813 158187033 167607891 390374221 146442761 860950171 218169127 13279875 651959349 479812547 828648951 52607243 496974187 864719125 614808091 693114203 700523795 661147961 59937355 224440725 343900291 590289669 266908593 673271935 888850927 748931701 559795927 235043975 718368121 920632233 43931829 3519173 507033645 381153773 34633127 962275833 785240825 292732599 597004401 496411019 573786553 107400351 472165187 851246727 606751277 767829611 52317361 674069673 533327103 70346755 222586039 625813323 767176383 65088383 356999099 603733111 647945447 690286101 369888651 55391197 778750167 743484715 541602395 21931475 606072539 805323085 559031753 836435545 36814625 811655981 143144923 444158485 711662277 15799461 722878973 482246487 535225543 234917307 5529093 217764119 590437137 889901465 451250479 529794035 285981555 994350481 208987427 22479667 361835175 454190625 328873195 389961671 253602637 273492969 727093247 450052421 230634223 981495991 790174009 511767275 846218497 337692797 891707873 887063715 774227417 106495573 25922725 104031227 236947383 195202949 463586967 917018409 410446281 708328055 72691255 661510671 83308317 619091903 77129833 349175091 938066347 937899799 576721275 826942147 961311065 976471137 140530209 287799191 184424171 305385131 527085689 649580591 953312021 827068199 6239495 588893107 421197169 216046641 737171899 153040111 462259071 761045579 895803113 613391197 587913127 755394337 109049933 145607709 913459261 921514119 230062095 154443507 885711993 598429047 642635193 195223889 26277243 910248723 501443393 829840717 411799885 865964459 49477639 251483303 368463329 998047149 962053581 118815685 183573521 272203447 569098177 83346615 423277211 17479307 697578361 555969077 990182701 842704917 272832499 843198109 321946963 134502505 670464657 887103735 852013451 1284033 693575205 6042609 315324467 326455937 700939233 18164453 608087189 28709427 510125155 469044431 990195683 233928845 390919855 213141849 660130359 32164967 809439029 403989969 172439439 314319045 856593607 875943981 530115289 720026069 609954213 724966415 780153569 76042727 118950003 615228349 237700453 740978807 437760831 414375717 509226499 154280745 607090815 398402783 856122693 116127943 414613005 968478507 658774941 559231047 436471857 945142513 278845027 60955073 137952407 900963005 895810779 745047931 120332117 917472713 933677355 36958941 124708839 639274229 906468709 287817597 874433077 171242949 653179523 241049623 301782921 372259179 679818087 304006027 446974363 793861565 233557465 269398501 897110405 963592249 941674891 702352731 928507601 656521481 121594647 117739335 736632423 754996731 604054267 390721321 88286623 171408775 482544291 419979185 143528247 363801547 291187039 432000943 469293651 93055375 786025835 764064033 473922945 937872707 682098403 808753191 480392117 580646395 479525589 458513423 334796109 117063803 941018161 972342347 976393487 668967461 297497807 283057525 813890343 520414221 575480435 965785683 91158569 344952297 170668483 21919439 218349591 35889429 959892817 246972667 176033617 651663261 945775255 250798613 249971111 280000813 701687 180471679 983006543 341490205 364839097 346929603 856842211 824673901 897047053 130528149 665247595 604603589 197877263 809432783 154961749 444759921 555612097 263827319 175498611 957619051 408605447 679462071 641005315 713662803 314074553 786218979 886610349 200223341 270953611 743326069 258540157 366170027 521939999 710463503 780245223 632285347 535513089 178194817 220048839 188887699 965438369 407991737 860226151 427151717 618317143 724946901 828082033 177406119 263498597 454816023 450210809 270185105 98741491 524999147 527697535 793435393 616485143 454500581 317482471 761467519 63873475 221180351 528485503 928833337 779176159 933826651 310888189 904384009 383404337 901808073 595338619 359438187 850900329 517016375 360973953 22704265 172406563 593471235 354954235 880074289 476801503 708597679 640039487 849642457 849101319 22382825 82990857 694349475 644320747 893039745 687985793 47159891 880171717 114822003 319216689 542484573 487757749 282805475 858474001 52984531 12366023 670868763 763965821 638575479 365454313 528742545 665859641 261976751 647005687 541245149 884229493 784811149 909897649 991694275 545665219 778316229 50700991 497444913 151591715 365271735 949522613 10550583 706345977 656535659 699687435 452452625 241457171 978819985 658722593 949249059 327451301 567502719 455686979 296662009 234510413 82859827 691130271 34359365 857953295 389160023 464191057 405196769 732876379 601870907 472808793 863753171 234440709 631011025 978651039 175872579 756839241 948344765 395351543 35357575 518301903 775183685 498367513 334316315 418055329 776145751 62317477 918788255 85607733 860925069 843203877 476947681 928718443 176369955 387477773 392774355 416576133 285130243 485750961 329255055 981777201 823394235 532256599 940484187 292266119 851059585 931886885 104479649 889593343 675747383 737264175 346355699 142347651 241817953 139859309 838154767 582768735 922377265 924725695 323812565 404584007 99605631 639828719 280671827 619070553 822360517 545807535 471463611 756477465 586940977 597760409 44338025 835102839 776690061 266108459 494289375 393376965 998603859 183641555 65565385 426664899 673064099 566540253 57823993 599463063 439079745 885038727 223261293 672228811 445534877 218629103 944952133 559612501 24025041 602665759 474784463 234683027 249679259 246819081 24921727 128875339 980271969 161363333 212493035 927585961 557900339 41924183 564374237 420552003 368003017 590255653 740432443 590978839 808731009 253022595 487634713 466734727 141276001 645466599 197799605 314589541 427242781 201154741 258543217 175402467 877116167 247609909 851057367 937012637 890832675 992352921 216478875 687303325 708785683 130929913 267580825 450687051 19004459 82051161 117186005 858931841 874250847 432308895 295020663 599756921 203944273 30336925 892697301 258371033 992103493 2398223 770919273 331113901 861697581 656235155 63752407 105958253 614887583 186402995 632467689 17817591 19043035 926796767 593597845 221719691 716832969 722984565 1662451 703001563 638219253 153707697 468061511 673092859 811089049 643490751 650991615 44227687 914287251 183891119 727172267 409589511 143279213 319534461 590602503 844883237 920451665 190308357 192279287 143215481 776622363 706823957 498404229 124605469 517860169 916011869 431947239 714872729 419131905 753396341 51970165 245664731 187316243 899327967 531156405 81692469 638008565 870765061 971946319 406141799 598419913 820658489 449330459 356020371 15800405 473708209 996737039 914051147 621236743 273720719 326512977 373202049 172731641 166984671 72391469 318262419 498017511 797978001 340684307 834163269 522899003 709459837 329400739 21605063 443240705 732740709 91349917 754230189 607582709 585748979 85140203 952101363 989710705 696200631 187707045 298560767 843946113 615696939 347799809 347091871 701995473 959430065 305194599 168210185 287648441 665011087 907244637 797170135 935376441 986264315 635766939 448846097 477840887 564315659 217163259 882737955 713836355 295156417 632945535 16846563 162604053 732686855 218985299 795708047 407032331 792531117 619376073 492773577 567317359 441754733 854009439 569263011 209251883 13012199 46127797 771915661 706471643 104614055 763685785 727651433 478814653 25298459 25689597 193307771 438103477 519419039 664522237 567626605 972467543 473975667 562486747 37921113 833664985 628946625 591696643 102541753 633446425 986357401 605978377 735343731 267272095 44803061 925985447 307073747 84707225 329752501 550229695 799256723 387079647 594523045 772355425 436279499 339454963 326392179 784725179 751946497 442903543 240188859 559289387 259688997 740469695 156137213 67583795 242979211 835477439 625931425 889359487 745255921 429124633 527528443 69870819 940025465 208708497 275453763 834056793 552389043 272129689 537982617 563031813 544042645 268768839 963286279 424992817 738992505 994887003 264743297 878852433 433613097 787305275 527948251 431702273 773966797 472168697 659117019 670228997 23947261 875849801 237646889 907915333 95478199 629066379 687075667 314717655 236008799 162908103 614288087 400709109 660863171 172282795 394196499 608857091 508071445 601606801 300297043 217928333 246994679 62445687 262261957 108871747 836430189 443323907 474233219 764538629 596813027 149895557 924467857 934105809 40467759 21366771 931505621 147833559 289928589 54922223 574310691 506637415 725861283 632200895 290633011 477898749 313031295 511819089 845541541 373922877 678612373 27513661 319963395 539597043 413222341 632531397 974950847 685561871 872349777 332173515 24279347 67896497 360984039 326105059 66310045 528272919 959280541 56249665 638608427 776671921 821362673 495219911 616160233 16769807 308509125 294550777 516703957 609373935 33971563 718642697 145649357 840241 968919955 650180301 480618651 85072867 87754847 199128005 207912689 633118007 972818003 692918295 212670823 270648967 495462745 189946003 857444737 775692377 758550475 166929073 53142949 654901847 397636963 766930831 755090469 544809555 473330247 363788021 465675837 340170059 673803269 668173395 989429515 418377311 302909585 61922751 941638297 295240157 167152969 396275959 901773017 316106807 230824435 646406757 571946147 243566345 952722363 118861335 796363961 147180053 403983927 413609669 310483653 517502023 709508707 803262667 805812313 588102835 649805223 456310581 125886443 884956049 168708301 821600431 105243103 209942857 897777931 217780883 252084093 580295523 326726401 216913373 386337783 660909971 438748081 433142837 863903589 161532085 16443275 835536621 964265417 406780875 644562273 402792441 681592845 669284097 370154355 386500859 544751875 936082603 630708837 783497783 120126561 21439043 249500227 11310495 921504201 761355117 317665157 161648585 105976263 59643635 132389895 300119797 738804939 763132361 20411407 358046729 24801837 286987275 67940681 389766549 601543983 628489213 419298249 328573137 478304251 299041031 404571409 376506523 88731297 340322495 274586881 135016059 547792925 336594911 462968041 968118689 70249803 117274955 257606269 49228257 770615289 83647245 951561949 709765823 596343255 618527067 296997259 876808287 926791549 610544525 47080821 833922705 275455853 962572071 272142833 356841419 916430097 232112343 518709181 463758895 989577145 397949293 686701053 211937923 124752799 251740389 892495677 726757173 999514339 523977059 506815093 23904093 145240209 813854771 914390529 601696187 424812953 861183685 841218725 341465015 86007249 696809913 975574673 985786973 684680961 8127949 507457111 65481577 834262987 794415857 157716983 686176309 667028165 583560501 463238613 571771083 336146279 547161557 757289919 404390619 581453587 172191287 480463849 440654011 286991887 756800737 255805427 802309227 190639249 165728395 62923229 918936721 89248687 442488591 19879195 74780541 9868905 103067245 737473915 447745063 373688493 398081493 924817985 902873389 132442185 900315289 271159565 580750807 726881271 845453105 803387633 106548501 293565527 529878595 375774045 633469051 568987381 503014299 467776307 975296333 830490431 342237995 561137077 982890351 936309137 754387983 634551699 414419057 106291243 427310985 997718495 654950025 866505781 513049605 522065689 511939481 210821315 811548693 421131301 448359973 982133197 650766199 103841103 52441185 353484083 46795789 681820495 864767263 817306047 410562785 998978113 631375073 593539109 380826919 302616747 643297487 284662265 106565945 382017145 36491189 603990209 778151839 360747521 288176909 960869603 641681919 705812735 613546487 245205171 785183277 910780825 698140727 340469609 700480295 129150813 423652671 365379621 466183183 468176961 896993573 728498929 442588975 837315487 394444711 139351487 766481659 292693311 850863409 222056809 18263823 480849999 16713165 702416047 428193581 925927521 759254069 514523449 832980035 761049715 807293127 536841883 162078559 765307885 436310667 492355403 301811905 305204123 709377071 40787373 139464907 241520815 991122701 618485001 204567817 32731595 561202721 800582803 493521707 872202739 453254421 191516255 41320975 571314577 96856887 359179379 228549817 421123455 586353277 819770293 566818129 604842487 445691017 392482039 242175533 59648927 629767585 133095413 146004167 948140677 344228787 916423245 27287235 255366941 986853207 947627145 69279469 5234501 946071757 913188123 768523829 331090755 560736507 623228251 877131449 146155203 30605427 184104589 875610813 522089435 332859497 379214039 605924267 318797833 231438781 734143051 252262165 722495279 413869561 804987365 43837879 179904159 263474247 626670211 546913909 608919049 602721923 909960175 722660187 180410511 84090411 76105177 337206939 4385715 484910949 870707423 305931663 425477733 167404545 769574781 118796221 525572599 881878135 230146335 842723789 597176105 191622885 13848341 871422103 25762079 733190675 285458331 411096081 892346471 921668721 336970959 108972129 24108533 813658899 349018555 453581523 157632551 192444605 581768527 627547865 164201409 828967633 481708393 941893391 995760371 864595555 13964229 271693879 818446929 557099305 930283279 539410491 975970775 913128063 595320791 100271411 828797933 936736881 441268119 553958487 494073437 756622507 940999089 438178057 804627805 25459589 597461613 825343447 203980941 215464703 129272315 63728499 77433327 361030593 454075769 304004025 209279729 816082455 680941539 792488619 9084265 386141947 91260197 25046901 250894997 118823181 238455567 65692521 149194265 550369169 108051547 682023173 822983937 8854905 781487529 849760491 314720965 918757465 12961925 346280165 674623553 575274357 440778847 402058471 738093243 313519281 628399503 300024845 248250077 172445 965148759 446525849 708024769 12310129 735269857 478255607 318371297 222658827 261980477 89253819 786047011 601772019 161780325 906265247 646081749 445882711 228226361 27566215 406409387 994397713 395714693 562481789 794172357 265876637 825825527 664095669 93711523 604182053 942626859 927357067 485085497 440284023 389267361 483587459 620184023 267699209 637524931 90737221 922243131 714820861 375616737 43601575 520751757 151517207 79505461 452128675 738946135 611940553 479344351 124514397 808791441 808161579 185676011 888068385 148478869 537525497 99344967 852508255 687293485 718479515 923246543 778088373 609803905 454399009 579692611 333150439 23024683 553144389 916105037 341367517 635469859 157019489 434799227 639912621 50914771 739774591 602879051 885555859 827509767 489891919 357452571 427110127 497141235 305257511 372365367 137215821 726313013 765753605 673529037 803742051 826482131 279193235 503959801 127948809 917986617 191599647 346481339 230004805 170300221 653573537 159286011 650233921 466133019 357647543 261674125 744235087 50442875 846847913 705949481 466784747 406319719 942869093 782200943 278154937 748345429 785685381 797895913 863911301 460247589 328550725 298105099 155167041 352044057 68627087 312543785 693529097 776832479 884533233 506340745 650077213 910931853 267698849 188343633 111887085 988874401 259502977 890337685 824609291 193832703 530030613 759126861 388428847 529684979 217403279 707127129 200414785 733285685 338143685 559070083 127188039 219248097 845405751 791223677 315236473 459344253 227314445 311778785 341297201 745298675 355823123 882123053 836632817 841467805 623299523 257185487 809839973 262438965 231551547 588791315 458440801 365116385 522277957 397562167 296205789 173444911 363088971 271638617 789204481 731943701 5463913 41049731 127354389 738534381 144863325 698394279 723207053 505995903 808914573 56185503 251869445 660215543 600145673 957995561 984814399 595347947 915647881 830217713 930646055 409454937 157606761 810719369 519299025 294060963 480972981 646836071 907843959 252413083 434989851 246455791 626060411 353994865 419475183 648176745 771158381 583818951 961833011 76712711 79620347 443470751 367896975 731854563 930638595 375600745 738983249 328164603 19128711 785367799 613029999 724737339 176927155 154924681 278863243 81876851 612874971 655772867 78798825 907942495 187010425 183103155 26007675 207569565 731133489 115776973 355415767 928021431 301104335 588875503 455916605 579812639 23000899 125192543 811798677 466523437 684468907 597489609 795508075 391209507 586953291 862676803 316400377 808345899 211063947 905561161 491684637 309480277 846801921 82586051 346782815 325224093 787486311 401616379 628069103 420988639 729033633 428562343 217054627 741507305 268557499 250930919 219366649 594918763 132266725 786349117 862379035 983441405 278611071 995038103 498704855 229072931 795971591 610013003 205607845 512243265 20909357 889376535 382056611 688796335 153021377 86809887 339153049 391416481 308435135 647082225 631799541 166440249 298210125 698296449 330780625 408935043 842486193 69705005 844502761 657410671 513936483 995260089 66657959 426065877 885840123 226385493 705428759 442987383 49786175 29940115 546224371 747674367 700354585 642958709 931314843 871827453 70541467 715004251 686377749 123664107 331525379 238186517 792263951 62308907 886679473 293669079 751298529 448066309 554495539 42049 593020043 626152617 483965499 659858771 817879219 273136947 681880227 816548481 728185257 669714595 82714737 218908827 387055461 858527203 67214287 582213599 630163845 655754691 446854929 334809333 418802769 971063293 382737839 846243303 276842425 299846193 874857297 582588205 566881363 280843499 895892671 452300451 821812829 931125913 834378477 180904589 465964737 767484055 574622199 826558107 215455245 669643813 146454559 174153439 79019385 328671597 423591633 390225625 556193763 881375871 568385439 153653357 120788691 919262805 400641863 844912873 109882743 426376655 988787371 202749953 900885927 461992121 733108181 705820371 392848101 45232321 135166201 67713253 649127251 516551299 812486003 198658851 809087173 623110783 854733509 108831971 738561455 995766813 331657117 396967649 287829043 828974769 506067145 744372805 351195413 537824883 479169609 198990745 881925831 820866947 552464447 529266133 380923999 65166061 215410677 658028883 999573149 443603359 842137313 472195803 835478247 98947957 198131611 105758363 855916111 55464493 109652199 689189157 479984775 736624757 436391091 278698105 130701045 179136731 403684623 783840507 551372699 645521623 444346167 6045303 542046249 789555661 862786703 343249189 151540985 591862791 59548065 498229921 556588041 336613299 518361891 374322417 472646143 104277997 501889261 630489473 994627883 117435827 948460291 38159909 558290051 830760691 170834579 305116189 421461161 848809337 341971693 958525199 836546275 207952899 557899917 817247749 760277023 295819567 590734361 799883381 78814197 976742023 828363607 735994685 324208551 787969405 680813631 24895907 80154903 83478635 254241769 319517269 196103129 608733071 587390363 584442469 759399969 718059031 128715199 350295633 936147919 991281935 929450215 372620033 338861933 451184757 593549007 644540095 439777575 289012263 246700381 186500675 774194645 407049967 613452183 688169897 191459319 776449919 522257077 92738933 649439411 32741231 805541649 284716951 412658905 427116611 288635181 564770913 555936737 460852833 698282675 940657043 431108841 221223451 785702267 544867665 180766137 610511533 981690491 276327209 985516993 387015989 440963803 330843407 483668759 639474621 607237347 693162595 318268793 275717687 659361031 616948965 546079057 517693819 393878753 7878089 796136621 132840013 435194935 323104925 15078467 720622675 796798451 515411557 644314741 507095327 932138793 255992961 410997321 405957931 154159635 581118403 219594861 210218201 240566547 362152795 325495355 97080689 252932535 158644203 319046319 507090469 712993203 422558325 828472689 817784589 422943197 901036903 238689747 608607275 717541695 474252185 205621193 812136041 65067007 592024899 814306037 323886745 484379763 575654159 274440091 87514737 770259475 562897161 320312237 726300565 8558215 954625445 301996993 97561229 855782039 469436609 415245847 555949513 847225657 495792291 152197525 809105061 237319301 473044213 970811083 182047843 408536767 660437969 25382129 189627687 68343123 210430129 140661477 327381769 13784021 749039485 108952623 461411581 630366463 819643775 375628799 264528357 311643573 391000685 539422249 449728909 16558083 400979813 177864241 207531941 919363097 908323311 488473659 548077765 343108949 938099443 39742999 838219119 709763387 317799881 808331835 249654541 544202867 476656429 527115465 255610095 491113939 295233607 756813447 699131215 452730709 563441059 582556131 409535565 88152351 365825587 426266613 411520245 309079159 868437081 682130301 372306999 808065749 890030297 126164451 884919275 83809489 600464349 961731635 970292691 987280177 711355391 413207079 67673239 532922845 697279801 577734431 862549195 446220523 531950577 439573279 498362343 877459863 629767669 122076633 987262797 286326593 669102969 464157603 488331587 666392695 352213019 266840701 251380735 874914283 696900577 812356877 78341271 47718775 857999415 606602659 501678605 515968801 370996979 707126071 582608969 663627795 192411987 430412391 12381983 81301407 326212345 839889531 954391367 161091649 30298869 907532899 946691937 933761695 130261693 827404211 557954809 967915137 45073709 751426479 721821053 51173339 943224201 195440699 488579401 806190535 303341695 401673445 239583901 77151115 268052263 7914473 371709601 116851089 800165369 506900771 900634729 732197485 128563167 67643673 682778605 954281431 190270757 858448895 536816397 294213047 878801535 842980519 331150483 3498773 206249483 496013203 233589555 1108261 827108943 81405929 931772033 451819587 337576759 126837883 112854019 733950193 760760599 316436157 744736289 479528667 292514225 951301583 748645161 112431061 881641765 300696955 798316633 763165913 102378755 610642733 218501839 25640713 472032575 478659837 445570197 721921715 361894713 866408617 182816159 336165451 54734515 290887323 601060033 284244841 463336155 437278435 68151489 14942161 30268231 249437747 181054789 37171823 475719413 272530673 415452129 321022551 495474505 130947101 298028811 728288707 271568143 939790957 921909543 469570839 894510463 286403381 657856895 626995677 407906101 783794035 359501633 140152777 556386101 825083601 714426503 480001977 835204591 819106461 88764245 913688235 475334199 849763533 181579409 658987213 326904393 495375107 412838157 959999091 408359627 65266051 779805317 485753625 571571659 730976321 546166423 539780191 144042941 717537743 635068365 603052817 669677183 312341615 912852121 904134693 178387031 300686087 994717779 387574707 546792177 542340649 737958463 840065023 870814819 480923401 547083395 981595767 927548457 886422151 24926001 360357035 109474859 481692205 238479685 206472535 750395827 141929765 979679645 717309281 12979321 317428043 209155075 341179599 35042713 497228829 294287401 169104345 709781655 667455937 136375975 587999191 888567905 355337735 120547327 639997519 740394063 58536295 908681115 923251179 647377179 141267967 275906765 388921213 970009067 750428823 910107083 477519619 52762443 544226717 288270009 242533021 703455795 60856363 686902943 297258393 983907071 511176957 566563437 472929129 577280629 312653181 655474177 988957863 364684481 589288633 4128023 388008473 425577081 361876071 378814555 915760553 578299289 458134505 498865757 898478441 145709191 159910213 840857239 90094743 899438867 64693801 304332907 651906707 109128557 134504173 424098337 446039019 553369909 804889489 67495403 561869137 467903603 168478397 607733473 495519393 782993039 923177149 101224965 455153117 668415841 28206219 189302081 190631985 278105639 173420229 761777765 558737649 240193155 417739445 701166635 882601111 728712583 566656325 878236469 625361349 981189797 215091217 857960201 979745353 544211131 632642647 675665693 819003413 275208973 727010813 248413127 536273477 389359691 945655955 860914505 73497629 700703623 32144465 473105101 801887237 345111363 479478549 37430627 608962195 315950687 436936551 351618821 677464447 525091115 613460853 164983699 244651697 797022811 922245657 948750297 511376179 507104781 892074447 305440903 523950133 204304583 467337153 548482867 380357653 609992309 841326781 182121827 752629077 926116717 770375737 933390207 130355107 951859565 365679959 61461463 622652621 425101463 626880987 522416549 813561301 511920765 907102519 135932937 194464729 749361423 223172483 532779791 65885477 200388527 89966715 254020261 81222701 663850527 310681223 636367271 306866319 173706639 313592759 142868181 214148105 850627985 662759107 82675673 646161803 48861989 988502539 788828739 284279845 895781295 409312403 854717579 615733267 137466365 163143949 434306327 95195577 944557379 887648975 974014763 700461219 555189279 442356439 135756795 452906625 254465431 916752591 574440353 611228211 465275927 180560389 33254941 649397943 93373555 225877617 385223767 194878525 159512301 702972337 734216483 525756693 169298981 378492941 611120185 384595133 199570987 90188147 180371257 886937813 190782325 24360573 708115119 166093355 872870365 220257127 278294793 93554607 289827755 149152027 848971681 541406593 728150157 245439527 78685627 822663137 947052181 482225601 262978431 908867643 202112835 701226699 408305403 886193185 354995321 529772233 378348845 906100305 243926409 911971565 695281395 3478443 415328293 731715853 753334807 171126845 401180011 580410025 847923275 704325177 404255455 393695721 577774633 39167225 166521201 987074201 659631665 109865475 330665077 27733299 231045067 583808513 7277223 365416405 405118025 894514631 582906669 467064137 797940711 503726415 874627221 59401209 183628483 103088827 695056339 28297473 533845991 818658649 220161863 190290719 745269829 887705243 334129587 911116217 139970487 443957021 639447877 616237023 524485627 281188257 817220243 737427783 671306685 629207571 657589145 705311571 64235407 381015175 983752383 602172937 86936807 185289783 713137103 183166233 391005993 734812807 353122561 192140503 291223197 541365761 599270385 967594821 480256885 702465881 196748963 805924107 723174091 743653483 792159877 146986615 910798237 219197755 617485679 264111231 988104663 746535665 795896987 611787717 923018571 230877411 942182319 894077837 98180783 127171979 941164473 972304585 44314279 218113421 208459821 159375631 328996027 361158323 255070185 727220127 129285725 117427441 909890099 939804769 905056229 938905955 669729719 215853281 917799829 843060045 79249289 276716889 153783959 407295255 575108139 573716903 689474557 993086807 790215805 414910035 4928957 440307657 958017231 579892621 521374651 81090125 633339863 147043371 252063935 881247215 894245807 651392171 858254201 886102501 361320673 521428023 777526149 384263303 288568149 159221661 177520741 565452891 720161123 813144149 512435327 944235785 56861897 11906941 297350181 226011239 56589227 271231709 316847249 932809073 593866133 710084579 988735717 938000199 901383807 168341673 351954217 336689207 335733701 513643243 300969293 151091377 859372845 577878801 840717869 191679061 321511393 733987629 957952649 776591075 115083131 784074739 815959051 188201797 541263093 17080773 516247107 546506899 601273783 651493799 97316267 119087875 96711819 655712331 801927333 86256891 197809831 967864073 146961017 906141703 419495593 101623515 402739287 698664409 521489815 404648815 626729051 582802253 538536413 975907855 301473925 442730853 70523985 843439797 406859199 906148941 363569969 390354687 78130905 143316567 235724577 224545077 248788365 250952449 426101293 483853639 175961979 538831851 655907021 796282315 406426927 323103715 311532251 9926399 736408857 814441947 94813345 178659789 982584465 42085359 290003399 891017923 772172503 568219745 593329255 292025625 567618585 183695005 886164987 305902509 746600549 718608951 757982313 437487111 77780661 486397929 500417279 471446869 992641513 277465237 986456433 393786223 2418637 608899145 603689181 152390615 348076559 774198073 333567177 137120431 664736075 817930941 900056609 550203339 461716481 695472217 503533115 369169311 109658521 399730873 195826643 759373901 693794663 210484913 579834895 585458329 735113123 830325307 368852351 395413237 160409197 734297467 125227795 657199735 91902161 450708923 223668013 696518111 52928957 293375087 462918799 571376275 112545037 558167603 548769127 253060515 416102529 945790923 862202957 964444871 323811521 347761951 742874425 347162975 549460065 183746117 225324181 729549679 686272727 964681335 810636845 735062695 954351497 568736537 312517173 602332513 759310523 905315511 109703755 74445211 490066081 38088193 203537011 353454585 551375957 577987797 574278173 874639567 194071765 110514999 305893149 682175251 950994959 384363087 580173487 330987363 268376527 43807091 535791737 436089095 162814675 409098015 256615817 582276845 45550521 265694195 410144085 941605037 159555083 590353341 399861431 948373895 29358397 909833837 556028151 822347619 207157667 898576675 257288385 924751311 331247491 731892509 983971115 550105857 170960387 957572811 133947059 253237977 509037621 55675069 19529789 692431841 455869973 678870193 477967893 915330117 258951041 694307463 941825267 904807645 89177923 685414221 263719667 320071721 694604813 961421877 186470041 740823887 720126841 93821337 451932117 247535903 39256325 891729919 193795321 395453201 473551133 785474321 509058501 671945795 360370195 510547617 606710365 410023549 973431581 508859821 237534799 658815791 494259039 35787093 348681615 68897391 491226849 161574375 984988027 618045435 842318741 600343509 89105881 119333949 236759123 726954683 990333397 571288387 110944735 705342555 495785221 394797507 816157663 986574753 971500645 437481503 381765093 321789343 576920413 198597981 14455403 9348243 479871159 46958123 84906451 831770335 681036715 448117219 544039781 845764621 951971539 695223681 124937299 303746001 343667001 475320493 886777525 550977799 813911877 95322809 759318159 670012593 490191823 976801177 958380231 476531963 805335829 535976173 600044079 862804537 317990843 797824767 848121985 978544101 311299023 852244411 187141983 12472739 243788229 662442937 778029905 611133501 478978427 456976185 796931271 493075623 267697973 174756129 512332575 153524477 577129635 282044417 802042773 86636929 624881625 785179409 215444053 299491233 373069395 967118639 117449583 644354285 710911479 564071395 808511965 352783905 279448595 41310813 168234625 914914849 506352221 218734705 13839649 456480503 638890991 331239331 340251507 117384919 872267857 2990103 627378701 915924255 998715503 464014747 419044209 959843149 596067745 450638507 574716169 233920017 633939615 216674659 429186085 660135995 148982419 779421321 719781119 215653831 185494023 802616977 468894649 741340377 410271731 939506317 458037593 169949371 703746739 921523519 211517653 479773923 95635723 117308943 664486403 679155177 836313387 214795273 869704357 979445907 859620263 112767719 160797541 923874507 252492923 155372553 103712465 735375523 141762061 389720435 944408679 878176087 182586923 431290071 398529927 86924363 539483401 633941131 64275577 898979851 836603973 230892175 34536301 38843209 730517477 434901385 536203647 414583775 138290517 275699657 170006959 210567635 803726443 392934983 717803493 17529423 948167779 720530337 327466997 82401957 636717285 855328031 307928727 830691155 496826619 127841201 838885995 829345017 825053725 146722027 804954877 443099493 212435749 63684625 319138235 667176073 314850651 656834311 921031937 297857921 677540205 7977819 207749391 754520463 916413037 775473481 428168973 14021407 165453019 785702573 606247951 738730691 762989467 306141197 595520525 459405881 306660603 272873883 78466279 114759009 267990959 518678575 215265129 203814729 11606997 639359557 563318337 71964963 19897329 567414021 33895691 169651531 660669939 8031553 81925445 59874883 209490991 651992685 364802909 285374391 539188833 171032489 561223071 23222139 758929585 523125951 678584649 260372617 205307049 255926555 656877433 507695621 143537727 204323029 634724411 106501177 777877201 945128875 282722173 322853785 261723687 966896647 274869273 220580289 856292713 92293625 76344531 372459123 526783023 400953395 697983313 533478555 268251511 824435481 507680551 14216013 350100643 404878257 279806155 816359619 398955141 889999019 220337827 338895713 282904143 424417117 89868275 511130801 183806623 688451269 862388719 542811753 449484921 259172493 466064047 131371873 412669005 969682947 499458103 956936861 288642797 913459485 666918253 827966027 961681049 580666749 332378917 43966651 56752117 57609063 881584917 159685993 516875535 469353165 823402721 844042745 68452445 154549831 325794577 155250485 828950457 500810257 495858711 566755859 985881963 97040659 863106381 78356139 134853919 947198431 499197937 227119427 958076139 421548457 199718959 808005443 897886795 713406289 23208985 709472321 799893287 162289249 248852133 600236281 453782217 475725827 336130743 250392139 635864297 485504019 360127511 214452293 994101921 39063567 67043447 261523223 95899515 939767325 611057775 562098721 802782815 882546701 540938881 825950945 996142757 583791703 853947415 298061831 404357387 194770201 715249795 364785251 888193205 445461275 49177595 356768243 337836593 326367435 355944611 517487319 828386931 990886211 415146371 891638877 800462809 910823231 358693261 334236663 798023977 677272105 314814105 724427841 829245071 660777743 422407273 298440699 458857631 564869543 853567399 899555605 906871131 175093075 361135843 253583265 106422051 144025625 244806039 826006231 481463239 307438503 73952037 532242975 268220285 329739861 588354005 223196673 312461791 294324259 937278937 724579633 471771893 867111863 686945353 146941835 367087147 655506787 694404135 398831889 401822041 511035931 313915229 917271791 177538487 434358911 225455035 400382071 371851503 968345561 83665915 534523431 863973389 545331987 197969599 510123681 553897093 935636937 677926285 675173807 809629491 764388665 478064603 690672453 739416929 500259657 148220927 18292863 716789177 375143305 102616635 655080095 678082383 658932273 386217401 229416977 174904483 122305823 618380681 661766505 761205913 305823963 760765861 855289953 97443711 288645011 267185645 331819741 429311499 214363681 531818797 448122343 126525527 642934017 270049813 890697907 833448171 377906525 352819773 160765341 786493875 736443907 479009575 827539753 381037829 260281449 751921467 756648703 850912413 69151665 737757389 980353781 948029603 974900127 987087637 92997125 110297249 328730533 316636469 351478611 679487631 406856153 184752947 956671785 826084809 223839739 253606661 1472509 737732115 404797555 150719359 499171175 215159963 8102221 274902375 229421357 74340089 643387203 429450853 370409015 123560999 744731829 82158601 885254043 79894923 218631335 525340363 529330579 986652657 772187595 792079633 574599813 763013267 526563701 34365983 431732215 789941769 382890665 923436843 650328993 97591129 480653067 203284041 887358043 596369651 976735211 791010687 418686763 162498475 295721793 126943157 811183161 381369277 280901803 774453177 304954845 715325905 275807857 456354633 496244109 476948465 292706945 852606467 469278959 987093651 150081909 450639987 591100111 458941335 464880521 916979463 859843615 7252287 509081511 94509851 837426937 40786233 527722075 251368941 798678947 721877405 844972257 848934827 250032519 946552291 179390483 894409825 517898295 911001589 839714173 984196877 433283185 926783263 723341387 666342029 398399765 358130965 827846229 451608235 142245425 868792563 342784795 246980379 522338807 582163011 600537285 498270833 615600579 415911919 3110175 482601267 766509847 773659979 153678499 749543111 673270943 951274775 356178287 773024897 45818669 838992505 215278667 74352279 520667327 448889851 55292327 715182893 5749623 238258835 461686937 12059979 801492639 205128863 813458401 740156899 625577387 15800037 913414885 397130447 900025655 474379153 563420853 548539853 898486789 761132345 988742919 450827659 525338113 908393435 836412733 303151253 265669439 183726041 798035805 117246567 176805111 302092037 493585173 627092067 65189521 245010833 736611007 740484819 517522581 611978009 447700567 419510245 594710457 992316839 342387335 671703731 929980885 362181283 312346525 809435199 564917997 903100391 736129167 662763635 224256045 27902123 870201855 664979745 411414761 449460891 783821105 246741759 661250459 972900541 625449239 432635057 698063591 619531915 560734535 415848383 750875799 997219555 476471041 793247131 549872289 963272965 473092139 298380445 741563421 693624227 140924503 995878663 726561871 33925073 81534905 702560771 853591461 619855371 9243697 607429283 583971503 497070393 395561543 24746205 270606121 874156965 983700011 468690069 943971063 114196487 93024435 437353107 87318821 198667897 799735901 617031559 897638115 179454851 110801491 678364943 416312975 892625683 822108003 888960679 860969133 175084923 303862021 886565563 818617575 159529083 439878231 733436827 907881743 300746293 723750689 199014529 173801505 286811707 927683281 950420623 994126145 921515647 384188287 887883725 376642235 561458783 244472557 392901675 919118593 509338015 652973437 727832709 208444333 826588015 294244163 123945885 866498693 654496611 216211699 97782039 917328499 669255799 850608879 529175689 147139721 386253329 362066491 68070509 6898437 438507263 365438345 500184351 755217479 273432183 218521647 355556845 476807133 184585491 132436781 990816261 939301753 339240411 997861419 263322499 242700789 99495739 376593013 619146855 309234263 30016009 69490181 198862235 557296841 34869891 855532665 21134319 813662621 87189323 189719577 807853341 328429649 466444403 725020373 757782215 942062727 487719531 479412547 238525811 372542217 606739221 706873761 919500695 737403595 2807475 28882649 574260873 962161127 43401461 510185337 972546443 697901733 386502639 883268281 407707333 156300395 477921051 632903543 466684491 863570637 202272869 926617913 917093653 354022537 364298003 526920499 916279811 612229249 348243679 353052471 974470369 309354687 662980839 643045575 355933533 936130423 549498027 822363147 778228243 284360197 561406749 57251025 306762115 222191595 100539793 310223247 312443159 550212053 380713669 415727205 239231005 862897303 502887899 553851421 154982611 391536683 84901219 453029667 26745175 296965301 771422803 536047247 675013813 742534015 132304645 743415073 26328027 279474687 817343555 851733567 373282469 111473357 772347445 860082425 788297939 734215341 909428083 425265415 456129293 561445259 480122363 133337031 907757031 437723003 249666097 281047363 16674009 288251833 269902817 213407013 461767491 146843557 557390659 785928649 426627951 230690763 351176179 258028331 538117519 15952095 668739063 934951925 562211517 165862591 919164603 748683381 903662585 977346409 861799955 370946979 502364971 828959757 270515521 110209565 824612903 96984571 669905381 306392363 299164579 871143343 399765775 681521083 540769347 691790797 924788787 559918949 775307153 763812385 804743729 378741097 917148923 883823773 152693323 170226607 415879899 97108059 887947567 53205445 574581109 400745121 389625843 108312033 430133743 287216087 29752085 756629475 264075613 923968149 94212983 513740373 957622709 577839249 603877739 772181347 622623963 509501361 642756513 278006757 366123415 659814657 548456507 852174939 463325339 163833779 523361213 391145963 527093633 643266595 53927441 158911333 437125575 16410833 118123409 409105985 696396761 2206573 371848183 31283613 268685321 189123529 394760041 91929409 632104845 216582877 781310837 298381469 41616777 651603921 286437903 27988933 388736517 489444589 888767125 753228925 155244787 806023845 430645453 243993897 964838699 983162515 590524899 619708889 926800753 552356989 566862189 217648451 595743595 924907853 920148071 657708489 680238251 570001431 751023161 22781553 602412973 46419221 671254445 915508201 161786061 424779433 366846457 558299017 596888409 34322017 254866365 205602387 135828609 862410223 507575291 13780969 547319389 619248175 267141923 633548703 306390257 270499363 81415175 774710121 710421283 785438713 784675559 428990695 744763845 876772351 168492135 130686051 96665233 695938485 422117011 562094025 959171369 916343997 109141987 807079857 24160789 362472929 582024755 98067033 709907399 942523415 823005129 707585197 534987159 170973559 594290769 535010103 2326727 242460741 412721119 958297393 309149057 576265197 360947189 324798329 933522389 149534211 984089203 628726167 524551357 314877761 402523817 142816441 848970523 943185547 751201355 353279161 811549879 423620075 249604729 84274965 345706817 626771351 428942005 335837681 267217237 55802087 845556717 720815393 372215667 593474913 609572215 216496923 398245125 647315885 990205457 403890685 217482587 584788641 834106077 990518413 866356399 924905527 422730861 266611519 947213603 372489363 899779507 462466853 506246077 187981057 125752077 558465793 935417715 112124145 321838399 522333243 510662171 603154691 172600953 112289759 669416823 429616117 618177357 739554215 681137201 116884407 626564539 103144179 29911769 114229337 751683111 996783047 526276841 456744217 901461087 503657429 568307649 45335895 693512855 371886451 528232365 459704737 987776111 225008289 56116955 885799591 559653351 405576709 969398887 245794377 513531505 151403503 3374929 333874823 164373985 73030999 399494017 90261643 458079605 159300827 709559499 268840877 64218319 963909059 751570407 813518947 91218177 872203519 484585335 99551573 815292283 646034467 336509185 216626763 932604703 265139827 729893881 590868279 704625967 29760465 382885049 574756153 830535771 13722065 162608513 889346961 12766645 928020137 229471099 117952683 894467005 487652919 3206069 188840729 948226391 31884033 566325293 527940761 813081807 863232313 836040385 444077325 376868573 118811063 779088445 582486911 550130589 936634103 374121807 677963555 501032341 626937377 313616787 7961685 117667505 684014087 945942151 768256919 949242183 976297501 896545945 555014293 595226387 694964099 240373271 568231201 269508155 286179843 639839289 376426041 481951309 440133383 480254499 190273279 892061503 772756651 7933919 997978557 32942187 79190701 642037595 983450855 415600537 585882483 778667377 917451801 478811125 217403149 334070501 95478551 111523607 339962419 962422621 40360137 971980279 596290371 773495405 703905349 467621887 701007173 669618317 853397957 32373241 822005993 129316381 907254189 628670237 197947267 29025383 482176391 369870855 725265943 974998173 950871303 635841981 164532297 153949399 138332937 935398569 707409255 711449369 235946641 18999717 306136429 165368905 203786183 873695467 689624567 214120251 119624449 716627233 512485707 971357605 627512249 411977301 744542555 763013419 664216979 483153659 682113727 606135893 523413339 895025905 654551475 550626709 178097665 641479805 112045855 278196293 144211365 944565067 346143125 658807715 316958853 174413681 855767625 970899419 207653393 937504877 762208283 83962623 396978137 96992289 344780435 232841733 727635609 380774367 331934945 224017873 743156021 974927703 373063387 522572843 191852473 51962795 435071489 634998981 558324823 52149853 636428409 406313527 885751913 775712349 773174291 564015877 829692789 205509885 500959047 820847253 432824869 687894269 624611379 568737337 769235787 417687425 999362463 810464811 783938275 240813847 507501049 600065165 532334867 368079539 152778843 985398887 839331617 492601523 399777153 481700523 728696965 219917275 720193749 153691953 88741849 288986715 104712037 84985275 37916127 703831239 441984231 263705843 119764611 645277467 688692413 360245097 589555671 879498175 122878189 624723097 198809369 306756733 827314469 712460767 80220585 354128267 24010685 414730121 812145685 930885769 984117429 74764743 600275215 364413305 656834227 779171249 891692147 33444297 451179529 209765961 770536003 277762383 103004075 675256185 425376171 334804809 868609593 961863441 66428927 815778651 77750523 39757259 666347447 296882833 869742817 324414537 78446459 558816355 33465217 508419603 370811667 922014125 553777691 176585881 7622259 578429877 825637525 878068791 842289847 4440869 59986559 380796205 501584161 991537431 743449617 497362597 144554527 775764997 580897065 458330031 494779967 266273493 136717903 183973445 792505153 732248533 329399729 281859657 694144263 950372281 97701417 744807041 192855707 377449121 564506675 450796451 268008755 900678925 529768185 488286533 16480039 251278577 769838919 953902313 430202107 508661405 170595481 758529783 465413211 759753679 546947083 372004291 817566491 475624623 346522979 782271109 935154229 757960391 855912467 452426847 463416013 648800783 878116913 623371607 783096623 691836385 447094653 250745187 169648075 692288519 989230175 361224025 514474559 663834537 584664803 992935929 383769679 279633505 40293315 143992561 942120675 522069799 960017759 112963535 956295955 511495013 80951995 736099085 143917333 591421927 928840841 683381515 426165071 354346465 913243677 728177427 136101195 38980593 28409979 232005721 175064255 900594461 21054791 217628403 730464387 343986129 909778385 989096161 415522205 715494627 691287569 154409233 860262967 667058319 618214821 574054993 67114147 640445819 144995541 55986777 491638877 575928759 496374671 53021901 177461515 932613043 67718253 611800631 466154867 459600721 25625515 471354117 995361421 502801107 780978739 159212691 297857651 638386151 951962257 565188639 397029735 805816995 476075009 598067159 198516947 750015621 384073053 353808329 927673935 54514033 828331569 982445805 481521809 318266035 239229865 558368807 281658497 939430403 832396189 693968705 10422311 326012029 378651533 758703081 183456183 352795047 113132447 475276473 668754059 700033131 778774437 944550453 678191657 724292643 694636563 848992195 894596923 794592137 775805193 638923447 693667477 830111683 417426255 735619399 620845103 619673951 230434133 165606295 694659121 501560147 564214321 627855537 208147427 150596089 723273889 916149635 702321849 714296857 552927761 803039719 629803855 64553951 467346315 505566113 820421223 973392865 424853191 907113303 897306093 564048413 115346727 696543131 836465653 463571189 131525297 248094185 378871225 385374265 819283731 707766687 318738077 871688735 995413159 970649863 713809195 781122627 693460841 120035411 284124695 695484073 767124483 784520347 192331581 678191809 433049795 312082657 912852127 591054429 306494623 839253777 932039531 596289725 81328183 50201847 400093935 149731717 734170837 626226511 817803181 747455427 320367973 947221691 344355393 893042411 803011455 385931459 177419389 787103707 55851107 900307161 960191567 493819865 363911159 906293589 796658389 314420625 941046221 615473275 197069139 497183769 102275097 366852977 463344689 597751789 48152251 969085769 87727621 126452211 318562363 640707581 930631305 911134331 337717449 300410735 953833889 288032821 171368251 196747879 536076377 436969795 240131599 962133399 431309283 31633447 695722607 647775383 583052441 334347471 721501993 226271465 985299711 558750609 460753845 120175863 370046147 346767915 797746993 904303889 138728373 836593345 437592933 876353137 855999699 299616993 23562175 781953081 624896317 808322687 787673175 678368881 235341631 994045687 964044015 435662089 314156367 78319123 230016489 101948639 915738375 311547645 83122521 967145647 153477159 565390665 268282867 532433445 777025951 689439737 256657945 289684689 676349055 498826861 841895631 866830125 102461189 300056949 823708359 580520345 53375889 862121541 895027031 308864353 711825841 253535101 315420543 986847669 984932631 8546333 997490407 19092653 145253535 122079385 277970651 751959627 269427531 135718337 13005141 824632183 151576901 131467731 672093683 787014917 263308517 720621431 210977533 762078381 134245283 355963575 655843427 659160593 937346849 711565835 710047931 243853239 551300653 989126991 825532483 438110229 435039161 202856647 358748133 772184705 240024033 240593955 395080239 281881149 405619943 473896309 793014361 302847345 874860599 992802877 65482049 286019121 391088997 600859743 666207853 852014453 95956777 877079337 933310737 905155103 538858603 154241615 215629567 247394293 444614963 468004591 110934457 659242157 274376117 656130703 569121127 139419867 569809229 679719963 824690647 222083845 297479551 163243753 204010367 59536531 18573555 822620597 119305343 51956949 663722111 390138791 206365601 477087235 487834653 310699849 285147473 539310147 668136431 667224979 386627751 385768089 454260549 379819743 439106147 716511737 36252045 989208053 473919467 36403773 909066597 385589507 993079375 988234021 638505873 386210971 796688199 452807513 945644025 72491709 292893745 423103853 718239923 606324685 978381077 18399449 321604345 579108247 789854627 774407933 77496879 859646547 953379889 217802787 229723359 800931229 56985277 825947261 141517759 455369083 117555185 924758309 617523879 727993175 686091291 54860059 875834781 474853643 713109043 506120263 416510409 360725969 255780567 739315325 337045633 641513297 903915853 290631283 83172417 434431125 674346633 245586637 862526377 707997459 458685469 150006037 55903365 802804649 437809483 720586425 814498507 613304733 906098171 909190675 724884371 455714717 771920825 840367975 904259107 341690043 224542401 988652507 620971749 244959093 705247469 60595843 601573483 750168243 731071177 742157141 661295217 82854591 628174465 118020661 977738973 645942865 180993773 26680299 296536759 806115205 552409739 993624873 624124721 894294239 665628807 586290569 321394347 318353487 389961131 585144457 965457317 802104359 89439089 315445397 954853835 669378087 940385015 853416447 821777647 815749747 257815045 595797501 638998543 550643353 403946507 358519731 446722635 852967565 478820125 813779753 444741105 550123951 292021503 827529297 473054067 193834431 687302165 716470789 72814701 207553519 757939311 196521219 810206369 43480531 549540547 426811639 279930619 494174313 839306099 721334129 489721997 967951123 206834053 581630701 612110741 730472609 898342823 992952265 350239861 761167433 56834353 20319567 513097911 187345575 701301539 376349871 988171791 818756799 203565861 506930695 950525785 311521023 883535493 978022227 687101335 526377023 17464121 419121023 472519413 425136823 430193889 300417371 41250247 489145617 187750855 836385441 971200903 223789913 925492695 237139187 752838103 525889539 410580393 602153177 17920391 199585005 71526779 183296709 146961797 340066397 263630905 286609423 945681903 678369277 121120877 374911993 225483015 815524327 254806865 352793261 432117819 411437973 493713859 430057019 626693913 932066543 791009099 776070557 669341283 570028863 397404951 663899061 822617845 332453435 499617537 293003339 887855329 466729729 973540999 584140559 511000661 688914711 351282125 749985437 701674671 266082155 493512359 341579125 763694963 22732623 218511755 475143425 540507977 835549057 651693719 87555729 55424263 337790761 451562129 836586591 435199145 307116755 614977515 954889869 289650767 204554097 604430781 7795747 666296645 121296229 80706243 367035921 632408321 450517363 368802917 407858739 146947099 508871621 449668021 835800137 492333401 713204469 38901351 127790845 519763107 281927421 976447965 340793055 75154449 521237571 623211035 224613225 699580121 562551957 142916307 788368891 872146529 973220391 278857307 315282657 893317429 84527255 839985843 652264521 925478407 408468971 274099329 816087375 55154353 765156239 192466965 460621043 913284409 111333721 545469543 478098719 913327305 296665733 474460181 670904739 5842099 949614779 280429671 258431287 838646133 351907589 646377547 809180289 857500591 635988699 48215899 769073925 535267119 195436313 759188181 282698297 623899623 740132099 146852509 244515441 562260721 117127495 181220423 555468275 510530963 858162429 316330505 798371815 931971639 254707869 743022015 605260637 210023793 718155537 283735029 961803853 462322427 940950693 777049815 257079965 88269495 963110413 640131391 221479697 788819379 684527463 74149801 586051165 32325409 701657401 633723197 723715099 764976989 645771631 448288461 628035019 871427305 494690397 123557325 645638101 14439793 421109701 364424541 882250381 867422921 849792967 40293191 820001577 465595883 814533619 782612725 777942223 941233657 537038397 993313411 936395651 89340739 572199941 66992559 934048057 404029495 939976973 214574303 537057995 815741555 909861507 389026851 397190391 898351545 129841149 431860275 33279851 806846197 609147001 592723309 941781427 502523707 857818971 812937433 717471821 366011077 217344367 629040423 611005847 906319863 223067117 7787435 309311195 404569691 924322161 454908777 363084107 852938151 351668479 181257733 605220097 344301235 145663239 850332877 752422907 167088771 714663517 685144509 728306981 18907973 958040381 717803633 429602129 582322505 399272013 36098863 863457333 228439051 294867355 571783657 670328181 32969007 123228059 94519095 352870811 854895487 698978347 216125269 915247893 99618289 33084817 397368107 239462717 780763293 600084857 351745867 338482517 279188937 200816121 313782505 742675335 175272157 933963917 261627109 690812389 211720559 995489565 636874951 125905765 169504827 151765747 478143423 240625387 340352545 997840839 766864291 446121023 644286253 912551605 701177843 468975891 703884181 159419201 801574101 205562879 567180979 133535833 231232537 244576647 822334983 922335573 922642999 735114001 964040769 378017519 2759501 192846319 512242225 264267341 3272227 292725851 382659541 374556155 257747751 421477495 714744141 872607985 26274675 319628107 512749031 277362571 926180291 468165577 421808405 375026319 588600705 147482057 382076785 942940201 288403387 748680461 171042753 416358127 107331111 595834431 94777327 785633501 503116839 306418673 817871375 804330585 270010815 661768601 4471641 460005169 496461987 212145817 767190837 499329947 297535781 527214397 397897771 926673713 174617415 5001653 178006255 891520507 857165743 861291801 911836507 964525927 609723567 156476011 897145717 134500167 491586875 713677717 857027175 444039899 802881011 253052007 101971333 613387717 792348703 132490139 228302665 685491991 464749743 173923795 42421333 249548355 913888569 427176087 953690745 83341351 523822845 759064407 682081699 419829767 784936929 407305839 592864497 316665491 951406965 437208607 462040997 172314333 956603377 419231121 870757419 184997223 695074099 232823765 166208791 344390417 27846083 748618469 390518819 600669739 63119823 767126179 677334321 358002537 979077681 205677525 35141969 942713577 762208613 827984177 450000817 127588657 927893141 506635341 754766511 291361837 4818573 930958507 453330125 362383923 874244809 668953269 153471417 228800769 340908131 461384379 313620291 554881209 961987879 96215029 643975271 517001453 389408385 393379209 568968265 57632141 626176649 330411899 417128755 233715707 88699647 148917697 782401435 489851897 250325579 42298161 23854873 688635063 569373305 203530381 271927153 93269959 108293699 713348989 900774801 557078057 938474503 71408021 310352521 200362305 610008783 898793805 345839253 646595549 476005189 130624773 91116569 650076977 439444677 529693705 88070817 550977499 649136717 427731335 396102111 968976609 7221123 444610971 53253293 938788527 617868215 986933827 236144657 261013017 770438881 339128429 113298483 740840801 772259999 785972455 437780841 66524967 891745081 523836777 369210671 824950651 305477789 847713177 616010533 831711955 640849253 308496891 998863897 185278729 45565901 180538115 391248637 83481701 136127167 272751627 468134891 965239957 430217415 792026195 377255721 580373419 606249249 554219523 928035361 329232679 894773927 200836399 613917797 780250347 34043621 188935885 212547251 509085769 116644103 148515265 968837611 845487347 882824421 358701013 615993883 776250887 123038719 614679223 332052341 117168905 685167739 311828225 26980693 806343913 757313067 749577015 707498813 685188859 873791363 574742719 943651801 946941435 306844323 649738989 637451259 83057935 314833491 479471607 359486881 69131461 704619779 645296129 288961771 274268689 585423817 303200277 881352999 52444499 637682531 616921377 815034313 781816651 147668795 862755071 564692327 788872237 114428511 83092851 962300107 649609865 261410951 667917091 263501275 907117661 995970833 464701601 646028459 692363281 357081093 331471209 288856697 457735023 272523537 445447385 676361383 595829935 109018255 545453883 785554879 684988269 115803259 687777985 570851957 171560365 39917439 918887555 224378533 821111517 458811367 868541317 880328787 459358933 363197615 547862445 790809767 776091855 101557873 770799309 681755895 273314929 791521401 491160479 966162877 641469641 981921715 223016133 860042653 273554251 821201335 565253063 297624673 75858133 509905349 318683671 140997119 658795181 394568131 988593165 490846095 15572863 788598083 689170413 163865173 410336351 728433785 450826973 260526271 785335759 189488965 817877999 341402973 113270447 471047215 518910237 731857387 599851855 38629735 275170889 806200909 92394085 899472835 429621307 107020173 163334667 77995457 804573093 110402785 887720139 580648587 518920223 632381601 200235149 731803375 624190763 660327251 224040873 136101989 228490547 684251295 168995805 807224331 487002759 858646621 100545869 453127591 306914913 813028739 565718405 848154285 33922019 988619063 441491581 307766063 25316629 614812101 189183889 181194993 512601577 602146719 888386695 315485269 498248503 865022559 14584969 856911727 34375105 403091915 142789425 186066675 546709297 965109451 34121593 649921347 757742359 485802103 718578887 294650211 734563821 821804293 325855209 172910085 304582163 2854109 656163861 688622207 130427605 245438853 345333733 31376337 236456803 803519157 954525793 633565089 182456789 32335175 237978101 890078017 9007661 611027005 486216567 391586981 874264915 519534531 787690277 786807149 807564829 707735083 797494691 313625057 524769853 957278963 551752445 171057649 5557595 548312507 183031723 52281907 188608509 297181521 59574151 329107173 61039251 978358439 992930523 560698097 156727929 941754841 976057679 946153189 821871343 989634857 6816509 841913849 725023775 42772483 557605727 764034313 149509655 799561723 547433051 775572897 569728469 873931723 839023935 748652271 376682553 73450071 72635327 957182663 340624137 104175529 141789945 871468715 968945659 732796405 353968755 301912259 979488675 161855639 581175577 646468827 801200263 203027217 775167553 744032111 96802831 81577487 521194151 381824153 839149963 873629285 938325361 903944485 629352755 332783629 368661807 771438463 979332909 556889899 592904913 347906239 616450173 17665801 953056441 31219109 937471001 380419867 740774313 585116567 606965717 131507199 877974479 88653221 191832439 804167283 778608067 55131527 950637477 428813413 913125245 330904731 795146483 927734761 53796199 986055913 782674649 91789881 804863309 97311777 704690359 762757817 872406883 876381337 277467351 967807989 557897543 472178255 160014701 343583389 18671357 110205421 615896973 686896785 901814773 704980929 396951101 952991183 222551555 815240899 702099811 187555719 125836899 855175057 754925267 539279625 12673211 394670961 110329667 4452561 309111321 605231447 955850585 541206915 704846835 881423573 591583897 3844843 964796707 999292717 896936055 213059321 915257585 752016455 126756685 878112461 425968137 133660079 50232665 681400231 371409281 869190049 459207111 392876529 107320791 409231351 813377449 446183489 901660143 203417917 655439605 231674451 146314773 691087261 132430223 145243143 769312513 149242357 790352449 526295147 420047567 816640701 85937593 906216625 679198211 688860451 859535249 507328307 311067277 994954225 106957643 50686583 418751679 518931105 935855955 429659687 841486425 222502481 381549557 459184661 6608767 238497993 352243821 490114879 8651199 765691769 405622237 869899973 978284301 521192053 68263503 558657269 216223943 212690817 942523311 157824577 281640115 455736065 445941469 317176389 250445309 32717061 946284693 834390723 340281403 235224643 197437571 51513511 826399849 995940125 354441785 133132037 956074479 654938265 492563501 464113685 763299735 188176741 472163011 168993855 846733977 446058201 408194883 137491723 486474127 862608885 161554655 939441197 402843523 154200161 473131951 37526145 860150493 962816875 313505717 216572681 872448629 952347913 384126939 599402993 561560201 306485979 868740849 281270669 641051581 395352875 830402225 853976919 224625695 606979043 847019709 656162547 178785315 976785823 269168541 494633771 153696167 631008413 55190979 177400563 356085487 244372933 877253767 792889447 624355755 781602723 221362475 845571019 514279919 605937009 689706969 741277319 941785399 583047181 261510305 283782705 849047401 649591551 489489021 517653379 291778003 392793461 971070543 278860129 747462187 145021769 926419423 399074261 883613067 724514295 697205981 414447893 122493307 674355113 297823207 161250425 466854119 986117677 100522361 222512005 928109349 150184443 670892285 669613799 399813363 951154991 156648391 862395247 896381813 582860949 729228815 250547481 322858807 607769753 372124663 621006857 413390129 674307157 294719623 567243147 985746367 26321029 619849391 746759951 944448421 103386769 160619083 260008757 933576979 603279755 65420571 912074939 459926683 876648231 957680585 401741201 321275965 528627399 615497957 580840903 618987103 23444079 660325865 872968857 250545353 991010769 161579573 277941613 331214263 657118531 758965781 324577481 115206849 957070021 937962423 796229477 373357551 120755453 283345975 844860699 785177773 707456059 820714645 395293675 892934353 198240631 334605499 288033029 38444439 231951183 253430393 68694971 624768167 731667211 382523017 275405445 167142155 904906649 27622283 866498059 540743739 878195859 9553673 986566163 152579857 368329013 785517175 97602197 279147221 919071593 65206827 716316843 131348533 581311165 777383525 48000407 624107587 850545513 157626963 300180421 394059135 700155721 617639171 860486087 917751501 519660265 457091181 43455323 400151675 282356341 609257079 393044579 452654909 839271621 732260325 582695401 498663217 46743643 870885739 809551649 70991579 592742489 226008227 598662757 711866923 124927379 912754957 971651645 788652917 595353981 507686673 920212047 866742389 11704119 504681219 681023599 706003283 807759497 278664731 831824795 606807961 774059235 570847097 380164853 418547517 154701403 132081959 662621895 822685085 845512881 771787031 251559301 686605953 431308363 794775587 296079563 70076689 603575097 282844937 375812187 978301157 521397811 217734007 961462051 842254587 928941463 271993081 213980211 719379637 884085869 835166733 641572295 170221797 683686245 858650385 495907393 569473725 835627987 925614927 553700657 865636057 27985083 922596857 498384965 91372611 598742975 647013673 11796059 444957541 907977267 221922525 217948791 704416019 588216845 835249155 583232193 279752589 362814185 50878311 947027855 176225655 944203027 680742087 661411419 673853663 665942135 499976129 794057929 682467899 75476397 622647007 836658597 551237989 729633015 358524051 102841311 458666661 106215223 976577077 173709717 16020903 603691263 959403273 992966923 658019969 325794697 558890805 414258603 534703791 381096879 378598091 960621319 268944409 747823355 914715845 308733403 557981193 861806749 273686021 938461451 390864439 753151083 778860627 190931619 588318653 382990309 100048225 231997141 7631909 990946097 530431945 554355963 553133143 59705887 115887625 786082459 230142379 841831207 761715085 57892445 294504671 500154983 54632869 273577753 5053719 347816615 364521613 777449157 522756833 807479893 819999841 773794185 421729073 750338699 459418671 924565163 740561509 678295557 191444199 811180451 956323139 199479341 690661985 416216331 160967671 126921745 709031521 32232357 552812309 67010919 118855565 803375963 320054431 123437969 129498743 191668805 459546357 579097235 456205977 790688667 546538983 897460255 146190677 722842303 195153835 153093773 369925363 875016255 48941019 387331033 654066083 497150157 807823999 377561259 200636033 131244101 351831299 919060309 53624973 506568873 630429503 884905163 749915569 313017637 70724203 794078125 551013821 282298635 925708849 868086083 35493229 359525593 918048157 845148285 671000413 156316465 870656033 940042993 990399771 900777437 753784479 27593183 673727511 815186641 411843163 501239597 995729577 476802857 717813761 230821995 13609235 855799335 641079461 687889873 764513405 431996983 199784135 83500349 575230459 513100781 960148299 488388917 719770501 421197571 53740671 706620909 170526461 967874397 418916121 804031543 624896299 914733573 86053683 811773591 603074751 596015 373461845 347056177 360645973 524552249 323301227 905717203 563505261 28871841 825657803 933063417 268220017 316618517 116995121 753642685 802566065 169376617 331766469 82822379 237671783 753599127 841501457 719399151 289054899 356126147 24902413 580005089 317332385 491502905 707926037 366156417 441540639 515740009 503707117 655840823 319059209 587811313 629297603 718516751 992229151 198179477 40469807 503232195 16558089 84448317 181537067 504860849 216946523 299090943 455763741 239666915 263431053 891899927 728265169 315947011 446670591 909138149 863135361 676791661 742328061 973096437 44921797 506255391 176367797 152749821 378042531 599891391 591752259 468057301 413495179 430658973 402143143 758205059 367956817 960329649 50038217 571666481 718967857 560264601 671166333 641473585 594784979 62007197 572697211 929445887 851939137 85068715 601374819 757339969 779210225 663764571 237638079 636067517 47946947 77840879 642501889 469215595 637198329 198052169 254732675 713825637 286655809 3199741 882744965 609476331 375834803 245051969 590404655 792171373 92409287 410609649 740137621 853869181 972349031 825325465 120021165 838417619 529701343 114132581 554710365 185585495 864103907 364861485 485883497 347941903 333500815 412002417 64572293 921026355 645078125 342702423 889290571 527671325 360509799 502476465 491199545 726057039 500637137 513299187 91762107 636805237 698417771 710170685 853424419 257456995 123737691 798126423 575497385 719960849 811151915 528352433 324901997 387157415 336655057 193962849 789230457 73017453 136751275 684695077 75566271 900044503 210817663 144306791 860174871 714419585 956943993 171465525 876144965 298796845 626540335 603489351 61506287 953406407 810099359 623618299 726375849 306347363 628598571 477414745 877706473 932925243 525532325 15893263 3252243 558196401 498697535 139569783 678819183 37388373 12438165 605010829 288048431 683176661 756172977 660155643 743161963 737870351 563336443 997683469 176883751 24424453 226660173 593714367 519390793 541621219 261443807 368178859 348055203 502007549 492847451 421370397 224723953 416297421 234666445 115868161 765418191 828562167 526274985 739206127 151166155 579420231 254366159 960619303 616221013 783359405 905911679 877051791 95525063 818792007 972010859 53904569 317576543 646812505 484497575 810787033 986276425 637883723 441069999 392692687 9220245 112755379 81341291 772261923 795768893 626020171 650193957 524410885 259615011 957360375 464825491 983643209 154963471 550995651 821366485 359378803 834205619 318971359 777830765 540354215 963168679 772592811 717939275 395674293 526494061 898382757 104735169 993281813 987499887 68121213 185667983 600086757 688267261 298180355 418440151 211751403 910031443 569989683 147207211 721322907 855888781 944116531 751036029 233175047 530120121 907667017 283459627 993810161 407584967 970703853 543021817 787202241 871018383 916282295 975949847 671387013 531682003 329694061 13454617 814313971 798489149 670356473 426056443 35027053 542616413 969342573 773879587 573298679 382557869 981983495 561423967 545506115 865613967 763466791 877527523 221259175 64294985 813428571 298587727 721357859 54697233 344947797 782166181 494965853 700169469 148389359 378368851 740514215 238106639 520207663 479582511 853548021 108687665 73499199 718761079 546582759 564903219 371460979 439675341 513930437 29878735 307568707 262632771 815584639 802816677 508139607 706488649 300404137 650083905 416763511 349669313 360671623 156061969 609202583 850867949 156716541 77178993 92145107 993568893 785013147 73950113 610514285 605999747 150102937 718080715 193488849 460918399 547293907 950846975 895910545 396448853 332739797 296141365 319108715 921739603 330465995 218594899 121521217 840012589 765497487 832958493 837924381 678711555 760704413 575996745 246214707 232936533 175450655 391919725 828600287 463298069 855252449 277891593 391357091 19833751 452958559 939910027 265145133 886146457 545055411 67866177 702074443 503409981 708045481 70274661 251414525 42480403 912078765 825987095 570763365 577892369 609174743 938327137 395096781 967512721 417568487 631851575 658373291 645397341 802825027 778932077 719233687 149046941 992583931 976042441 275162965 222862569 485537735 98017267 639922387 284586559 631937285 953727097 319345953 871221507 777100989 760463577 975672699 851984641 187787935 305153649 102118725 27635313 566749441 699926925 629956361 200359151 504469473 765882459 431330173 403824769 43515881 612508149 306888313 802960019 234422631 508391263 945761283 113988345 346743123 590908543 353467715 550431989 994980425 863043369 658845071 594602023 244155285 722336789 64568673 211539871 99550245 426120163 840951647 749834449 242483597 725534749 904734031 561986205 766073103 134546485 61025065 506264645 600866963 328375429 141392389 872096375 918813093 475613003 752031017 839197769 422713473 35384755 576574719 294403129 127506177 207003343 995359769 812766505 388746671 953501847 950264371 94077291 648052923 284225259 117601587 959448495 520281339 436895893 638655519 714240535 220601583 11015239 333910063 558375719 235615677 889542041 368071613 609532617 37197367 386088463 284429643 491779415 130761169 752721935 152615555 968273035 788254123 469883883 460543293 993687179 475374989 201158367 4584559 978191589 293415141 802803209 498547521 182336397 263943629 933450099 993610235 32691169 373887491 113260303 766539025 126712231 487370221 388947381 515980829 178553355 200331161 13362727 458878183 554344099 400862147 505248783 207275603 768234603 943331527 179791103 903113083 315108555 929614253 576180077 958204055 225323149 756566307 861065149 912201225 25383655 126764161 124179767 131679071 92399737 720512711 157197069 375656525 35654213 685647773 93191511 903534505 963824315 910598735 101291543 565732989 679495341 527160025 656814647 766438639 199617627 465028821 701657223 282632021 875618409 359694989 962339523 973921575 172166371 911353329 513245831 248918029 991817793 479854999 901985377 119836367 164853855 99454911 393878209 275680867 519732611 462243663 246143231 668097761 346857817 907868377 381962333 42134157 609079797 960992655 782837509 276430547 959167705 872811607 82339079 808105287 729749477 213210291 370067807 21545123 589192297 196054483 597965545 217429963 733702681 145539985 751876467 337220811 314760213 292867945 635080365 580460499 610050527 169322373 193122607 83013185 474565733 222774195 823460731 961168793 999159549 363353707 30842107 970620035 263541861 464177097 490789119 95540181 326234047 916189849 232974785 705019273 382305181 364781383 378605409 674609093 76361969 391957741 528219371 732663247 406459417 694152263 567213901 621704991 667434969 753650365 924186723 754123341 927158369 589736289 944265197 133831711 105166403 776971239 909139093 871143037 36211583 24632751 844120811 414109565 503941753 729876163 455210089 644223067 971799295 279819471 321375343 33558647 839719749 868299819 363652425 708300383 768678123 525908693 659417895 187616965 738732017 265065337 348055327 308586371 645478345 655123553 72176695 507810463 868083783 538951303 418404951 485115715 69026985 869061769 149250895 592427201 181418641 73567663 806512089 553381783 134720785 752520935 65301653 429157 294764953 80007115 674404623 628387065 75301643 846658967 447343797 283943237 299066537 119686197 805270499 962300003 108380963 575280947 160044249 821104025 731268491 501058247 390244543 615326545 990086753 79258835 263644841 797406239 179868297 898139613 68984975 163710395 131652687 535715347 930047569 643859469 953878635 12471373 629906617 23484445 726590201 900466955 268293755 103246623 929599103 569218421 363210539 307245935 372772585 7433815 423746639 500364175 244264589 225894189 677785165 117939499 371962663 418766097 84203385 539063319 975068381 928434125 633105163 180083021 151061821 914205393 589427235 614160879 826340925 586917939 666703563 940491339 49638711 204112307 819502325 432243925 729286131 422431159 676937595 218451237 317268381 736953935 436315933 532659967 182123981 264418867 164626819 52723535 813161339 618610625 253781057 779876649 71122449 528186881 853606349 625792199 355630681 597761441 543962251 817755789 599410059 773738491 951153603 323688965 322867267 415230989 499159719 675304675 450903943 647017339 97429841 103850501 695168449 338651545 368791489 685280873 496908235 23404125 477318879 428705341 733924831 441883491 150002557 728707541 288971427 543514871 537032023 386140333 296478245 392070405 437669899 971112037 845627609 889592869 472112163 436187593 273841821 928083095 957781009 609477071 515681207 409870659 360359725 518673551 286850003 594933429 3003067 738477645 107396871 122519591 771913953 868130935 37351121 400630905 912355761 851629725 502009107 875269423 5046823 316090235 929365791 130894203 31063327 263131127 941800613 59317043 90552425 31863319 594283207 205985751 68327855 496590355 67095303 138100109 663312785 855499075 471262805 462606373 61915787 463906093 802387459 781193751 936963081 240301179 427964625 89793409 151722843 544108543 996008931 804004651 244226237 172833719 298277831 626303875 684871243 197405635 804751217 463935907 856420627 456230257 288144703 374068295 354948101 842180659 246714357 990460633 878223097 320506019 22482883 278027367 653566899 476541319 898736445 716545191 100784345 644333257 941169247 763391739 887982333 784217211 124286353 113101159 159512985 294063067 222902941 192897949 396302863 708974665 684656569 781482997 147747495 138064467 106167941 632158315 948034449 965860523 978633475 58185639 594215401 842560301 447111841 858587131 539033265 164919771 124458293 260883547 293612493 654019041 489889789 399105895 77545749 862055571 785117341 180525671 12329789 28321387 772219425 926761547 330969319 713120267 887860737 226792617 284864415 269934913 785506585 998167233 18989269 918138369 121799853 295572089 313202913 258574177 272236397 849452897 800539141 522852523 578377837 18281391 316731243 921534533 848392233 115680069 571160611 294175941 437877127 685864105 53975079 196015589 451532501 868708363 349667159 31090567 370144455 560278591 270612607 1579195 421904765 399514569 106184781 653660335 138731895 792228299 12136029 833615809 334625961 305645337 226028079 468644467 71496547 531071273 981619757 680845939 265202531 925965079 183179943 444547985 302948049 920226991 155655383 678547657 144252215 875299677 750295005 863580991 890690701 429337913 946292165 348505405 960605229 617470979 511451261 156250423 286120929 92636193 316624609 886460107 304913617 968253349 966107569 876877751 227350167 180438851 241181845 152236267 246856747 663804763 748781345 435971959 596004087 883146997 361427917 848314263 821700551 641381057 174576377 132548015 165162959 76405269 720708081 955101515 359419821 930240497 493482467 53231131 962975847 798011387 306320619 878544639 579666025 166198147 654398729 688522997 374145673 199720577 449093413 75837485 445317891 398428307 112783379 363990775 416382077 322236927 136519051 760710353 54622983 80582841 389140269 804947291 579479313 110623059 165423491 756203363 588231805 445393425 515468033 785881 51855245 667719637 275462395 530039005 55961583 942704947 19291831 382914223 343507385 143843167 58990683 964639419 756275305 40762171 446299643 385159827 104883171 620979277 651794063 110798581 470823795 478636995 784303863 657550529 971989201 125517685 424118525 926985733 701688089 560954083 980231763 175650035 816895441 19292211 10700179 699692773 670634467 628342071 163964219 895940449 373777065 16213091 735849145 730174737 749181661 78396887 85812057 344037065 709140901 458444891 11874649 86662787 928914831 351107679 503728343 596783713 837766033 339889401 828044509 745487793 570228741 992322279 234730077 13299173 865103283 160341907 770673457 899807129 537603783 134424075 632503063 873874831 579147735 256675335 245316795 724645299 785753311 391894245 641604271 480626201 722249287 956517549 448343145 928062459 844283353 571719949 442757965 145146045 712768973 919015007 805826467 124638953 161887167 281562783 907175325 840345395 733734835 528256119 243262037 537059191 686300441 708932659 986396873 672019385 961417667 86548687 673546981 985780513 318339825 557713125 814859385 525559045 739163207 679150017 500545601 366708191 903686355 356619855 619435227 423285331 75636745 90993191 469678545 380155435 884342471 511902857 71202453 509058907 383395923 884116827 726120831 586254593 727440729 89214509 951998673 195456091 789633263 849410359 346657717 140032983 431427473 497585241 287060283 229794825 594228773 970620951 436866911 35173037 302614779 182707875 581667325 692769187 831265475 69932241 452016611 697176055 84865439 189697829 962044353 441067743 312977937 699427523 113169711 871202995 653830663 647766651 787022257 720835065 203902935 114771909 2362795 26488921 537136447 478942141 5279605 397425065 508102243 334730287 643754563 20759781 977519825 142800521 97928503 658734893 786586749 73766623 965003869 106379471 123010755 850474739 623066533 395321403 483912045 121962285 455954919 860213009 134350757 573285787 535571941 237569297 412158207 338551027 756745545 961927461 827233405 425640855 604275107 68572261 84575103 1127051 461846381 169858311 103499477 784397953 806673161 186504561 508946867 355011279 105355709 819839791 832286391 535970421 688219839 217442291 677351655 152497433 279751205 465487001 456352945 158933517 739314161 694751267 914915559 346686789 588313869 943502525 759520711 418834529 541149257 350350009 248385017 597965737 981159775 363414933 406977927 184673037 74856943 960073457 906438889 838638881 574347909 638297499 280421883 353748009 671849359 99095173 493741825 719114505 413396073 47723979 678052779 123203665 689494611 847929263 63013899 837717815 754003319 201237917 119984545 465077917 105253861 478019369 561728081 55996937 616897175 764050189 104470889 155889833 848307309 228851243 493334685 206173783 63961907 496123025 902312715 504118415 900890263 468043891 763341369 634898811 548525877 278779177 832135955 825884903 416507789 853711927 870185711 853459791 283507975 735459401 617638025 881480909 385030903 229858355 372065033 329425453 189058453 576908783 945017593 877188569 599735553 418835873 821561167 309398255 273366599 9292947 470283883 597510183 262943829 686825017 584956175 983779055 818125575 262871343 167641451 551538769 746981915 616100921 94451729 423176199 403083327 917491519 888542465 179531119 657856511 975380567 397993631 345190033 752543449 419407035 796120247 284123933 148981291 677510095 226725761 386113897 638851649 110731807 7113881 564786547 689243977 333556315 356521989 536493029 582948447 650526817 212862767 873430797 668149889 291604533 627688945 594064355 202833821 245235455 610057093 822036227 515662719 360452119 68974483 678632377 390215909 632853491 619898661 441902321 991851117 405449529 617205681 75832901 159276961 816434101 865639445 321415921 172093427 689727831 4870039 174703839 593975229 730548031 858450149 78601115 687433021 255631019 866235665 744926559 449492897 315654667 73706649 589314571 685935093 487177711 987686501 735985699 302441015 529566741 166596287 526980057 440050245 530971741 333765215 290864131 994338537 872856533 362494305 160156961 910067413 291257775 202204233 610351705 338642337 402364997 749924103 451342461 447209169 508186141 143874029 178239233 772229835 89834209 190089915 170444037 495984609 817163363 273652629 128432209 400079183 896415649 452065801 367232083 630334003 781422011 284558347 106362149 181564055 492913919 136111867 643299973 893408877 265653215 632018073 18878167 89709197 819661815 41165335 676295215 133485497 987954441 150636809 241017155 418190237 636508161 563078253 285080689 286005189 22677489 63871909 234531007 543766701 971689751 341933953 197253857 882585271 440190421 339215671 961025577 453611819 940993973 442701155 425618329 618965819 375359083 851858697 787816665 374116095 921649363 425064599 945956149 410353785 501653999 294374629 570081961 7149203 325703659 413383723 322022095 571734047 679918363 605160723 686980081 866662099 628952313 164654505 964433919 131081811 784929065 350255201 304012175 856737573 511199861 764646681 149622497 968160191 803260881 548080663 899619547 683201399 116743001 769520901 360760847 739172241 625039697 181940221 200875951 505197617 792188705 871790713 251030689 367130991 108124767 647218273 260405863 524095551 393074629 972086015 745605681 961999235 184106551 437828105 697995737 417463047 21986751 63069853 874396379 758006395 533796499 331445313 51150177 538406519 774671371 376162275 6466361 154239869 132701611 199788757 431903963 480726263 310223393 135932885 463241827 137930805 425594429 273758219 401539741 626450801 712692731 568635395 646067189 904860363 629854079 802908847 725516165 220197199 415352341 88867953 741893129 912541165 672928557 91290637 116963049 93039229 818888549 808263597 785387319 168900289 141314945 204270059 126354087 80237409 906750827 409811649 319348889 76120817 537650485 335625365 557199127 529660137 339879963 101447989 43276237 969594539 550096771 930700501 753386259 684040317 639563251 24252691 427747047 922576533 327925283 190032885 316997619 157927433 149042155 717426407 224418439 844677083 697332049 584596927 315329943 41194995 776199551 372997049 233145283 289714725 762393543 140334717 882207827 605054761 931328679 502629141 925174325 906973599 671899327 612932857 187617027 80596755 647247837 644933379 16677369 785695475 403675635 188237949 880815873 314438555 585324061 941744143 404799401 564822859 669835165 540059347 828196391 929045803 892343519 199712065 19639389 628888143 258859637 349480515 928353489 583199407 184888861 785973285 625287601 777571883 407581623 353112475 686166485 813791629 272097361 632043203 441249725 569671561 117593885 298557987 397290641 687074227 758243447 984794023 99749661 134467985 469895905 615435683 397142749 351027081 864183303 487187927 537517803 528064495 262020541 383852137 253779217 532850683 574191869 261114595 882652863 692795597 271847659 819087163 997774347 842167407 675300817 500226257 890862261 469069013 202987555 620284263 65765155 248409299 664000381 572069419 896152933 814491951 972666785 667557555 796122675 300754319 209155965 355201533 666358763 667244423 423225375 632379757 478591893 423824781 195978695 870307279 34298335 970764805 612576471 5162075 632977955 671264825 100503771 245201325 767251805 108340055 923518339 145829065 435605815 83092345 53815213 998304287 651879167 511163043 156287579 379632769 168701101 14415803 676321211 864949297 841528797 688449427 142842397 988917711 158826715 956212711 41318653 551432043 935351699 788739157 6862847 228171641 930130589 778044775 511275501 107930071 484231737 661689743 810152381 92032715 231345999 449650725 890773383 566413825 845539947 300528237 984812945 649038735 414027975 374374541 710603587 859149553 19345731 656093847 572050485 997925391 378650467 93121927 813698845 176761395 762543705 220620859 159626977 447489301 891223547 610181757 777221517 933857745 305706439 664767487 31459665 508630507 978647017 116793689 128131981 675383889 934394411 376693517 26917825 432144987 83531525 725311621 497580695 487595715 762746011 660723987 294056167 634384559 253424557 910979821 22498983 83784875 824975025 707385911 814274557 571748783 475975355 552218617 820932149 496889879 252088457 892285219 442100929 769227945 288596357 284512147 915767357 666264465 656790203 357180677 778129257 709990757 451455463 178412069 895917621 521476129 47666789 272477571 387375283 727878187 45565499 153363609 720627739 393913681 15681307 646245065 846238677 519418825 604585309 194220123 722754665 257535277 380279037 292338561 503897739 269258629 398428323 890255699 158561303 552446015 976991391 942884563 190040847 164401453 306998249 656466411 852169375 976568719 55252257 824248427 906979865 472260359 186127243 856245517 245171707 16636071 754067481 659230321 5821159 324567009 17656417 456708643 119026343 159325587 899193249 483198355 83034927 57664769 941202885 499906329 564067739 154863323 288203351 359884535 662932269 695324211 217657231 218257495 893023825 227490699 511818063 734365769 56033691 700879299 949582877 716815559 367222469 444564779 766197801 572220337 323271091 628588151 303937095 272395731 816328047 863301061 409689339 488448987 383181101 683710875 747735911 3819877 429857097 271576037 549320287 431592433 84465223 213548793 400933719 465525737 912780239 232878229 980614001 229063069 959612855 195289819 215084659 398152263 952959737 708503389 527673803 746791687 959192761 474431499 992565649 818684393 330422593 308208711 401807749 852066011 780967687 150126035 738020365 989280441 770748835 584901599 74872123 151344195 193204443 879645181 975626691 865230627 2467735 56688941 719420421 36946151 243494125 639901907 983352073 314136077 962848023 913058749 525405055 345792757 921160827 888707359 790807229 639592165 769868447 213460887 891828163 524184849 637367099 29277739 831610423 5388179 367365415 299188039 453626217 52796011 614301033 558034367 325830991 425876097 737767465 225049045 873782155 781849769 829851071 533565481 107805795 329122459 672528289 991637195 887268807 276217847 602591605 917273649 75200587 438949193 925728775 517591093 991811123 637528319 646903881 35487519 878206561 684229235 512538197 187764893 989959017 512268521 277240433 283996865 12693631 422924935 388957703 318971147 835048581 503461729 775477417 891159901 499031809 10160239 951299861 243294985 687295265 725028497 400829483 256431553 481233597 42653073 32555513 593776803 405949781 201255713 868953265 923058995 980230415 197683163 560305071 123149409 638408123 891072063 379223157 97682817 785586129 962419637 389943215 218496847 163360113 694341007 867413039 895743729 296994143 417042953 904240627 334768373 43519501 172555585 336471325 557872207 871720081 170778689 201886455 177926495 39275433 429048315 552407797 686804709 232377535 988728393 121545651 241489173 909336289 997519081 542590451 403553919 915976647 427998855 906700705 535746337 155683535 209519029 11938001 261494115 267418625 314476009 651132603 318804751 162844427 977409671 138757831 130400349 698404423 140398039 61486973 582964457 265938353 300403723 561090963 140386999 493421553 677478973 914590433 372464949 80994137 396180843 560059243 31577147 939242205 322028929 454276701 931363587 397896991 982943313 818148107 754189107 131899237 172123281 426849263 117673433 919486109 60270821 227648941 576267881 410529887 247825621 586862095 946604993 226376683 712752083 128783115 18316071 257434407 900943927 249179065 567371591 555300771 744257603 129144669 557502773 515210647 845175073 749656165 424936307 942960867 45532643 349699937 386328289 814538763 108301439 911051789 608661455 640401727 628616921 887818829 530286835 265672537 450350009 655257901 97949287 435134679 389551055 561258461 642894515 533157087 921703095 606822075 64728517 81069633 969167859 430463563 275454447 753882227 878238185 857204791 483370225 575566999 115091179 976859217 584789231 682564211 47032883 519608725 220288885 893730167 80433891 281744679 846933627 647931319 640912641 313114451 143909725 849073397 652462723 363099787 15052257 787522457 267596351 437183081 829523761 268570033 952606455 841068723 615848679 304042483 848274517 558282323 960407549 236456127 851472361 416568923 148839385 772766495 393267245 322101513 946389321 611982783 569275779 303127229 592521091 200223735 437406003 530137349 904653089 856015559 221881965 140692883 65200427 255292373 278021965 126530369 522724365 193579633 240828883 21346581 719969949 879053971 493173993 781108025 625192729 229827547 107842911 278986241 705228325 701616269 91405551 925304037 322264525 942861465 528035641 337807757 767123081 350696601 128627401 468875969 862775859 981092555 796306447 698915189 800418581 590006805 95564385 423217603 764247767 591371527 859489541 880523251 247754643 665156311 286701091 719089515 251534019 917016679 916486603 933706687 636960845 433436477 458415351 429852077 58825599 343210631 563617927 591406103 640534541 946352671 792302151 338211079 816005909 356870017 294831077 932079793 645686813 895222999 782026237 649269361 295279121 471929837 331212047 512931785 110259783 639037245 53330051 718955365 945511803 792237287 27504045 136754201 711345875 949158831 913629893 634297311 749387487 726308871 180779499 708645083 813733519 108186373 782770219 232666711 926681157 118158185 944224883 992039369 603123395 625861787 828575391 112924105 943881783 491680679 270507117 981523739 289497401 853503047 723785355 10106797 708070337 119019481 546928519 559042445 913253433 343221349 440074457 790819325 413431917 318712219 348077031 499003483 302669457 756356559 418743029 775015219 367538755 663029509 745596471 859443003 742072711 609170913 803584711 770336331 433601485 400889011 925000099 137532007 721533673 465839217 568163001 894361789 759613463 593761213 814963157 709838493 887269117 794823645 796633525 737864323 12369577 197410239 568508663 467436819 312289425 445121277 99201317 506359833 967153551 68717267 697925553 781200263 867824363 264871209 63736565 221141623 559959377 674824593 726934321 801997359 513450967 916801599 314221965 703377687 602152699 754095381 234241819 398946759 280432545 472904855 428606423 110224373 415418901 954749687 448474015 790427527 658976527 696978187 942950205 389809033 928029865 100461395 763397475 281929517 931247981 177777909 348522921 67659983 190088517 420313283 913964435 204604655 189197957 863460911 668828551 667820861 246261485 90783327 256520153 708374411 812603041 579701525 487954879 699747025 244093231 887902657 388476509 167280183 214963851 267865725 533615547 878210053 82175507 589130501 75871691 322136751 520655757 287820739 263278949 309363151 357886501 207860421 152962381 597250347 295528817 471785667 524851497 57671085 352789101 735367195 633052299 424389225 221183105 294002131 336805869 441243545 748588663 891861151 439519153 484635039 70450567 980859857 760156447 669995017 657395275 358727275 143325033 597986953 336827339 519904789 663687847 824707579 695692917 407581211 139722461 431669089 687017243 28912247 25226479 757930217 508016637 165010633 260576693 278545121 140451775 872831829 555648739 89873097 940594287 370507277 945605149 767179331 348917377 13350791 710717419 295433753 844401619 95416323 325680317 421084993 448650921 599129191 888417263 974709715 806952627 2010435 833790147 63379475 332953093 795536335 89538399 651173229 216515099 578614505 540146645 461080437 416302299 398887449 647795487 213076197 641749395 228136591 831287325 75369633 187248121 128754721 73836699 243381427 532982055 134324301 707637321 337934161 397246629 585131837 325618623 303812051 78719839 11523775 866247551 198670783 733136555 998122313 775446771 214345149 127212359 229868797 924867947 352461987 435692119 980751009 128031009 598598763 195225191 502130339 10959927 623961913 613422703 625040411 941920179 38049881 319301323 247227339 538224779 118170941 498922047 870189845 881784981 804808319 246241019 156517133 496144275 259898595 123677073 29869927 38476845 497271895 134705153 105867139 250377975 614667499 992151217 98059115 154770793 37317597 415653225 632876745 799037669 718010509 795998821 254904313 233537969 483246985 50149181 783064313 662552579 846466433 123139577 125754991 800422129 299135061 303100421 194224301 656419197 520934917 110933303 555628197 242300815 722469819 515835083 590658301 707711739 123687119 943957097 623085303 640686713 368513463 749049115 827083139 708224681 934662939 149875801 734992955 254651671 981394627 312610557 51584091 599500081 958962849 924056655 104383949 382190931 861465045 695788797 670387231 382774205 913542559 872174105 212418439 557552535 344109675 580884003 780222439 927634421 312090317 170021375 8015813 136149199 717951101 833763835 938720079 9436677 449023331 828022987 787820381 183288419 567772807 778243213 244825711 635705495 946197789 37152709 142182317 740313661 40330625 595712611 695377891 369077459 482512437 495170235 251830411 713468103 995514085 481425033 499735749 222867557 200056163 848125427 884416085 226401515 608542381 109636745 280675501 311924087 622112741 907696699 478033891 739222037 499785045 20585577 713199031 324482739 769480049 151988441 137591439 523728939 672581589 892805305 136947323 503803713 401145925 310522779 891970099 685023643 679788969 900681855 486879253 71323853 367038743 11904711 938969897 847042893 169187529 298493765 186011677 760443263 740697891 889081131 805102155 868717229 48068527 660151573 234652847 296274949 141698081 380107789 604603123 841204129 234788693 515738237 665707621 359160197 337788495 681371449 151775483 797401751 277129527 88563329 678463575 549365675 285296227 517547769 977238207 651076727 796208973 886770863 430642209 807299231 514873241 994209815 392406805 306644139 328893459 944829713 11470299 649117453 647222187 195242463 262569307 534373663 535959169 949189167 977119777 153542687 721709267 484578839 730521447 589985849 295260177 827408147 406675469 444138367 919767499 931280139 916002711 704333031 553224893 510496073 224855351 858746197 224942539 175088005 95880899 317574801 336632577 610454745 928273849 600310349 480980113 451844303 556721733 472752929 551308245 671544911 278054449 473870223 47257171 792872113 622215157 753007873 236035253 53941427 671877555 228561609 23324621 866077561 116384817 643408669 411354519 192653713 172585951 67231265 522387001 101964783 805805009 288911069 981017851 772743409 620235979 976297539 256822607 635939165 531517489 294968875 792625621 462174559 340073745 327532119 271407949 652500875 795918119 670968177 956901795 873221091 480447437 751546889 664346857 848948935 840481551 247572889 977816669 835732999 888137369 68173187 25088863 181731289 274478787 953461775 463398013 901457879 281854861 552802671 929480809 605261321 828388767 185254587 772920063 449267675 582839109 143120629 438494785 699101477 291622265 877802503 887757147 105279263 439039195 644142529 372230049 199382387 640836783 591569629 208577931 899283757 431796199 410342397 908304321 646496191 726984729 583668391 754186763 266124811 843618947 924647505 231143005 487281493 750120719 935254353 849228755 29017673 309387597 912756201 415518127 933229563 956924271 72744771 200492127 194514667 710708569 689176687 737263217 713746429 147576721 135155047 955844005 24132479 786736199 875661835 539938269 832306215 31760463 529618727 477714467 734229519 699442221 600628587 863659437 328963007 218550019 177898095 521568467 481419043 819665829 554683829 999244313 365463185 625129351 744200101 738412843 459860421 229235147 608229011 64732125 564824295 7764535 803597239 581291817 886794625 176254009 598937649 91718195 475942283 668975593 236416013 599671623 827070561 706472199 837184313 365385429 998689735 469815801 752592529 801176699 698418411 444848849 804313813 160996861 803985765 853163587 76266415 3789381 992125999 795952815 870577839 534604389 477620911 324847901 662010445 301716121 287095729 59192381 383760111 605622597 665802351 921304933 982262745 812404213 155202945 541623701 335256641 693250649 361804781 580017267 507054651 188001105 383621155 631635279 855216077 712676315 838339319 986973215 450865119 397926951 3581093 983422597 750419263 955049093 957622229 315365063 273365419 244227697 171289745 289282261 47292609 182939025 297478479 232169795 934993677 122053803 137417199 389850195 187549949 939859127 245803187 171627757 471470573 856946127 596673353 365543327 183883547 51995189 108488137 91356575 845668533 648906067 17871275 902650831 626332871 232771265 796214489 878285235 600894543 521652533 467508383 678525053 614430251 841584535 214784689 868954117 390603301 504987631 824272427 672466375 659745777 124666481 553493143 150034923 723593763 467543671 924616927 146752065 436873025 38493063 696512087 754153793 287141553 142031947 96972223 767224587 736001991 438068119 679770173 264652387 369114809 676707173 222471259 905250235 921136555 614785495 995833615 278233127 439914405 233729083 527584439 483247723 200139161 872803331 189024793 88493035 899779425 910008267 276668769 282617271 497815227 49420885 825936677 267363207 66474581 137579405 513473379 69357241 590158523 922337671 585726077 464043861 986433897 248803709 835837509 131724553 69811649 728972499 63938283 899619885 426138637 802747923 503253521 139896515 274193017 654594545 21308347 755555181 142310437 393305673 693712211 773134463 455008781 946134301 266364083 839271149 94096413 508295067 264967955 454673241 193720871 334933265 929151517 245115655 793468641 256501761 953781981 549458665 953063151 534641415 682796743 231783575 281932761 257403381 302354617 507436877 767938833 734630073 69477881 599441651 119025903 32427121 864678195 633580825 965791157 467740769 618837885 488132599 214135949 891752177 878004051 269155181 899930249 530676919 671390621 872560639 946487199 975196013 338470565 96232413 18836403 169628919 218024225 97299937 238243725 416207969 543456049 500591753 97029085 602316509 387630935 825355515 940521025 846966981 7452035 920683527 397089333 159216285 442076167 762895139 100667941 655036435 173759137 141354865 344052833 215812343 485944185 56388279 667852835 370479175 407923227 773330531 653480077 561388835 442987131 645404815 330070951 110279639 12425207 447229175 49442145 960111833 748961363 80808453 260228759 437887939 401204927 624107973 518515721 25374805 969877199 726370547 721917793 7936895 78016383 172614633 534624815 706662481 686004789 220540851 417789165 735124233 186829759 990779133 166796797 273149447 9443153 959745311 714559655 458945241 115060107 311453977 132530715 13371697 550699887 682679441 103016053 385000939 909687659 533845207 281942453 377644553 53583445 47747555 994260677 767561653 150617707 857041237 97803893 433102663 231557711 21019505 294567039 701218871 516800531 856229927 596337285 554391591 374323239 691119121 489187085 55853029 918768237 736479597 657973389 351017571 77905703 931639073 533224539 694772157 65220101 101574077 765881785 688994869 361855257 333451383 488672975 31337271 383389667 192161329 500281777 470921815 386668615 464757361 106853719 588824653 405197203 899248741 662324897 635347969 848255867 842082279 177674587 624515451 303586591 625332851 237678899 282697455 829635583 530240561 973785285 468937657 649224461 706950899 34626193 60773213 832616349 931333421 585175039 800919171 220115053 259357953 642210915 503562753 697345695 158385459 112549877 807975889 478517443 800391221 919637717 439718421 694418383 854055709 89019407 377378333 383799837 397971627 429433489 330476887 692357239 646059591 495207479 749438049 676798725 189359357 644211905 816422399 534177375 881591431 397428439 136671769 435799171 314325059 200972045 272255685 175497173 935700025 794665177 245615421 608736289 924459033 245428129 858080997 627177887 868275767 954037161 217883719 159404011 380957335 861016357 237274649 434824459 760938973 652325167 129793587 827506795 305232473 78555847 220489371 643851231 939992321 888014805 811704953 803815593 226798711 273189933 662162723 680833641 657199105 486563461 449447701 936424495 641635469 680455553 961050863 19396463 345595829 272343211 331860605 907598601 300794037 229560177 556195253 653419583 464768373 707008557 889249199 630909375 188387207 976133923 120544177 902023839 438414111 113607545 583845925 437690203 521922591 647085633 148611485 844503259 159011595 117712247 335449047 730298731 309970965 466589433 232640179 642431421 145442323 191141777 248882495 554964979 727827845 371439601 570361003 365557393 53444497 162411955 572248919 286331265 648565511 579942997 505633219 390699293 29670751 858769987 382370715 97270559 800665529 68803535 245103281 927336877 919879129 123351087 128586755 817392725 64710959 636857479 934047409 92473611 156779477 761829087 12429577 417533741 189646727 564130601 551744893 114695809 591123631 274008125 725453225 468452915 850802011 508037343 420220239 915268057 467600963 602729141 138897243 860122223 409398213 120648529 340298463 276178269 620220647 85687085 953724953 481771373 323551323 494027435 615415147 731505109 176995193 637675283 293698655 174060853 260379453 815132055 412529833 796061327 162268497 968913487 985807653 706886227 694418177 308044607 122850005 674598227 321766983 882039117 953915877 198739919 581025475 610042699 883927721 783226987 463200953 433567987 884797595 127910707 785074203 142528487 859558749 681596575 231329151 409993391 671106495 354810507 199527205 64409019 71508143 280179005 911925235 791976041 676854859 83312225 572843129 147249141 526759125 33555467 856072175 408872587 428126139 701032893 383848243 896104507 604604043 990430039 628353997 847456255 864439303 518062121 761934061 33310393 206802187 598933479 454771305 488703023 431675817 437460913 678511551 724598807 817117711 47565577 114888473 477412615 148975003 498352349 561575493 954029953 611598801 862594691 644931001 70933231 968785241 817923769 156156823 908591265 256429833 569025697 954515109 725893329 576301789 644740301 172381009 577105313 665497845 6763567 468729523 495738903 272654493 913771301 149258635 548704041 603313483 353105011 220765505 146181293 3021719 960766025 138840291 221535845 353676871 358481721 2657319 112124667 331040069 792941891 409903725 886669055 847084707 803874507 936064445 11702251 712372637 409166239 151844807 862243615 538333591 97774579 623904481 746712295 954045725 654847847 182657291 215487857 261973217 522978811 891240683 132803033 222341821 474382625 523293905 846624543 886396087 985869997 237770677 812775723 544336377 781610973 88440373 394842577 742045653 983512147 342594457 167933385 174904009 642610977 83622097 43744693 192287605 269773751 546550643 103473947 637476263 759664887 764840637 346022767 461006161 954235427 273210521 858259723 485902223 725314025 843910293 535522863 281640353 88026977 153799911 8072195 294082551 401103109 671147377 374149019 75556643 555755451 56372409 103483119 525725919 45160911 213473005 782734815 754155277 555389433 323224293 347321655 191038651 129438805 596480289 317156773 673624859 55882089 288219849 894811845 610958985 852282145 318905001 271864341 670161799 47443923 683528763 780332547 196634049 485988155 437196447 546177757 293265675 795265919 201489305 552192475 107721823 219999277 27109019 6439457 712685279 390959419 855124923 650736569 585399003 346275331 90809 59029137 688111809 158075981 216246267 337565571 145469487 619212101 916139921 990822227 712317671 566950019 97225779 915062183 773017045 591460607 503903295 485352467 843366925 929029667 52737725 483846415 781577673 736926393 135037019 156568827 233279853 2818041 91932275 299165985 261904003 97800319 78618625 438270131 878702785 860268881 443403439 79285705 89159423 460057817 829408203 760598631 577752129 381092849 390743371 416372595 121927861 239607507 420101841 583646657 90139307 56980005 24055459 435958023 570914719 229905909 473190575 969511145 458519349 178309815 439487373 515585519 797161527 915101769 62937981 177259147 371565467 593597681 435589991 425096727 649853817 50297435 910768087 273675729 708706839 474875037 122846215 881695205 915432157 940267317 671802071 161142373 393178465 305828869 155287499 525865543 627109471 541925471 944640021 524648047 484212407 621950451 460047243 450754725 619722869 447617507 979034027 636226715 88499151 546913201 727552159 63909609 21783583 657270349 517729335 117795859 267895013 147960585 629466341 774953855 861081809 946779301 218324685 972478591 112200883 387825733 44277429 668924749 793086089 827680887 10088205 464739339 330308211 885221423 822586089 997503425 368264639 812100043 606521613 310396769 692992991 890520591 525631195 124201667 891519341 199178539 823844711 30991273 401368367 502771635 836930663 325823165 806067983 569416099 686422327 135415439 697439009 647022435 791009251 994646171 972176541 153691325 562789399 244308541 246558955 804071399 812017707 40422339 195192979 436350593 218130975 134858589 461856329 971568269 437391003 626924067 388347367 909972857 335396843 828776215 937675635 386952475 841979657 688421923 562088983 971184305 167623829 528828695 332581671 828027359 300600275 11547821 117928733 428026801 875770805 739892103 303492763 577566623 708875729 401816877 404110705 137936517 714195813 621619983 463598477 858362791 153931355 998661513 48470541 479694773 753647681 661301979 629641267 62573507 505961807 852621871 807658603 7926861 142108003 701073045 405108553 100294713 28260101 214324743 904578183 439727573 847652965 997981287 436866569 337947093 270184535 531589243 976705241 708490327 263610205 12961529 718382123 694538721 389510815 376571255 566201435 730525791 461399275 919460727 704668141 470056999 166519735 704212321 243473545 726762743 33801253 117346185 990449669 198667507 440177147 321004327 507748187 22627751 611221159 276425053 829531055 354919179 387537473 980749361 968856395 363328633 99666569 969260441 396604069 974013371 474368997 680463977 477990741 985200121 834472551 951194983 75502879 825078475 468893379 52813371 575174897 356819759 188478297 329261685 241866715 837531273 470154545 636981903 621722137 750099367 16354555 131022057 327672335 368603069 868691981 43095245 656697673 133831529 260428645 532199791 880319865 376637361 913522863 647495395 782840185 165169921 509234997 951651119 980916815 23197743 310814959 584473915 57692707 385558391 724446079 380994005 844486475 879708543 380286251 963451067 404949827 820478039 822506979 708208011 270131627 114399855 265241147 419756241 193046353 508981161 953415797 832793339 660213031 510454343 890098041 166344037 638381383 496780791 981515221 344738637 406466551 677839055 80864959 970037985 798581921 40023117 113516825 409117741 264476887 713223253 246831719 410668591 914297687 644240435 639015899 220624837 594884865 704140703 554792781 807533755 143329251 986522037 496046137 545113279 287678511 58888187 383933639 409544299 310013761 802243931 947320519 625081923 745375899 612638511 735034545 404664749 853137641 384254513 941313701 328037885 325710077 48406407 482241895 547744105 848710357 85268415 516485479 159354901 329712273 582107599 578776511 976522505 33558913 34186769 623081261 882638137 791198483 903829325 55740183 898304121 975437283 602939311 741195917 60153997 958974137 512221645 945590599 779459617 866381179 830666659 287286435 312337345 644832829 564020633 249618599 726273771 508005437 70002041 230883591 892119805 617337565 705225083 413973525 987549761 344526503 552252731 913337301 63143657 49654351 70977213 924625641 485982221 146233265 551093105 93919653 331270831 567190225 153341225 465073917 720550585 718946007 704764197 165329811 130268669 150690073 66229513 65193643 457313585 294288401 61025251 821585207 752884985 808082531 229720871 489749199 709100765 278811097 513306035 758479533 95942735 837801065 173501133 102510271 810995623 212074795 674673441 685341327 247775529 350723939 624501189 918438487 647127547 78685567 459158837 804383221 944901423 10801167 414007383 483035635 737138367 179341519 262178683 946884731 139614861 62890403 601826641 271119465 5519201 98760597 445886459 432120379 115108845 939256795 568265211 871442199 421889481 680313037 128755007 828887501 625141367 808845041 517930525 215251411 265773153 316806639 978851411 658782795 950112727 695528863 647982597 307664635 455228435 808023799 883924673 101464913 257076791 485144349 43481209 995156839 633871947 300553821 344498831 204106489 837103679 862364969 827840711 179128945 259483377 602695963 907719757 465478619 480636701 684707833 580360885 90547699 975302765 849481901 312880385 367399187 272038007 700585545 124955281 598446151 357277615 636047625 759763509 703436347 322162807 828244819 83222817 324817991 231192091 351083695 421730803 863983979 94958027 794403023 849416625 185332557 761740191 203931795 248933577 48104765 61171097 180016379 663641101 741201203 271604385 674043955 170636219 7123661 822320011 147797133 829622395 871929941 294398991 81580423 28576343 999382453 165988303 163135683 421831623 183878537 712674641 376638729 168894631 2216975 145269003 425898323 804042043 196705325 836430931 67048373 896604979 754775667 179665515 451987575 795856033 672290839 592670075 970920195 633308933 399693819 229685655 597100269 515120707 347603365 87604151 812764399 234296745 942291011 561843389 496390637 203786987 790699951 859129967 904924145 709242663 445049189 140890753 53692719 126270435 575048589 746970509 165109507 801048075 205277689 871996947 368861935 881543925 944494365 223879549 908299679 790907741 205511451 867039001 539739623 206671467 617535159 175023909 781826497 35717801 928780387 875493313 929145169 962475789 326232885 943250419 815840225 547072503 325727213 550636207 698719461 614919721 131302897 913013199 633496315 745292243 311372883 343504147 865274081 913520519 193411271 222597411 865903237 243713349 919818925 899642515 658607099 53800303 834889229 506513627 451107965 867746775 33756823 243386715 645197167 862410927 434201759 578273373 504731997 772086677 258152489 551514643 976746231 171432079 831962073 396498839 251740189 475498759 545213951 6758889 277422285 633932503 114065297 312293617 438833207 17695545 807736113 112139907 292200363 421791189 482984485 852223829 86609317 91403701 49252187 123539979 708962505 273538127 320261741 594645039 590033635 368306305 10976919 505673007 816362467 989237649 496449473 603719525 549667049 964819499 681089405 886338837 470368053 272751463 870091775 169891685 930703665 557371325 151721257 958862697 913995123 594163223 551758207 326304023 525752759 52203711 519011123 762068563 433514973 221675117 863206171 158930917 799894771 797482813 207924663 345720959 189904427 244799923 431229485 41613243 664031711 685406143 139153741 68789527 313023637 332344243 639730319 717016831 429792759 302572367 73016081 208858565 666931671 824073399 659651739 435151007 118101299 114438521 277772445 516000433 419901229 727484297 462839085 758046211 537345037 988324423 423116297 330957447 801316427 547301747 576413083 537462551 568179073 431190079 541278193 215851121 632494961 64757311 354624451 249450561 769477895 627963505 730904941 418313751 283865943 67806775 48079355 731892847 35741337 775911009 984525337 649419685 453625141 663964709 641701153 970478343 87494835 531818015 101310991 470972357 197015239 64744275 64554123 706865145 547851853 671232047 674841575 44546465 692081735 56216971 105996311 227935145 565224161 610842527 396331709 922382049 11033199 15090965 244159517 143922435 293567595 534397945 102869545 856350129 94733433 553691839 102937463 121792371 974479203 297779525 305542727 423465659 125026333 759737807 811346303 803418337 169642179 693076493 994354095 801243943 295363481 904483859 212171279 516082103 75603463 622970717 237193597 559778977 396831651 73870803 556514689 528852703 218446631 212379839 234201419 165352787 833735031 760172503 412476593 702140357 385917085 180946489 163145009 989264357 34825423 982905707 846348533 866115151 787812709 123032667 860633547 831236483 772793827 261620315 125196329 2470635 389913335 737396265 583877681 736026071 927850353 559403757 93841065 689626241 500515149 521004851 826939391 833310987 643410095 882819053 916193099 743368829 841391843 449055613 165932365 596176327 654620505 407063719 196255597 289743557 653453489 211121557 689603255 861772087 577192361 44927201 620106983 518868935 806828081 487216261 915512151 324901637 607657561 178590951 535206417 781614699 212226911 678279637 652189893 262078297 892482723 848888195 991820233 437485595 887157937 997529487 37453597 277262559 264009791 374477311 223423335 362147009 151055655 713220671 110127863 223944897 359829865 47670309 49233605 192972489 563750453 26253549 753714031 683483303 581665501 950599743 796681277 869461273 138936281 80599845 910100511 188737215 507565521 507638039 156257451 423388959 553738891 966914287 39198495 884443567 10941439 196804599 118387557 583339203 264394055 504735959 56459019 414123681 204056485 608284327 503116871 884257393 826485637 47486949 541273851 182697281 736119673 770760565 240940973 31681295 219173695 61646245 366875787 955072953 369200313 353140009 929393261 205264395 680619761 719168543 71947219 594328755 983414043 675310349 840374245 573666125 268355473 230425053 33637743 115772761 635109595 865260777 544520171 746713919 765393567 69370347 951993977 234411347 362127537 670726923 296582365 878340811 495289871 764872659 202582665 96734411 812452827 138636857 519296915 67524957 855325791 23947165 738843067 55545455 856048655 251065793 188589927 635167453 712453255 680960467 649244327 772043621 620533129 542956393 367219763 648749493 387169283 380489089 123086441 578850137 955605253 582442367 433629777 865652431 500391627 940678703 74089113 891105909 651164599 508976329 945476251 565510549 16512857 995726313 629623635 840341345 913587551 11430547 771970667 735053811 280474279 52888375 661542193 904956745 412166709 586420391 833403291 341807183 152728113 332791587 593222475 683476951 653235441 798370641 315546759 134228375 834184687 670041915 137600829 819938611 750850255 465226071 865661957 581133619 722658397 960400259 191773983 895299593 635088777 704685061 322719091 360529167 127706737 92870281 558542221 381594499 55159129 650729253 600559271 131553169 685469099 914456917 504804255 752011083 918822137 595644673 276072959 382597543 616186879 780863859 919680243 644779401 73150369 55234147 659901521 750313657 937146347 29655277 3594653 842310889 908457231 784789141 825721595 352524977 898480743 249187913 327748667 251802261 680074105 691512161 208851925 126948347 479538413 575821463 563989991 69082677 761102747 486301457 927728441 957630333 662668665 182625115 807088187 309793781 956155055 361013869 665283585 10028709 346047107 901289123 509787471 477490303 686941805 705299651 528699271 816874843 803073799 776820985 714649021 942966011 442170131 406084059 868473255 770730505 432123517 602176357 640093345 773028631 149855575 290660349 70691511 794333083 730758367 13371249 561964437 867451639 691551861 168216055 809027987 968510327 342385319 21394217 899521201 554517323 320270887 523937551 65599895 122854795 408067793 715995415 432651409 749138233 134080679 185834771 226443417 588929599 906667733 29185091 797911119 409655405 443707053 339356233 921363703 89294973 453136045 670981687 420917635 632634641 184888695 882985855 377679751 527610289 784998613 875195647 204768327 792146893 171985595 798490619 925903271 1139649 198635077 751114531 922018103 245735885 205547189 384405385 65359151 810840859 987653751 534200237 654876013 633619643 597131295 304471157 220430457 860543143 524899175 332831787 857239681 446084801 589961267 32728965 426028127 596783567 21969293 229687457 498057871 46526599 331401899 630684677 35393083 552619135 652431333 956098461 307631153 388801849 452301759 871175103 398031847 549693725 34336741 653292585 766210175 253596799 976347179 242786557 142626237 788808343 446336907 758990797 152438549 509712007 510808873 700600457 837986969 943525973 720011089 652541587 850106891 32159223 251144819 679578029 219437009 77881411 131493933 383955207 880415229 138810875 651073603 40002611 68594499 691985095 974691741 112759345 850410499 902648379 887779665 148516965 323454789 249822927 390108571 527460765 179540921 490374371 947638491 219077901 425751733 176717251 398269597 48205139 378717495 960637597 157499031 917996917 711455977 834744717 815429537 275525087 544734489 890430609 305711297 681512805 835089343 997695127 78179873 615886921 803500665 335562349 13130259 302073643 88641423 632816587 204340243 258603035 381677807 803527767 716966343 872923023 558638899 770015381 235733493 113544545 834619543 632508665 750320533 836962265 135610885 468838621 163046081 982564005 229287435 996911489 91156921 612786135 331551199 378597645 200606701 733380335 876314723 796721557 958926575 636903887 493791003 785005071 710069623 103436233 97120057 260513631 86892653 931404943 26021523 162691407 138617303 604582719 122810537 268815245 191271405 849299293 905930659 648506035 745237001 142461913 543611725 229086533 661945773 280285191 840833057 231684777 578864005 481018019 368174653 347570227 30242917 537483987 310706283 470791193 223749189 425442597 517662997 758374015 609433933 635685005 253090647 932766831 904498373 274511209 595824623 128742615 534371361 105087103 760656963 558649233 138654205 829396989 670459747 860457057 15727387 658016885 936114951 305286637 611495783 179955173 493524621 776215239 782375157 185070261 387620347 814128235 755275007 617590959 863031557 427583031 104372967 126486027 253281789 739067509 360227645 658059365 706739941 703911255 555451567 615983041 29704805 505505781 926411035 306938253 592037067 824580947 750107267 701603233 914192141 701996375 467545619 235335991 377220045 433486803 511025439 446070261 357117007 127735169 909541921 156819177 300988293 145005315 751026109 572182407 317366533 616103393 298883007 679894189 682386959 674673549 829880343 769060769 258498187 946202207 782787555 471773453 71868933 801396379 687377511 225355275 416783031 346774887 744493067 325322007 678915199 403749333 336672101 947546387 984312805 796538847 125410863 611202127 929818905 28428135 323377741 619239297 723632369 471680309 523051211 598657731 745202157 534672891 965169881 864212637 385939763 318588241 93994199 895522045 440847251 216716473 682129219 855900213 783364227 278198941 278058445 808802821 789309733 550070093 295852101 576609937 596379455 837529091 246764455 521477477 839145535 151364577 792216345 818550905 985895487 444157167 585961697 916978473 987393787 278667551 437342583 564723003 559278813 519132489 431854195 979252697 659550193 874185775 943484315 262968477 932800755 206056827 221367769 97306241 115886141 314128573 501733439 655340779 700085979 641608303 492114187 530843305 242155385 886955249 529255581 335314673 986683759 51482511 11625091 543654493 83314109 295562617 442711151 746207221 762197513 611014343 25711419 932918821 135302563 707741051 485982189 529111491 317278851 795683965 271735471 810537229 677171271 123248801 938036693 579999397 270615865 324338591 64819927 955834525 446923075 901169433 597733725 414533479 102619905 376382359 988652591 734678239 502275249 625967497 985529409 96928079 846937399 824789579 306640815 182047839 882136871 762143005 629555387 640811049 801810871 762153511 941748945 888853031 700010437 160182653 289995139 505428031 680645849 387338263 322767247 696200127 69092385 859457751 789603287 324098651 938702197 295849859 858867301 745938225 251047511 4970961 718609261 305384903 355192553 563843157 266651723 957312265 299577087 906273173 180168833 460182093 910741773 535438585 797214397 828367951 441899829 357951441 916020173 825481781 848457787 618912341 120114097 504168079 871531153 689313451 886004363 458428493 364196685 387047895 970791847 933024721 858604335 941954765 443162229 824548829 468895645 946787687 835079571 339355295 182856617 64950117 992172995 494480047 423718151 766793583 605611763 944058885 910002967 351623705 210469171 297621259 675611617 957293787 964030399 966625165 108680467 325201685 570937339 550911423 405698823 436083985 239674993 664253759 585925563 752205571 596590551 6112273 612078037 423051775 129335301 560038821 600230821 48830731 745790209 179340239 145851937 341604365 996156403 676285387 363795947 673226969 845558321 921358655 377939017 148140069 719195701 144396089 114925097 62386327 474477733 618763567 423730979 673525171 518611271 330094587 782531193 94995693 363351571 23505125 561324045 483984541 188022817 796871833 523255667 618407687 632097463 396113453 772162271 95764817 7156287 929210399 372734003 153642127 822593867 673873233 980455923 379703479 743450519 441718805 80096337 782452653 388060425 43804445 86257187 524532283 802729127 338421381 765785065 76610319 994930089 110698199 85907657 819289539 141235305 854197755 416664467 934858713 459237737 486632523 366052799 959307197 715947603 2518913 278845547 164829627 614468863 49807299 539902303 971341071 152102499 188284063 137398795 465915099 603280807 759561225 824565893 423146279 615373587 820554591 337096843 390413285 977055003 610861671 770811015 7928303 458292059 286347853 796343943 832264707 367528853 200814247 908316995 643539917 27611317 507722865 584898327 24736479 478104013 315400979 319967503 286195631 684217627 667491671 947880919 158304929 560107263 30432885 246088905 113193213 35437833 159207687 211996385 425899507 311395047 218181141 106090439 225324961 174387063 630486541 747795661 367875075 906436027 340524481 29912551 533393413 302783455 998268273 488408759 569134711 584894007 547844545 231975809 390466835 305576509 898560191 569328695 802465147 86266259 179640031 132017007 722892855 823223559 213935103 445957481 651007417 523994509 185296995 648545035 332284761 7545661 781049275 68021477 806890073 957901403 926213147 864352815 284179683 758281811 399572223 727187911 14795527 464815801 960828493 261396277 917890495 376577095 644582227 2459561 345343469 852647905 528057287 788628727 763264857 6693779 886468291 83505315 742259635 225366925 83639759 472946385 713866135 108930349 578426327 822261585 271254919 15161335 13735985 431905945 615409383 53977747 945528731 614681803 644032269 46496727 573881657 109485741 537090097 645055423 326301591 166495405 839647349 575301739 561467309 986779107 25880801 407122727 331100631 15193871 904697957 208421737 533639385 13132697 398425309 637177289 606403811 834455181 353540617 965370637 259004551 217488295 817173139 963670301 90026437 76549697 503955723 149524497 336076547 78065765 735602923 683548447 598127625 476369859 170697619 500081069 360798995 130346673 740938575 407343175 886674361 57867055 303635533 610543007 193131523 441823203 345717673 78435727 91496797 613992733 127601763 259078685 894476189 848324565 883496037 291570291 54477311 553449641 504982399 998732771 646511659 681039585 999795817 980643563 11515179 761061741 298788809 403681323 518097013 388529121 351497507 326765937 496073449 568502145 252924397 410418351 509542345 233314353 646395515 71988991 397891525 79385473 460845843 139687 74770927 640827815 278153949 794458897 967405255 939975301 148441321 2172369 319235889 361350303 766710063 860609439 952842619 786575401 84571541 399746147 57278553 603080693 366041311 607492389 520718825 956511877 668683201 789300505 565814959 393551103 738694101 400681627 367857307 603396661 925474971 689173037 2017281 678049179 388602491 206625659 482502813 466353235 554554313 56288857 962138261 739746849 804047291 415964609 87758713 896763511 22818679 379209941 320864057 699005803 291494145 651851747 309804341 488620219 627578957 239746399 163093811 941482707 370820661 574293729 246955105 793063357 702815095 711488557 234079825 717534259 303843777 291919919 580456963 247515283 721850527 636317691 981923545 114483685 883616399 672367563 245720997 256134871 97046511 324998147 330038169 116340931 722892297 706902061 773432657 507703461 348111887 914828287 208383959 109895207 815515163 951635537 635472277 500801687 750629419 308617767 506518879 547170795 744698157 790010285 613021557 494408133 501807085 899617079 453520507 47849577 569259559 814646337 74337919 899504587 73976701 825559659 129647605 755668605 859422329 842672769 972052157 541052097 290630025 508801913 715895065 26837373 801425927 874692459 692029111 320892739 778862901 101503131 582550957 684824391 973338431 18319479 457668983 674088553 170687537 55348367 385379837 706199091 961714439 732515231 138153097 567749071 217452195 897273997 681844435 722323225 983957197 677884767 590176757 427946383 749636919 64584781 755396471 895364951 150673531 69117615 653859911 630713921 349790999 35803147 695956407 592593605 674472567 257587979 231163015 981355265 926065131 239737985 807915483 58391485 916806573 593405035 930600513 273313641 961951199 998427369 839295149 232741145 188202377 936077129 155808637 757530513 471438237 875512573 72734583 158221875 288110579 877792927 984067271 269219347 990218831 129252597 438429185 396646629 333957461 523402217 664130855 495831563 594228637 984286605 939386521 32940427 908690587 639464223 20103207 518568723 280589747 951035903 936325127 277326075 591909675 260818107 935386579 36439363 147920697 903840261 897482643 742087315 9665779 654409145 639731379 234383159 892727643 575748569 44590859 542555177 609612891 22286225 554313683 596357639 319512515 250699317 954651317 489269275 968757325 952308799 696264893 881518415 543642779 725863505 516868445 386981183 978532405 305414201 39616887 608153385 474390155 978084843 156405327 797128435 561337339 234135677 27244687 56168493 928457921 872650041 369718609 605509391 30409735 704196741 40835343 969217399 51782369 961472247 650605743 882567661 440421191 298225225 584160895 151928991 18214171 165062237 503496501 435792487 915023141 834669635 971621099 978518977 82654741 86771497 47899689 460654039 377410951 767392109 625021659 122182007 217575675 134859153 452269911 162910231 577279195 717376835 619035993 788434649 523200887 252968531 714493705 556508545 455509511 521131453 29320177 590087041 918677425 823542437 733448201 719097585 606521979 956187989 941874861 415416205 528334933 15080515 437454241 702459325 300158491 252895495 755064339 758069137 983274637 72377701 503660955 497017793 462754131 621313611 982699827 547143341 850192385 814972617 899714113 917586265 451053839 552586011 604449681 570634871 423977693 206232485 139709021 993277789 566924983 311622643 446481725 457160969 226072011 893777845 232019767 203845925 596453941 18606027 346377403 137078015 160519157 393879347 860655773 327725711 580110835 50699805 819855641 217682803 805795075 676461273 125425367 157212659 814385373 400708837 703524321 741912573 929029921 846557665 557288621 86521899 922801753 97983131 901799195 577562809 954470135 580677635 583548781 540729489 608625749 506058809 318443857 859123777 561583027 814392189 594318047 673103103 414677817 729208635 695055759 60992429 623470331 123042053 750881099 636937679 480379375 1409433 336834399 649592471 142473979 34218455 684379517 548753883 394613219 409515981 861736135 868171035 711738971 889885613 984968385 861702271 722871037 191501011 142795351 439123923 473629255 950276801 902591709 774088593 2459045 665263137 216078099 919261655 920879721 922915787 954319903 41699183 297265355 126854583 436752523 267809987 906919147 223281671 476443981 859243759 829587411 518446089 944952515 400833713 752443509 38651695 494807987 751453551 86385321 810415125 146034761 676954681 365094451 784288637 809631003 634457797 870681529 531574613 724285479 833405045 860420045 597140907 258585551 51592015 41736683 777542079 853738469 370626307 848357233 370981619 349619353 69622757 534875817 845956049 680368013 811415031 191862213 690718989 420094147 381275105 767696349 377184899 853260715 456435697 992750069 641896503 279095831 984681245 478786547 34755921 131715399 356800519 726199721 490714919 220666079 687924723 478362067 121781811 779597805 972781011 883983117 536843545 664295909 829499709 29462245 794585507 244216741 742807409 81900747 42200005 423486579 900038743 604573977 131220637 209749755 274067323 138212877 727760233 842066515 253045527 335833811 153267351 43480311 442124553 772149883 976561339 6403023 825320409 200851199 884756881 275294501 723130295 423265857 697827577 917359023 972236665 545137929 969607679 325756813 895953821 746089993 174687705 246224193 143622989 182369497 356554975 655020729 238972759 85907707 330120087 450016845 430095155 213421785 495866793 162816437 135029759 940593347 726681323 699203867 714630019 353703413 810774617 673121291 315273517 246670731 820782355 227892345 127487255 652768147 538985831 875488195 775358717 397232637 771117509 153023917 979463495 454741921 656693197 964577639 322350087 826882881 96952127 533882501 217497585 772573319 952633605 983217667 422703463 150547203 342156343 595466055 558297965 793160495 69165323 605843231 389585589 874549101 416379369 757490879 337098391 179357955 5520471 849119943 230628879 699584807 147416589 247086649 463434437 648807407 214400485 242633603 544196105 769981789 412426977 458131835 903648211 626912859 451433773 85030493 274345921 293802425 609236763 194489553 712700955 387626801 460461609 156696291 264418001 577527907 480786423 976931077 711950457 426378715 398987091 857259289 499345233 348226055 161172783 323823457 514898499 788224067 557958055 545707917 285135837 45074383 621500157 107391407 63306071 879173845 357659293 686882631 681648527 655781221 467107355 942242873 242425357 231961719 981078065 881618387 517556735 963545329 111979457 66282953 372333373 947015831 796998873 878365499 989963081 540862751 982074285 537800105 333910597 646543135 790824341 914513925 184823301 81674007 366319637 541474211 712484093 155137141 113201625 152273217 950556495 52321927 132308405 601214977 221134783 603224455 797169059 86664819 269081279 890598805 917833671 381650317 226529125 752444859 104066411 7855017 295445105 246548717 209686531 433319823 506534217 691522303 285588523 777635693 581187839 684985271 52175527 832402389 848416581 238667197 915476319 220426951 849313665 306888607 600083561 485587111 640447925 717586651 341116159 690571073 842388369 842898127 816204421 64390861 623752047 331325895 787593607 644385511 955073357 799230961 615540405 214240149 240937937 589247591 875355117 153009219 668269897 423488557 772604211 998720709 773155505 476551977 105111983 644551773 272013989 49593135 687460537 570762411 397494893 347427063 85315783 864031935 344411895 242515745 541547135 119766541 660288475 245056823 414690733 944612725 728404571 864858795 708363841 793869369 962343001 137283543 789944155 11547911 947517801 324161273 164315193 573159157 345214911 794365757 667231051 410642559 434848059 675885493 232100129 647197325 313136231 54586967 300016505 369494379 201004399 265731335 962630195 645337035 691731755 7449743 17268829 321898447 327843355 65055645 899173161 772209659 22450021 867323851 571890417 439459897 954469849 31991453 846027323 257661155 162461935 71182969 847209649 47013811 20248005 263067569 437875749 810757839 472345123 680935297 704477077 82944965 323191673 336676615 932942881 307625097 521630173 939419213 349567511 281006713 900818189 14756165 455481833 139052891 531495283 220588231 306104627 382700123 381326109 263839637 390887351 369303823 973429441 972559193 332271201 332734579 95623361 720015781 454549059 807583213 109871651 989564143 135312795 911586893 5305237 342582171 376086731 873008835 22175857 249616113 113431389 365153777 853620147 345667619 424145157 681490137 46589187 531299657 17353375 216340459 662037939 997191269 173246253 225078777 811118007 388509793 998026459 67202883 384035505 973054989 291308541 982709357 332338917 586507557 149451789 147808643 549504069 995754821 387467951 13999357 182147431 569428731 535525037 994604215 874424459 644490935 929357051 624630007 47046807 488629713 316898229 860810601 825519643 465751435 974426911 70180385 273528399 355981839 129231009 268211873 133844497 607086957 606440401 125376201 152763113 300727455 611140969 605894121 834294791 170566791 579123789 810006965 139789631 250875117 503118471 548400973 104817173 514658691 332603469 529626675 200610477 12609249 769849591 532375381 710723799 208379273 210327049 322081289 378178313 775230693 486899761 192808717 401433957 689600581 812786751 309197187 472971953 666528227 94832175 254389245 780272475 416063455 170251813 652147565 878817403 85373253 692072813 846235695 705436881 237045507 781943671 434841869 339224005 46573301 604183265 336605745 719549539 923090139 82819695 957087791 70705765 814659935 789386763 704066823 978097451 943608081 845440967 265023773 319082169 674444139 503201503 654423615 957804737 751219661 943059129 586115233 161879449 290096771 879482331 71397857 544246081 229721021 281585405 544764933 686091359 350844049 817772023 91158649 343454531 255667717 440705231 244933907 672333029 34250753 878915759 30735121 454617571 371585109 68023017 702595605 221932933 241603515 958779387 213025073 322132667 538523859 814772357 955779029 307015449 94190377 484738133 917894883 645568483 379047979 871151965 750226845 519914237 307226165 414959289 289262257 504172533 136034181 99817899 557452599 546363655 913031497 872160415 718806953 587456527 665515663 60575783 174810861 934931347 684218191 641890305 180362575 270284231 388575599 481950221 305864071 990339453 429539251 620960601 198852017 226935607 750719695 175850775 117250131 842142235 932610141 165902755 620884313 561806075 964877277 964300159 690979097 576659787 131287991 946835543 575289167 522116139 114368063 16358911 935084065 32631653 107494573 763623281 241710877 719963237 44832801 981330385 286757945 673921859 684803237 727328617 340433103 646793149 38349867 634829485 497641127 532616253 139960205 171873081 836801261 164138195 620408203 298507471 686185273 453312561 828672973 574505053 153353347 701948603 113555941 527619825 975460405 298968439 308389455 593916619 586995993 412609301 677186409 696005709 107075175 286730475 775238269 898022659 269525691 94546935 857532093 832311453 166695707 806823395 967938115 65676281 240527857 156196349 196646669 854307865 249011735 240610363 984945161 574758699 975390151 120755263 299597827 814568831 743268263 126653005 154357945 492655249 361167301 303823449 336441289 825892869 86525077 383152373 398061501 355773093 781132277 544294499 721986823 944097639 215645739 479106953 97075455 956891747 881998563 519942393 877624041 556064735 651842611 495777767 579549931 147949891 807277977 570247475 182207767 720258087 687827703 343823463 788608103 428273985 524635039 186115245 959567805 373707639 469452609 373818337 302342881 562657493 902398207 797696897 829026693 201256843 809425499 962541491 270429763 21271801 248680005 621599303 996242841 197670047 64946703 593809845 52811507 840768807 23029881 341874715 839650721 748524393 348891815 626378817 525593567 850073947 513637671 159781525 932636617 765176611 469112045 654885937 43926637 510767117 442884695 887826897 644951739 784969611 335984169 40736991 112255627 706302009 10910355 693074025 109437345 216130775 85863465 936589349 172939939 188228437 747394791 347755893 708726819 812721605 941631797 851298911 437982107 126372703 950048989 364994705 706205805 145661835 240876053 168476259 235121889 434989265 696359549 920196053 440117543 970531301 667064855 247653263 194947675 913571 582231633 818961885 948579199 478980365 621614849 58687929 370693751 880195151 51798373 110830529 250000667 938913211 825904929 59749183 143694367 155611087 982058305 403592477 448633893 509853997 894608701 441578743 260460217 382071711 612018161 37298699 356698443 983032089 688343713 130809919 109883443 721496759 953332733 747581731 989943731 69915579 849244953 276674799 534084339 811314833 85781105 754122625 169826569 855823821 702262507 763086177 629093865 826478889 263337685 700264637 511723893 738074761 158112483 116361839 505298041 294306551 87446835 870661875 930817955 188674471 796430411 379816307 684109455 470076661 93600791 668872381 328913085 354605925 676803309 133568071 571996823 78837407 644727947 112634163 594172013 170474617 649176853 192510789 860056441 847167469 715837975 184665071 583592667 506936863 512130953 259325257 861578911 258907481 667400901 64310543 122035379 654866961 261188501 990165417 771898867 582563807 336722209 44741415 920830239 53766281 672871169 999941697 262234079 883687159 928630323 112473431 900778439 126840895 400389659 866283373 652474703 97041563 967223175 32537909 834627799 134614129 122268587 253474309 388476843 82212167 577333029 646364379 404322553 868211413 563954939 500217697 768798429 765468147 299866009 325471461 420825431 413520295 240109013 796774751 973031247 926302233 131791339 83705965 334063513 939381153 941947521 500726871 202874349 34663349 202270119 977815307 219212779 793113083 782961101 643179811 164959261 466756927 175137493 915253979 456900343 273508467 757735169 857634077 576142797 392724913 188831743 663464567 229737957 326674751 893358053 507067423 840712037 737971335 632741425 366666487 184082529 554707227 939293383 565391491 542827985 369151417 383931635 414719989 173341845 761483073 529708141 380065571 252929143 557127617 401656401 167156109 824061737 36933995 756333605 415000411 854779205 776645019 719358163 247934553 542163273 472956883 332884405 458498817 402599587 458387135 50361221 986673521 395405471 803118897 364428137 685463665 955092347 591721767 142125551 578195569 116415317 718540995 414337547 347293831 519661879 597627727 271587869 465605491 806965779 949920831 305571559 124985499 936242113 820579375 341818007 427478799 680697861 599069665 342541251 26075269 324556165 435455809 575389799 880402015 255559893 461885539 302941419 295459491 270128491 721474689 674223385 506191105 966859947 127748861 557429545 293916109 178831581 466078821 317079735 937776393 802886195 384254829 159713223 298856797 240396741 551078893 151363529 175550743 515775127 680017385 64857743 244400429 671143055 272210573 549317465 250910785 529690495 335365421 311813067 523114391 662178339 710406211 407543027 291506721 945535769 868588659 631007301 380246901 975698923 233847175 777026207 762240211 936683017 866344309 54808903 929055267 225777617 542487893 473597673 824054513 349793663 381155435 236076699 388581239 927508543 158148389 692227289 942870931 854303009 758478867 214393481 874089933 796041761 990012145 15554555 474344533 420968731 881762211 913086431 22723585 5648093 558051637 10535511 879212367 360887319 951862999 974611941 329332073 436330593 446091495 353491063 268495133 616238397 235466217 952649315 998688739 197245205 995709319 651561831 528233177 798733883 38691219 862245287 232467911 81420261 923613961 152675505 20543515 803135797 78963981 860743799 947874287 630901815 681781739 946548827 546268927 746467547 359827989 854561825 565777331 721111545 76946213 203430645 680484893 784009811 748883169 618837099 780351217 862414227 1860659 513500547 121647761 279982409 735314989 365177251 487330305 61940719 834443533 739836821 38955507 717422567 930841395 972747407 177883071 559380599 137842221 117368623 516785759 673292501 457378221 486724731 48755073 932453143 802322061 570534625 383281263 27306303 136487891 959353139 858173219 645835319 574253993 828956591 394716475 894427855 966812771 675342077 624518911 708662977 847833465 139469607 936536671 30075821 356566675 854031013 986029041 739442207 515762297 17899347 16883699 80846469 134417439 12894069 482451279 665957435 947333023 782575803 995446931 39575169 486848321 346903351 876398839 577509761 332113515 145155177 43724633 71451979 926320817 239386165 280912705 907632345 769558737 291327977 935653341 61325067 428401581 398011193 648155397 861744045 227917647 349171011 157076537 108808813 317631467 122992013 537261985 987014119 95662813 100373763 364514571 42045083 499453863 499391227 93549805 718260209 133023477 942139441 303449449 597075773 158825883 239646669 907602755 756399799 197387155 976966745 881485549 940447359 24160513 701318859 572839805 491091359 638403375 878023555 764260275 697512203 395901843 844643651 341074165 541694615 524434117 720443963 2333267 490110473 789758857 593213181 572579717 95140361 613372877 954353545 592635883 994765605 191167903 367156289 723071881 169066203 139098689 935363319 696955407 899341961 82545937 765522909 150504919 408631419 743564955 401345169 195626719 798536415 252842389 831956761 217931211 683059919 593538007 155460831 408597743 59888463 804361573 160533437 554797377 687171655 797202797 907078381 449033567 882138501 183130943 111929365 177981073 713648071 545264471 27979333 72638917 648683435 793093721 602006765 683518611 686462139 336135185 893192429 722310715 84507753 353562737 457594763 11495077 823414031 460675731 682236275 853882719 864972011 377332157 975395773 559642783 279412523 874647127 449037537 776857669 381007067 500206329 608269257 588661979 316537849 728083289 195601599 98550925 189128291 912998749 844201083 846327347 797504739 903910929 11648793 119132749 931621931 987200167 489646365 835762177 318365139 643644795 198525559 876128799 983832415 186237197 878695801 410922527 367354677 199757069 815643107 949644575 650941351 847051597 833788889 727545575 701854705 660064453 40381673 556041959 268808497 866682013 182072583 773450037 788641137 21960989 515304851 691520399 278299299 493501113 453945933 35774559 189980575 552498955 649917543 932896691 886567719 126473177 505511797 505291841 4967141 231973389 125239925 96876651 173671531 136727227 853620425 791404855 663863855 556783133 24036161 939447635 515112597 642274965 883978515 541586967 554505445 425146801 628524251 416021637 596544593 194703651 760172445 756341311 152440561 911129031 650419143 636643481 480824519 379201185 218530865 987345799 853697725 951816153 251459347 559663785 145944485 645243843 920907031 271068745 965481781 105035229 191478857 938130515 151614223 611901385 381785885 568263007 538178495 328027729 290992497 734017453 352587189 882441323 605902729 588200483 502124617 532556847 137416469 257233745 199008957 625124833 957122089 449255023 484884283 481782509 406899265 746214491 889568725 499972327 161204037 838324381 783652225 433682569 716708991 267097189 229269281 558941879 402861477 842652039 974853249 886358907 170157013 533454215 187348817 300396299 611304597 483541129 155315753 368727231 840741587 268752475 996894091 930430493 920365537 376104313 997602529 674993101 658752125 935205375 810104699 607007397 121312719 664860339 347529107 183914143 217615971 189091337 323143497 745349599 294868779 132300563 553365417 658589105 690855561 664158355 706696099 320553863 334212929 561833457 38730511 555162107 900244349 771563065 36790703 84082131 224205783 994384165 959213611 853581559 31004233 544330261 573700887 187779453 424442681 850901773 159681515 637984929 332881013 508242367 106510345 821423043 546735153 636955265 409461687 668456305 659666443 727649107 332295979 214973019 303725065 36514011 165499771 542092897 493640087 257266025 468008871 51720579 757437579 909249013 555906973 246710507 110442017 373861149 505088299 334629361 561292289 585372713 558961419 622545675 273890613 227725833 183145949 563509473 835050805 95870545 677989165 444369723 794093275 563214405 651676777 203829773 836888433 999727559 406525421 758287985 303451039 871976043 411640313 942056877 767444093 1210471 102094261 912730155 278744201 632063385 768316469 730302079 661815463 470864519 920620401 343920737 813828901 555462499 364953417 901269433 225348791 198502149 774486663 181421455 206209915 878055401 820741599 826603799 290441719 960922423 826783461 251666605 156904469 82751937 387306783 763270355 926177839 793148155 640181491 832518965 787567615 550545413 890390197 772367783 786745773 146315945 627117469 473432353 459651779 462362707 12851915 247440075 666846007 962949401 968462409 723528941 441326697 132264639 601405449 998715899 806974491 258916265 7451365 894859153 499786619 48440297 431384477 86903155 5389855 299688497 940481497 644860553 231998725 191528165 133037869 23355369 932572049 420949259 851257871 962477517 300473999 377376083 183620835 34581145 703204663 728783633 676148465 694433239 622097957 190058825 34356077 454129979 721549405 622466975 609394795 765498785 389166671 376483681 372234737 756056589 202932941 750941323 353157861 208863911 894999575 759808697 379099161 852805573 320049875 97907761 293792073 567156449 628772619 245292261 732792851 74964383 259846965 132337517 492932865 307772107 808650031 344574981 317910149 592882517 801392959 782408597 947466743 689544541 466807057 376272559 578414235 169346337 69275323 383751815 823200407 838009361 961424313 781818365 330449405 10921405 848406515 958448793 149436361 804942049 330506931 422748043 929690329 946689121 924450225 760883369 353559287 800577097 720572937 18192243 911040469 381951691 66483007 780937743 694699531 103940929 179958337 103389261 314358811 327748913 532192359 205488293 16867183 685712197 831451755 37647157 217530713 958197327 686351217 923344069 882748431 287388747 5878283 235584451 111089077 675033439 911118123 780234569 148468563 672725715 997632303 199518739 51255769 941577241 367889629 613875595 794366757 818974161 526698593 592758975 526870259 967926459 374050897 473757541 786776559 576215747 835045545 230620383 995151017 768681979 396667855 818926899 353816219 987451297 588408209 263831055 196838695 165884181 273711141 613912011 402517653 759462117 343876901 380822119 767249685 90291139 278890649 141052041 946029509 790553483 905826799 84888195 145335201 101366335 165235449 992000329 893421717 461570315 566474999 967524731 653112945 762993475 105109387 379711587 177155567 612244831 596478407 271739115 512232367 829848583 89938205 195056815 980812093 372320515 744048747 955852525 767682057 698028615 713363701 178684299 616127083 185066223 602767211 127348249 52331685 218233917 354229983 988996303 515451873 572213407 526472657 328768907 902531375 527299235 373706023 20465877 673555081 651330569 601778475 829641435 254538191 594455731 832580755 703723639 446850509 640118699 421796221 869837349 492991793 611098151 906392687 558616847 314915223 448132735 119168853 591905795 507364991 662593335 367975557 973380727 19388499 734130683 819506109 580136845 493374819 139278495 944531231 21712137 960500969 548518429 922811965 375652957 4719621 728338329 26914567 258984863 600538307 551352671 384809183 784095375 725780241 777221599 292982151 849798549 327771595 620745913 759113263 325889725 617917873 189973419 123180649 62378689 858883693 950589861 673305909 841477121 484692365 645369271 489492983 603411329 514157455 439503389 780920189 347899379 564868307 293625659 499304187 427265707 124655263 984540829 860262159 27643053 631460903 339210227 998145215 650731421 870391685 318535197 767681655 628476107 160314041 960874521 217944331 190034991 886169259 415915543 967431357 868984167 821590063 307819111 172992557 126414523 921141501 454448263 134493547 625269785 979406005 179233303 423601901 502257691 852621793 489408995 465148045 930514685 208087285 309888225 657491091 18374057 190995781 68994347 927438509 973470379 823584791 207675651 421091053 372683583 410096017 280992211 783811795 663284799 312884167 641740595 205896257 467758391 557994929 486633433 625887369 869640531 351429167 694848685 264230749 905687147 606886155 790564791 108138971 436718591 427305975 456660779 863898503 600922167 446239629 38573667 189291857 54438623 728720971 811163365 184368269 306154609 238222751 115381083 513196535 142378251 708521173 341587609 344929461 782812533 423412267 242867865 514162005 217912351 746419135 693711741 708991691 975822879 344061083 924521107 20102005 798533685 234955185 375339853 811246617 148052423 442445019 169837639 205712101 947681253 273637335 315126851 803056235 565853765 184084817 891856173 126410921 489400393 430197211 449878297 247465479 121934327 300080875 553871681 564759119 381987581 236657637 375708425 711562681 107922357 405501713 525224699 846992351 796237851 822797985 445240267 649822923 101970137 720618415 31186773 503325157 408648765 852494649 11480987 86059271 790891325 480184619 690767819 882791275 496838779 236587351 820266293 158391 208566587 753840243 994420821 228388345 172988527 194801443 800015821 357141157 503575469 481335023 803186029 669205913 204333621 166603081 693897507 110740505 418302445 770124425 241451021 516574933 322351207 477380337 787042671 127538401 392755671 204807083 82593713 18418875 491293725 574025671 40117097 536109381 759418817 957759297 642071633 482501839 50463987 340423157 340507725 73649167 512108169 872200881 988014185 506663199 81804545 769433637 99851735 190070919 427393413 751840745 50251505 158331445 362524899 541932417 820564027 408156283 862071955 895080275 563829603 535008025 100696499 441804721 471463481 861888051 471672843 730459605 110383547 132810581 335070985 850704097 494873353 467249783 837306053 90530523 287345775 976298229 638130433 418761145 169929827 42621589 256294943 152910417 723430015 745099393 609860659 62193509 194525315 213883987 986757105 593851551 377957215 410909957 807281595 72467855 203707939 172199933 220534421 159235247 724621581 149177353 751756081 548567649 923932285 272342623 900793573 195477485 42831361 417203097 151754929 412122243 451137355 540426431 987422781 529210431 282191671 667929661 511894741 848174881 245367495 730333417 9035379 203313171 521955877 458052865 145958581 988141029 235283369 513199399 321824227 239697 36459723 421500269 238396909 683759863 847675181 379887173 958379369 482799715 965687709 277869451 608029845 191602947 36525325 702230921 792224347 148940851 319688089 926876135 413520713 346695475 215336323 860466367 61739159 320108589 278947383 561297291 766765859 771203377 765005641 931183153 155545203 640255801 379622771 246236159 510071739 390342949 934835607 55871145 843374797 969533633 572856771 152729421 7547179 760527803 549525035 641847153 419447037 97844399 69772325 901323265 932083729 261287965 741645627 127007313 756478173 799840621 272022035 128323363 542864257 639138291 785924995 907832215 807525575 357064679 64902533 386908223 948154139 437649769 342204987 377573899 481841557 824441221 65832181 829859677 273443573 758135593 767306529 290212599 349894305 182230577 133203805 666297095 412577193 476378203 359465581 673034275 991729093 364994133 558466617 248533065 593826899 524966061 75067095 110890461 567343965 411995867 444393857 486201517 185670797 247585859 559902619 205888237 407839295 291988271 172983727 803865147 598896239 685236173 736780915 733609627 682708935 861238585 585567167 220172669 600097941 766682225 158904729 323172533 777226193 64002915 993352489 729859455 152273433 973556699 997279685 176207233 585922739 920431767 828112873 814933961 44597907 556092981 222619701 609533389 608285515 844393535 349845621 746586215 766618141 981011495 409121951 342777055 191600369 392108103 66228171 454184417 4664661 631894749 120179519 733041283 685325183 352502551 192983397 841578307 118967631 312440833 454922447 701549827 264999247 301970841 578359099 971587605 91092907 290633149 524622985 176914219 846283579 803108151 111959495 851276385 895256189 947060921 652101669 164469313 710684317 724165595 334594563 897765555 56041061 164867105 620853217 583002129 954679119 914260977 200095083 919076373 148484729 765381023 892671091 965381349 636321195 683627105 553003511 44357647 105485909 181675867 562806551 22468999 287836811 982270613 154709537 369586859 977919505 93562369 296802695 458508097 760443723 861353591 587142885 137287797 87727689 607010491 579085821 185872861 339617217 637877363 735626171 547741813 764117525 875354417 927520049 992975781 867722315 559101295 304404637 50361399 933985041 629019023 808935009 584796515 905629631 921209049 946487815 848177603 630702935 373966975 821228867 939598431 704610171 505819801 537336561 854861733 190173567 717804841 401951763 530045543 616973655 510015257 345398485 556709605 122969251 49277755 691349387 364686787 654368173 641209669 461206447 846402831 510325857 284924635 902811875 677305661 34326359 386303621 527954935 694940713 577875661 843584179 855284697 205926429 434251695 662693057 310536871 944577731 214968967 718291953 208255651 857961521 32313487 253451367 750416699 472112099 963928229 327790651 62912511 772581311 806172241 883018849 185802155 597420307 68453057 648417723 988068131 753647509 983460303 633614869 665013873 985345119 325089529 180824863 363055049 209046265 656321635 954060145 263598729 171366991 871191009 289682829 38059567 721279927 58933225 267623133 734113641 43519471 787964057 541890737 809445645 886835227 985842359 807504707 535931153 409740487 862558391 970771123 180505499 398556395 715362219 171955725 849028085 570392803 420396629 76426305 341478805 933762419 947760669 760336679 310935315 667181771 956780047 870563969 713635125 16732541 674493413 288653047 554140133 934299017 749750015 743179549 549295413 563791701 547581281 992092267 234566753 529278633 170654397 588594755 16589517 844566465 207652201 124048619 189473029 40857141 968676709 486222489 620914619 506152973 342293847 655986275 594370761 661271733 724245391 522949963 409967157 209998339 7314693 769200441 896774953 208891699 278150743 118251009 573841143 93183469 527304909 924984411 931209757 561714491 103215957 978176231 703647035 331185299 339388809 300246833 152944671 515551957 15284391 698907303 201063611 46408515 446022803 332745637 437415979 264687245 954148065 38457451 136653745 466187205 275247559 47967265 299877815 795100523 204066081 841940443 378081493 523682915 127629691 731948433 679202499 494723323 559439617 641115427 233609059 453791719 53490829 539490653 818561987 96975685 665474203 609893101 945743125 4926361 754862675 724694381 46134709 332223187 400372359 106856545 697387045 180113223 990889643 750638129 409798161 379307185 854248927 89354539 964924749 543473463 301038061 192312973 858372307 495148647 33759807 427137909 275595205 59404343 495058161 914696173 203897459 508950017 752470977 289517545 537095499 54313357 588139797 107449405 765030891 285198857 741866237 221287343 970895893 887745287 502440497 108241893 761053877 248699781 139985167 440778355 184743135 982656235 213777567 43638735 313695437 611546117 881870225 749341789 81435875 870077447 142780217 300895079 241981611 70783373 944844443 253889563 730170331 948250017 427116891 857471123 424201547 3527853 560607943 296040659 481449471 996550533 136541403 209235905 942861861 856877161 537319731 992234031 580508685 314769405 337620501 631064537 327029555 915144271 499028851 867847261 126084923 95133651 686934501 901197893 487172847 176128617 794518951 795987459 996483909 771106387 509053345 172205807 728666197 361062207 101426789 412993613 521018981 396220739 349265703 637554755 852146909 636837851 118496967 200579299 844839251 879909615 687466701 680170281 434315907 816423881 934654569 194534387 213211981 604443169 730528625 297301771 292232127 817917201 335553893 346883107 140465161 586810913 915333227 825491923 454002059 534640191 690161235 598171293 707730883 181215933 540233621 192886763 138470241 185757787 521023567 6116623 78212405 466704445 609717065 386514495 708848445 610118897 850711793 787575199 36049305 74238827 977948257 423795767 324047767 687277577 410551381 213892857 392244393 160909201 614754871 489687485 515986281 789827631 754689301 999336005 719051421 199113335 523289765 341941051 205753903 218684523 298796105 323978543 754605619 233822315 100329479 337353115 959302625 10828871 797656973 625158113 303185057 577373237 85842227 128150089 299631355 985905103 9114361 235262725 721600419 787176733 502569861 120174893 786291827 272333707 281363241 402226627 179852145 214229745 610865369 507570353 327596999 903058055 543476021 220963783 378612425 842715639 214140293 33217983 580963569 727258699 530436281 479959355 269284067 868064507 591448167 875661249 43575401 706974947 476762575 224858311 215172471 798795081 13506263 339865763 371237673 970608855 966820111 916742039 645991617 835022503 3315375 416371405 370602155 40475955 712847253 173713749 914487675 809397089 993055817 719257385 604899051 779685247 756875001 104263721 70876383 865474113 75014271 578801441 152633953 358021063 842227543 569610433 567263909 997836947 900485291 641711263 799273479 638928019 954588999 966510657 241983755 348986909 64312999 54295567 580079449 873657069 793036773 496833113 629158087 276206379 255313101 185212505 48744015 942529633 543166155 262329647 346568981 207812743 716336119 134344935 885361507 940237561 133935121 893238127 528469423 906120059 979312001 622576547 107810193 781076795 828120659 571033667 195350221 29996497 400424769 850330361 720350801 469164087 388081835 621267285 3635501 955646419 42190741 738350543 397027229 971445617 829051055 38139597 133530117 262587977 786790739 770349459 413615601 23296249 940509311 623568215 786343187 651184769 714585049 327343661 811671621 381515091 204914865 337379867 742761613 721915971 635174143 260321289 761037843 751550861 989717089 921325253 715845421 599651289 769133343 202624013 709709143 76905265 698627879 224490879 558229041 385123851 868110611 452502439 253928585 782774855 416605471 866253555 341723473 880272423 415391285 862725311 670237859 149385561 189591777 773342281 456169157 277608947 910732383 585777087 541023521 35828083 769580937 664332077 711708489 725276605 661299179 42234257 763858427 392646687 482454193 684085705 730795031 675749451 493273523 395021215 130033067 975558499 641569393 411396805 502992617 257325803 634433809 480158165 395574573 639541711 71685989 36886351 707867129 301331811 130174433 674295963 171204089 894679143 138213029 806638347 448291327 772430849 265661049 690403035 874754057 857199801 647528909 736496681 447807545 329584011 113992119 344369663 811286489 997468879 527629045 380085071 251238493 13329229 908472049 350172147 789590623 747840817 494294715 250544553 796554407 976718609 410080773 597665565 128717083 249847019 224836659 604622561 352977871 260719393 704559435 522305643 421401089 310545285 861118203 719327007 885697811 64113223 523457949 548425541 268657551 548903689 387661613 767608591 682856491 575863757 700069973 946007959 331312317 271476227 464295777 880850395 672719183 102635901 422209357 945236423 321930503 407168891 950975667 298883373 610127675 728142753 610806495 25948867 933092965 720315645 431508157 676787501 324627241 446998787 913321957 333658099 440848209 482470545 301652375 160523399 155677907 859124973 799386041 736645953 974503623 214125251 711140829 91896931 255732849 568341801 876223543 720167703 481144383 999107227 636766375 426993775 68589249 185301505 229721525 522932321 313315763 27169701 599014289 347759825 649969401 696330813 556760849 753720967 789182365 548192233 558819507 182228531 113285845 111623979 963422625 372128115 437579513 126361073 994434217 16316867 516847759 409541779 402209603 732216719 216667455 902292681 873617037 846343463 545990369 544613053 472613967 148294085 85091435 666579963 168653815 359067787 927332611 166330999 494556061 393813377 57702645 921453455 148827907 428174487 868392627 969983751 758007435 584807593 386840023 109189135 46635593 618322551 738164263 954822715 672428273 804634027 338990733 697687175 714429157 317140437 679899163 136894041 81196329 436591983 736624397 999003775 121729647 689883355 145401289 569720877 607137293 151827809 985952727 476650499 456973059 581828145 788132073 533823747 559793913 616030055 377808351 747406235 218401595 12000515 35819961 270685857 483902403 598993903 365206179 816197713 414589487 356547323 510512367 829927763 590688967 905859553 315219995 31740849 415434107 314227267 387805641 50346979 363926241 422650535 776500419 118431173 825922871 39231875 339533821 929037723 786332519 65818157 211421585 192702741 160966143 378578405 267018181 568303173 149528631 279469273 311623171 232935595 139823341 879809815 481559519 961137195 63966631 835606937 493645843 666222611 888781209 718714687 937826691 777337879 343722133 259248597 511246393 403032407 667879453 745683209 331167849 864159059 605497433 961939831 71188335 224438525 381991191 623369631 844903629 687714217 403808461 316573929 97407791 920083 890068379 525948585 803958121 961733987 323136075 393397015 903727989 800696355 810038601 193117267 231232887 490172235 382947757 904658281 459279033 388926773 840426551 841382215 20996273 104147625 629850189 7607753 61373943 634356693 538082559 220737711 915838287 97529675 621003269 975468193 679212709 975463691 827388605 767079987 495881741 995930489 175975727 118498011 984566465 119247457 660030219 119150591 359887397 457712123 646805671 895832547 970413253 840294883 285361153 795472059 867499345 254826015 535688131 330860449 655694761 948709403 731205691 883091347 692796363 324901291 349076577 927781503 614484711 396964881 947676371 955710001 785579085 625139949 206434519 641406823 483062905 182433103 954953569 599686335 713048079 796974763 387659779 925241795 43367643 66508769 264722943 583494119 667653325 417773619 643816253 513228671 412359941 511360079 770188105 546554065 2654403 377341259 803234399 437419267 295510641 35634595 899972185 974900519 163492519 610220095 560880067 676983097 682962715 767075179 275828935 137404183 954304947 991087065 218036291 333698443 811363195 514581419 342526639 142003015 98061221 245897571 721477433 447570405 913284235 183933681 437896363 617843427 632523955 74163369 346527871 436677805 233439687 146965063 568675795 582924181 514829721 1689073 529489519 354108113 626984743 798113075 291386819 445998469 880138643 828118023 275170787 592018361 200678693 270887365 328217747 543896415 822804565 585389109 403456055 898544975 841880765 603650179 491528927 561925709 933393951 456251973 542314817 459879423 331493223 32546935 341207999 204135927 879108521 313757823 662110047 677011119 545933597 916467501 670025423 296648841 727357483 478841777 386442599 823971533 422274651 982337197 537690151 814006445 433476449 944372515 61172919 238705729 730354201 281489795 71385701 837358477 538252165 447115423 537220903 717362039 539888593 637925047 250917533 455622353 705358161 95139439 88440081 26997589 728003455 261150163 631142511 640763557 993379327 995378523 793730383 880003401 633361307 456626915 19390447 476218289 218383175 713632945 627829051 490454843 196274463 786836593 680072637 334202147 764770151 273818167 613157551 304499605 408334215 752439173 76036847 756078753 692117269 613450299 945426437 304088385 199174859 338739113 5948703 16258647 301702541 470297987 118776343 566724521 739671909 877760745 94620779 666422509 464440969 83607389 574179903 691234489 172237905 440365517 251733863 731478415 294260801 389243791 710101081 100960473 941023495 47271265 232191795 342976999 509940083 182885477 317506235 495912691 885979521 913942317 330532195 649212959 732556629 923350187 167994947 692280433 405605947 881755963 282031639 160227039 481562019 277162919 294374983 495290175 581745197 66645017 471680997 231555411 835572887 590528293 626172069 541310917 289835217 115617995 568858601 971820837 892678891 261697903 172598197 622640363 550194211 618750687 997050299 710404221 649209305 432217423 705917521 66883105 696834201 383188573 498387319 797446151 437246233 316844559 393268691 20342603 267250995 315235281 933341621 929656557 81559273 21776249 474137109 884287701 989266789 80471621 314325905 732356311 150882303 220065239 333357937 594197931 194739501 435061567 573977763 438052337 938238871 398297075 751406785 286971189 488456963 233920207 704660743 738770661 673540969 287779607 290405727 627094877 498223075 7125369 522040663 688951005 523601843 664282893 48419623 653789325 57574725 834862669 742258859 519756161 361606443 75705375 833510511 194364849 189405987 112799439 140180127 894799101 54874383 647327509 962124309 204821041 351630329 425332493 685570381 679374331 626873109 581268285 528420207 237459959 407786173 84042641 577974093 498012067 189046649 147330655 722680411 718003565 764402927 610476899 565003193 908957089 423546099 51748035 938194735 60619133 263675011 700741133 104718381 957896735 284356289 795474231 259470025 714832275 580010487 449693083 955997379 775971783 916937881 492438273 706633345 684688789 701738563 832260245 111284243 187126721 664836793 678602733 16898609 109450737 231479523 455894023 141882169 355596729 696075223 854083143 739379 425986959 635457487 266248057 289637839 277145049 158178093 479848661 141634401 662442971 64329601 343609079 500471277 292465865 158077049 562364131 809653525 239818427 655004403 945498377 166878253 687225269 626726899 207805501 525078315 834751133 778129313 815480507 31281579 91439175 222196819 738713897 272124921 468902505 401929603 728590229 310468609 277130407 883265749 635990643 541746781 978990473 41329429 714642849 28162377 284758913 926425395 312176485 591090605 171795433 218665295 479371627 436631067 982412287 19922343 962966985 42138055 785046511 774142379 541210621 339651985 926409675 190726891 187120105 890314497 547350665 827939875 953479903 369804103 402598669 898924599 6785167 189129273 892238111 947248947 419001883 475258711 906862705 1555273 951295749 461077191 175395227 70639571 219801661 56244825 731647263 499690071 35287829 350912133 446351465 365225853 76556877 373009769 672464581 369239581 395727113 797282253 435135087 559100973 999473621 936049695 662427017 737172437 688417707 617188217 911492891 947724891 97636067 948421783 66470935 552656183 938584643 541257955 712312405 438290691 930925563 145149291 121859479 34113665 226976415 951025125 747597447 945045917 581902891 236336563 274351029 733182569 31722247 767508185 959173787 418790947 113089789 248678155 803581595 448018987 703443011 134803611 565689341 950060303 601755769 626065803 779270899 853509505 287429025 471857793 214909077 621549405 513513257 716953039 67512805 160935077 666225895 713338473 423296205 579068037 926514201 865906927 585415453 150993999 10846819 429560489 274931087 901417601 203281617 796020871 746635461 291980221 833288923 925486111 441846855 163251149 891680093 593359537 117089669 755216549 982285211 656816163 831345371 615452001 600563781 156966405 804285577 783116611 642998895 700090511 900747705 640517815 904329365 275861919 248853371 384119377 342703517 429270461 722746313 938406347 558156757 680705303 628058757 572410633 92796401 986865799 860776053 771604757 929659919 303314057 670659663 141738277 91841205 581224007 797146537 852295569 538866127 991060109 859677189 404594397 963682227 540057815 333091275 402927285 537467423 173558847 502756687 50526445 21252917 634196625 363588041 283010687 708427399 7067961 566236251 109871759 293363207 850797135 825157899 13285737 580851473 981518227 57573327 515327869 182551405 975117677 371365755 424386665 332283465 307723241 446617813 664630769 729632055 978447809 714584453 971682045 628894519 826205523 980023067 134203555 808630701 326038441 865508879 676089631 883807591 848576877 875826887 95552721 514471321 133870587 279159431 524322117 195490017 526530641 235305605 468020785 957229637 861555733 658267861 97331309 883636273 343152791 961632125 517215487 841571707 900121551 976031589 552980497 618476639 553580379 594743643 549772277 224172931 385786755 751076637 729587239 118710005 443324981 780441673 953728589 891001643 595280395 131828075 916707629 839475711 746796353 499687153 619893183 604431803 91314369 231068215 741891613 368252935 633951511 551405691 942274695 724797179 831284607 830702571 572162669 216099349 145437395 713013907 622746977 681059129 26095775 691769201 464098843 175948211 209654287 648978787 714587523 31421755 408938235 477543475 665028001 656626925 387568355 187791253 173735 637119055 789866477 358543901 795617781 276670027 93623275 760691793 34693899 776335419 153742161 756169623 902618261 595483353 665762879 566878531 392937831 113473867 93925245 854821771 351131513 383073311 696390011 137680531 588366067 646319689 310831951 852620643 211233053 199569449 601033143 355832557 103881067 835874945 83109405 463966475 578987641 56655743 853734287 787341179 197894921 819902393 373381061 483500267 885586695 57430315 241081885 897585127 714771079 612806205 387709087 788794349 401440963 97809081 645779193 337864793 68816157 277241047 611704197 222552955 821136933 701611571 422461503 512180095 145518729 102631633 813704145 533707647 343073319 237250593 181627527 990390909 391639809 371954165 116279133 377996387 796173891 107033997 161188589 118244611 950556481 537179277 605397123 442581267 75624565 831824387 282374923 786314551 34897539 965273955 254032925 739058935 153482551 488086411 218358521 256092101 343783553 227030465 375256965 735840249 667021183 630599345 180878675 165295063 525677941 508835697 689760919 436981381 736622795 482689661 228148529 816379669 492036119 315468475 443477929 756630401 315218707 539311739 88539183 992061355 966949283 137779821 383631255 139515995 832018643 338605235 415673445 510285379 85769683 460862927 901101501 848944891 295723267 203819951 808426607 884194821 217031393 600136873 863373811 493682635 749504285 64599163 969733479 919597725 911918983 637284169 566108817 984451509 82390299 396971679 901407461 639581749 534650111 58832501 558145653 261760549 385465721 227124775 817394947 37927797 70971649 539615611 308475639 551985921 927161647 54539165 507864671 778061707 94151113 537704993 912311793 792902839 423551929 566017543 27587599 384033819 686387217 457947317 272985021 614335025 277442319 805155573 650114989 274361685 326922003 805439997 868539189 902676181 661699499 424765547 522793301 967781343 247417481 362352453 115514803 609984143 351691399 560272121 542007713 477178085 385496235 98099289 940124435 183739339 105381663 319128483 607771049 542018065 307466807 697066367 447381419 829791089 793124715 307667959 952317705 995724173 829754979 448623491 706510935 906090731 45227495 900341759 403571161 991507457 294321899 401349551 746638451 817092133 177007499 204214851 449326773 556404889 50733577 741337037 370482647 508473733 553528273 517061581 451948213 691989757 763287157 384218151 125492955 360740345 692462259 752577577 719751031 472893273 282640237 649699719 286656093 959874281 182909101 992913247 273615631 235610711 896869543 780879671 259165109 280795711 117170871 985833467 456969243 952004897 81881183 555482881 848659133 732913767 664784461 260090117 677795765 84301151 593212239 508155183 114864079 964153927 448959845 421127689 416100727 87051069 648595121 418356873 944805829 72813389 130904191 721937167 994247545 880860005 212917823 758262365 28638201 283648865 890531983 284933283 345133653 899110657 203354161 942690419 565475397 955343597 314131731 537326029 857757479 720239545 365087557 541538579 893341443 748574429 435966979 619700759 863519113 437920185 672441009 473602827 229033743 963768983 210286041 489945997 145304467 944741289 172768305 81046435 395875263 940151305 96566161 2887863 580804577 397636791 843495935 234179235 128656113 18346395 692102307 3557537 673557901 930778249 503187667 730336855 85910779 140136503 768868105 608658643 19015215 575311689 318133227 229024651 426953915 245976905 953919807 953395033 90338785 580304293 349909757 789521797 321280393 737021623 203288125 37731003 682571071 589939395 44619333 268709907 593315135 617170671 745807743 999220741 369758563 163548239 274057341 419375995 864980533 697606361 173499131 343163071 160023013 167944817 376922335 404134025 778469705 878583263 642388271 145681653 156294881 787199957 999579939 464560775 402794965 330780141 776913173 404297519 905132273 187564453 643645831 815641407 189591983 830212457 606679075 119016567 632442669 891201419 953109185 489706747 318764851 961797953 57295961 474318425 493860143 91720623 686538253 648650373 434225467 509725917 801641003 484447455 200038165 712652477 277196581 967752487 31541027 597503527 825997463 149506703 661355381 307174367 604262467 312187051 667687105 838404491 917903637 122541177 722196841 59732157 513991199 645878107 78750835 78692849 517528991 967362593 331245709 950480259 548319221 387055105 734632719 27485889 486748337 49478551 927850233 641781979 109987713 891088871 876189683 58618857 52187459 561994079 89289545 858132463 84856569 478391509 576269047 356282323 716532431 919880839 299456151 736518247 902751001 644196633 68908149 56796517 493792081 944028825 665632891 994778223 317297433 730310523 811596101 896056333 501152577 868405661 21766417 507684529 794474679 436029763 511047365 984885171 915074969 578800669 684219123 339265621 2994217 185166911 71802063 921107137 518670291 964610341 952488249 178703111 586498091 97631925 264823737 33532449 925980139 381189695 137618813 930076401 626521079 649139059 915741279 3167551 310407771 551330161 968552411 893805243 257966919 654080959 281250843 178913281 333063193 964878667 683683053 145995665 262135893 897200487 681446601 953030357 121130147 79719633 139342795 49195805 199356889 895108273 430860991 631127203 37558259 642569617 643515921 948221833 461282577 718810729 859359963 36307159 861641343 91143573 556943321 720874877 866040243 656358875 158924403 509413719 897964869 477534053 931849659 295686693 185334779 21584077 244941669 934875281 919831997 447459341 156027089 899018539 750755 387236747 79364617 552616813 150638563 907141397 910784697 644094647 490119907 442165471 792867129 673045845 195682351 76037767 736746375 72426357 763597433 301623315 329089615 295701555 844341147 817861359 663438299 736901775 974273947 560717041 107771685 631969907 436071843 410279253 739805387 679780269 610845957 213546947 750439957 368885499 201570879 491730757 44227569 778612989 440656369 451780435 446788601 955132217 398190569 229502151 924160361 750063907 132463129 17752299 725248043 968473877 165570971 295629927 236426701 413400399 721736117 132210771 401698951 822699259 689147601 186175789 86463541 887374119 508886915 890484697 157052259 743770577 596070787 609025189 154761277 163480279 120839865 803753541 561417627 379402501 771593261 874118359 813563903 68853513 664111891 980293345 56369803 258495103 24268743 588799053 669826067 13586661 960131787 70133621 780550667 668081321 383090635 330980371 814584723 35287065 79289499 218302543 268986483 360919149 283731509 719417267 294587931 45138121 252162491 113593397 954958497 371291447 714798971 810207541 131176901 784380837 224315881 553998965 902284781 974866159 145864349 480706851 682787113 175211987 344356699 184593109 798392881 131670013 654980367 695953545 21977955 726882047 618570445 736502691 284989895 529719633 753857231 900036335 982300685 729191251 535201657 455000485 126139785 696316495 307325013 569629793 836713279 525390711 568119577 468365351 700619985 883060453 660174493 317086567 114883475 94118039 599222245 635797235 864350587 889089401 665715997 776481547 948342309 278450781 112967833 64450133 807110109 441770745 850539989 226717913 394477199 685075185 199303793 148069139 560354003 594051277 776820537 725585115 308196073 672643327 334099747 132638329 130513849 774879457 106005575 445894553 653681103 588234161 305979627 40437329 872953447 138688411 137448567 911917085 434848347 153359537 265571457 423980261 704383797 276369385 147545029 71620083 85717541 500980775 729475363 518250751 812864257 178446643 965702311 826725667 982914377 122053311 328186503 860441065 692500771 616736099 910861339 322388025 534306911 828949923 746083561 837155181 220446069 712032485 182348699 793944125 686218371 34331259 331182851 751053779 266086481 298198687 752224543 726552251 431522125 505266547 206071311 243476969 246984849 63209983 625721121 454784955 812485849 961701173 350104519 112477431 139539855 557232877 176512667 568126409 960619457 282482921 67655779 303434951 211850021 341050835 312481545 36432877 598640413 75596859 376654495 539826081 685481901 720569245 93481059 500521393 720118407 75096405 191354295 134211155 473126403 920019889 485695267 179778337 121959453 145481441 824882015 175526947 548305277 87495677 888457797 471051463 350410357 411125255 772522967 120253151 286382073 661848809 67617089 612389291 611339433 378330227 445362135 420719821 781918157 686502751 122808851 152028503 292840021 767333455 310542487 750819003 970372055 705890507 199276337 749299671 188394899 482538051 193493 591929839 300985711 179532051 263075225 667561907 469139195 507044731 649471431 908377141 939135599 401402021 355604677 846813173 747055529 871898017 464718121 118086105 778038063 769222249 364354221 297264171 707368757 153847519 854832947 742541217 555648653 730867657 547362763 220578393 188569019 288049629 128639395 867820761 614841825 443552433 354211609 346119949 465139667 851798471 991924911 215130955 483093767 170486151 228151827 600588625 673610393 897748549 753544469 436217153 18862677 163231033 145195697 573044907 318305191 176579973 586620427 974345605 771206823 974884143 567860077 751761195 484981525 71940653 3738957 786009441 194393433 528425301 11357507 51955543 991304063 860783463 602614547 738269855 452291649 339721745 893361067 114486329 971569149 529965793 149506587 596946825 838492605 136601169 974129311 144424797 189126187 321501377 620918683 587501801 49168035 235908989 241349787 625515211 756443171 63137203 453746511 572481545 671486033 289274239 548612759 85605135 192974973 941138655 991055729 274469553 992927903 93713601 161896461 394011441 566708309 323964403 624052923 57844527 231877093 500450349 503475961 597384379 754095939 141495061 808463463 96307275 77029121 656797999 676314579 996007865 64161123 586741487 915920943 547042125 987230539 56265647 419326357 199162037 227644749 698572975 425532491 973326851 655504031 197754391 727993275 622252213 79905309 2807291 411974007 367447731 879408979 912374609 988319805 895671625 399723885 603271421 371874541 837639211 738925635 613120713 5689749 325588087 100706133 346928227 721234023 584164785 392765641 773854309 426794687 417818313 443879537 14300499 363783199 102967059 378883265 229707923 536058673 324807499 698023385 696419193 76458701 954217111 849707137 314911803 756909803 465410437 816026409 949788925 653634989 158058761 405821159 320464073 855624289 622284673 677326457 514908813 689728121 280379827 759782217 169267747 469429393 202532813 51649125 760462671 844522347 417636449 150762373 879407799 680854773 412621165 922703367 358544109 27630397 361708377 353964019 80193389 649697155 11236335 778942199 435258261 935135017 123685223 84991341 761423279 427926713 583913819 12078929 333289453 112725735 446136789 882009933 930915687 280787343 292661309 168696237 939440927 315253941 552408173 261090669 407724289 435449217 137801631 693420327 736598745 616842057 178232697 538219047 386917731 671731335 160713479 761028953 388520769 505225695 386725827 469741141 544189947 469269787 256806021 546755163 842171651 59864111 943580307 757390161 676804273 194052153 249451165 563168969 328750921 137385079 369686455 222864117 78517745 822673239 155769951 695196603 57990075 967636333 951454071 739037085 615399073 889964661 959895887 675602125 729906821 175876687 625989789 169341983 39538223 56275463 791823739 228100119 733907537 401355987 97072241 655466457 434557059 192713483 267658093 858770997 478762567 942483765 913721025 927015587 66047495 349611257 290934317 110756929 158749715 509344813 636569045 894067925 786918309 115774413 847356741 673326035 440779743 184685817 92843637 598193485 766082761 263108095 320346817 160819461 160540757 325019471 483653103 443859299 8731483 15473289 630437161 348809333 88234141 147668333 307881993 431541489 746219973 470605029 328590729 170488121 62284899 565801481 154178319 58934353 514329841 353038095 912640873 110523627 144546255 29336671 543131085 16502877 152463433 515405695 980537557 269624743 226698127 497469479 750616969 533914223 799489977 47256881 738218069 821405191 552803017 710767519 901093903 316462179 838093735 873401245 801685749 842216739 146289447 551179133 535967657 737338511 74761473 40464061 48037949 624165527 204411607 487599869 660498723 849713103 229002031 29802251 395311159 484048507 407166079 852282329 657257411 715770751 512817181 462395779 756403055 19828587 661094219 26536523 171135829 554289013 470069297 878890909 711301871 692705407 42069219 818137869 683536931 127702543 860664921 478578517 835246143 480119123 52218229 694924631 289927415 758421029 231106045 557723427 557008233 259784193 60870567 600556775 571867931 816574737 977065735 856203777 383032569 531861281 721095331 333241843 232939095 724279469 504275939 320204137 905480183 307183055 490803735 953077559 603571961 773849427 48475511 914162519 861064173 217871269 179521577 773688301 712202185 117473757 660939569 863185475 234837225 632721083 339859331 869335501 945528849 753693093 114383097 980219687 817057647 440276395 917614931 196686613 694572953 101049989 761542457 801744255 917197453 949883793 134417727 636336763 966603439 312087255 504029917 654815043 2957261 908399111 615284595 789045563 95589403 986470775 820299083 897744623 741167927 290167589 759634073 452731151 437318949 573752763 965478001 431022969 274721109 808161159 999353305 647435313 589783451 42675073 946881719 676811359 4538675 195347013 650240735 925394779 3528643 980297503 270118663 225692571 981857881 391839995 827462611 561059781 30628971 89303923 423055053 489178533 849342675 476030403 309090147 547989291 545995993 475729365 32836079 706050935 268479273 632782645 323936949 95105479 638906585 316408861 914512603 88490635 479192679 257569389 682583925 33730131 992067765 695518889 209806969 172535517 170501653 361518339 838834123 778445833 72189753 754533457 456752691 74469605 607284285 502229267 613795939 569879203 260640171 110308463 805929973 74408861 615676267 461690679 317805671 85653081 220571095 926088415 760276007 935225473 205779113 61496455 16563585 728501735 755270663 864647159 156224433 27375497 126027135 32769181 259365849 20696711 294462725 283905171 926721025 820527407 847367159 272162199 683181595 626434547 987920923 411941903 32132353 860758127 952799901 772599305 749318001 605528677 679926035 551447105 481659159 854466241 549517433 22291219 992045955 935563415 307641399 90230151 774918961 925667359 539016983 709333067 723505279 892914625 292170833 393170103 416062135 704859909 879170175 832171467 403430665 749434783 163576489 738540847 202762131 875934827 798382909 582577199 618904657 919415915 542590221 562299591 187703343 766127563 117800537 616382097 434336765 918111967 382883781 432171479 323782005 568096545 522963805 388914825 361849913 317297717 797052313 481185597 781558481 108738789 180454997 27563571 407298479 663606821 551469527 955703889 785720875 422439953 944629195 747476009 274280327 83495661 683061831 998700781 216408045 246101537 226383047 172781955 310372717 142911299 519330097 372073325 596742913 168210701 995352275 710405083 627416971 457975907 557328227 751047847 102639315 406464847 829596667 82426701 214177929 678456327 852054051 693014519 519619401 53783011 421786311 781116019 126753173 112796775 448289597 136788793 869183185 551195713 550576707 901515877 708500051 147403841 891072765 36663491 201326163 135829091 789381111 741433535 568129779 213455051 684825641 347525491 655685947 488005317 134184431 73656219 281912347 832270785 234639885 748843679 726867311 850219615 970224819 884467089 939393271 627015005 685377139 635875365 507165021 262006443 553162061 195308987 754101041 246266457 579287461 381171293 172733421 403726243 60033353 733670839 433167089 659972079 955673711 420065313 336328329 50898371 697688753 274550681 775959779 118701015 104640535 169790667 869009179 558034437 830966797 992905217 813589553 645187661 485214825 595694645 162151439 337982943 182898279 914949 362188933 19469835 225620911 133469369 563824715 971223375 389773131 249919295 984613383 913953355 155301553 968539441 211634493 179242701 764526273 547496907 10183011 370441927 204683965 472603895 317193933 595918677 23720277 979237443 773691841 861498297 401216411 895413221 697069927 628633183 185830415 76501951 748994255 468063705 463182229 547183191 46262769 260998117 43985531 400895451 185148595 716962403 570166645 267227427 971645913 77568097 177385633 154870959 569726999 441512211 1921155 814000039 159682823 873678543 783694603 919104215 88317993 903356445 882301581 118324155 266282469 590825127 570590405 25218413 666040463 291353665 69487065 974044087 42227037 871783909 714809687 983483913 128871797 46873783 414093109 211007097 264308443 250035457 265799885 735632583 877451139 126199095 321831911 232785753 582454343 358421237 759181745 503112255 621787109 732844541 811319741 511804977 473040907 280586045 691633417 793938317 454350405 936007107 648733437 610973531 66123025 366333391 558432869 443021897 418341581 252704195 718015093 257855921 5415107 195143467 297003465 984558735 848614437 748390839 372782443 569279629 904783117 274090053 749983171 222671097 415748985 276586455 28410795 282025931 543243349 606998683 993824093 704701599 805191795 938620129 312302975 548778945 142844809 3029541 388152863 475845405 157777211 807378955 435740593 947111243 812065811 421897055 450095637 248011403 797732479 290516753 710330763 230203845 82474457 705926975 184276423 793289093 942088547 778992685 719685849 482492677 41810761 525845315 636518463 803716389 775119767 166743065 4311009 899177321 383580489 485572453 962069257 379663619 967348033 140064269 226128239 329126857 914595143 966770205 745014829 874446139 762763021 55182277 973461195 944187263 491271467 683403365 578644023 319321701 663467045 429116285 251237315 961953893 855411041 585190327 457183279 622551965 747679793 754394603 478581407 487652565 793051855 502670863 45365665 106221691 127005021 41245769 238276649 236499369 210980067 490327525 224922773 959922971 132677715 430470741 546390955 257296955 179692421 970576949 181871509 107131927 76231227 854603335 324610797 881155173 570185503 457674357 44707247 549116551 136913603 168356055 336760893 746382977 892634269 488892067 838706279 263987205 542568465 944290113 822285921 52374891 225194853 91547961 289219019 788105903 619709135 34833727 436397223 572077177 415329125 981203759 36961379 251067161 430622761 751561483 174453463 418499977 553001733 774419967 125136187 806996067 992336329 516361565 44457785 27159281 420917039 674722211 231550427 125623843 407191513 88276851 275283097 721353103 984762191 218551959 961165391 775843957 419617537 281435395 605124163 659031227 925633867 649548243 535440159 615325681 75298927 684021833 862916605 630591565 941090193 779068113 964596567 146119089 727430599 223527935 289043475 377707683 165931273 133964685 467657855 155222355 769432889 784496991 761291599 487667861 669346079 658894463 264315043 303922413 111635307 921057825 706591997 476627325 893447097 223752865 228087883 320517401 276070793 306754691 746664163 146730807 872152901 841996655 912924289 895285491 598094141 968756027 727318349 910960153 823603881 989568737 170332369 805778965 943435951 935123333 189811461 167300863 364786003 891370865 700132165 622592663 549373579 480803099 268760917 985279299 919386413 368969755 579315299 404955925 659839995 193970231 751961607 367220929 913304221 793782359 468825403 957455527 871325351 563005329 989600101 133035471 672979089 117239841 978688337 223282921 517192891 749825639 63386167 555662667 704777329 309518831 741912757 490403829 362751713 822061679 631610315 314153101 568144935 898352831 29177835 281980515 225256515 760522725 529260521 271457135 203463197 170059273 682799617 496514895 770975881 974299011 291822299 623158857 43920701 20768713 730787969 286441553 372859359 726958721 915991401 988029433 84059891 48879735 434146675 101708165 555442925 61582493 766839009 666413015 97671463 68109069 446141281 481701251 106342625 605230605 3672841 623143869 449366083 882743559 901726551 382680423 999262049 757656461 378132527 700293127 810339121 908317789 582275807 119735499 15593111 308687447 762586905 920180619 731252061 172223881 96433663 36142023 719367985 481379877 577808149 786752421 948229293 176823175 269548871 206849783 690717269 447143729 134553065 19743793 849812879 246746063 782812091 525551987 842185647 59010099 171267555 432670597 459878635 545774683 537203945 844820695 283219305 412945513 995772361 297803391 379419181 517900199 662523099 414202171 200987179 5361545 800581863 504776309 450488123 51541163 94054425 164902715 986092321 720147919 606677767 948839237 942824067 792789729 136703407 723558385 207790067 373862901 666949747 596997959 197279981 713865285 937568037 902551285 3794127 246454067 625343989 14500693 190051811 103207245 4290693 346283107 695733339 632892743 300857559 575208137 815026511 736585977 219142235 375216851 407997379 890058855 473223395 954185597 346118045 160680125 304186287 865341793 256125615 863629135 623426147 165218251 302390707 160035991 365033997 382265767 929441099 738151737 606104097 274283149 245890303 804924159 350344061 390752189 666475585 524672479 285655911 728091933 400232297 951289585 425479819 748980797 673833147 299623801 92205055 436888405 967018845 53715429 166231615 767153221 665576545 844044485 836691507 684944273 645718465 878710229 759572517 747850089 239033695 433553657 697478347 200207527 542067715 751518525 991713349 682412489 874687583 264228305 631264533 291740661 81744395 226263315 135460649 798708731 764440201 816115079 883046105 726827859 63508035 632400599 131715549 718912281 540337033 859260117 98500191 496860441 984063893 419896445 711050219 924777153 714278281 736261875 479788661 962772517 208686957 92280963 867388251 798518023 460261171 426160543 995511905 212812239 260030899 802208737 176619191 906655371 575018415 912553231 952367601 5578225 962726609 899123731 827778827 967889505 841544361 11471871 244405611 933161701 87096753 10663697 947878367 175025705 203232841 292842921 423865755 323167109 854789565 181312341 802703679 958651897 853501245 787660743 474436045 275217707 250919137 137089497 673700787 104837741 547970731 479219345 897872327 450134963 742087557 790258713 988130885 175275165 950966847 47064773 938815445 127015283 865170065 995417101 180262017 496543781 74787873 94520217 729578177 698401607 618863477 7120945 74675825 910942493 653981949 665321673 943516629 326292619 682150933 83340157 593043613 443753505 44537341 364032655 248239835 812046101 208100063 760911723 523348495 441594441 704122059 863098787 383493661 369780547 441669305 13725685 295387731 826892593 242880911 71159619 264664677 545775085 831611665 775511959 988150641 52375795 162602229 266473765 707431165 501730413 513011153 886443849 913046517 700100135 454869541 452535685 154305967 152311965 556393823 819784325 936736999 170329065 862699213 964354845 415039685 71101141 164222119 43470151 904199123 873863633 820160275 333667111 571081993 279150581 411135253 968283143 34087105 823605755 451474339 97410397 599040451 251683665 484222609 801445313 549377597 499346689 733582757 110630391 908523713 853444805 713294213 591150061 697127759 147559419 828877509 981871027 380321867 306269867 245893853 598871685 225047937 436614277 924941101 300669383 105448745 870681055 379858943 278052867 753141471 729850551 474750855 645223919 308570281 508457911 194814169 951710563 955708403 21327661 737014011 242587747 759659665 239889425 923544019 250301469 495071171 941293823 216277301 716910561 15810863 235475267 115047383 112289835 79698911 58541001 451473503 615199135 155902281 789060139 953315409 186362377 325104205 945698213 278331169 482644827 485609517 299534881 771048745 325379247 387572631 682623275 789788327 173975371 28214689 362011901 651687111 306241431 554143943 702712695 865889947 381100075 882821617 621040413 469616665 230780093 199096683 797644321 528323365 615163699 813182439 852532569 557514377 38321817 974217095 956063557 12159731 483460129 544634573 157512971 945416701 23101479 584440745 691522941 452342571 441194283 812666479 219392527 942606563 176153821 966707931 688127457 806893431 900719887 405627667 318084795 84346403 601931961 96741027 689256971 688430083 570604803 474410373 522983403 144910631 369428021 95205137 822343705 658451833 357618883 189123343 542098169 327548889 446409799 934162603 752381087 144731395 412309639 195268475 558990273 337971363 159127149 556875387 665222333 499765835 486454541 78632209 71048345 6658161 877852833 856821773 697516041 347688313 31537547 936801951 292530783 173496491 642447705 310018409 811324573 994902841 71507903 587981165 808965739 968590651 105264531 852543257 479875349 719218867 338684383 217652549 562728085 101207179 930172105 656459307 728474251 851327891 146791077 732553327 673853755 351839623 940310257 215814691 166040727 696607747 17008463 760741305 186723125 302709141 13539465 984615695 990948693 252385965 58582933 366959723 824558045 182885539 144188555 798929785 362797407 920165561 5048751 678687821 624569101 183032089 953249389 245449319 555651533 925161427 449689177 233000877 746229537 390456801 96635437 732330345 782342201 175882277 42360013 982667601 480744175 33872999 698235461 715972741 871272127 978745433 678808261 96619655 973222867 995744915 982881195 247846981 748044793 377848727 409345147 596351253 248097191 185217741 757141469 630320565 860482815 677366667 674115751 236292935 795343559 305266693 574225619 557173341 794405229 389138013 458919045 81020905 992614923 882449823 698399497 878104647 960181085 785985209 906517969 64716353 801249995 302894471 199078775 572916735 355182439 568793033 315156161 828729883 904046309 706064425 585589143 194645135 11906725 757358903 1981455 817504705 431430321 634467949 755611493 563139967 628297397 189525291 630117113 335415805 889776905 320979901 857559385 236490969 813176235 13992017 21289781 992233497 295144261 528239107 691938413 246564649 290560551 148240851 540797697 334046687 735961411 35689387 666250779 254257529 534942527 111958363 751015699 896672665 938905949 391364509 163478111 197305167 5334669 331257105 821949607 274067985 661719657 202616641 188962739 939427515 687618093 558177185 497651063 656025745 195162563 232538759 424193293 426578497 881563321 631197747 971788731 412610787 29637957 650357715 559227371 921457905 450654537 438498933 605867057 66913615 351290187 357873169 786110533 888330831 376808825 466710157 589978639 3729059 596951723 581438125 909821079 479252073 165608289 862811941 753192209 496398375 225385155 312906127 934111705 15996873 790142877 875533163 450154865 107548579 878731625 647448353 275391365 109920631 918615367 298399493 871179241 41717093 144951035 62594639 203120021 919841021 191783415 59172895 117246897 336538677 16837713 977200767 339099269 132925543 628015049 659178337 828277383 758269275 4099781 281870239 19525453 647682621 807904085 963096055 535613601 374451363 873230897 201508375 946373481 875240331 162905015 617587083 110631611 19659353 481845487 395782865 478848721 466828761 454450823 657457223 452424719 970216259 859248601 764497207 53501951 825616179 914743777 517825747 477945941 299706029 815605833 832637749 948177389 285944353 529447007 490895963 135442891 134418531 725902873 677757235 852513303 763628463 468287257 743715977 333737767 774970027 932502949 805561883 328147061 780567909 269438891 769482631 440671141 303376465 445981123 210326359 483651459 779501389 520364589 728314365 917900543 343223455 291640273 803607249 794061881 190021619 366484795 875221783 908053359 382215007 990891941 957360885 592402449 832772193 34793455 626016381 392639407 812250843 782918045 445590185 422856453 364837917 669415393 219115611 317619449 807640541 824161425 739734363 851041169 287861047 584882475 60579675 545507077 281308079 370850779 371841781 635721901 365963317 214273643 169492647 10348559 10356251 98105683 92668893 680568789 766434849 933847735 159949287 19161809 864982379 463185751 189283073 835097343 688392837 181482921 416881479 661326469 393722473 605079743 695873991 913956523 334640495 869444445 923073905 610467555 472904797 512029415 384234013 111622605 680743267 80653419 960436623 959564329 316167957 354462117 763268717 198500323 709420399 242136049 908788041 70977293 881536729 704651093 746463645 623037157 313871645 812676995 677639883 306832587 199630961 644244177 515267355 542564685 627978869 574153025 657712829 822228253 54966571 42562933 175290061 21601303 693190657 616910271 456189005 544547901 257024717 907747607 7425313 970213563 149852365 719333405 768847649 429730021 743604645 331295253 442251009 755659059 800412257 739877873 351478627 609647693 540664953 951630663 185366483 518175227 798543561 127878997 855910849 290012721 939898517 641913861 637972357 530302475 969063053 606111975 361382753 607144139 157479877 915682861 902306429 4169439 115114681 22426043 140295661 898624213 60288591 506376215 117690793 669291117 10305749 531530097 512290707 937308041 266461951 710386845 875070579 156531507 25118443 225107999 872560889 714139297 167953183 60972313 48395969 968697899 541075335 440630879 396400459 370452565 492061305 912933733 923633409 141284555 204761011 269846861 681872435 935742817 920906583 51371997 72562203 120072467 262894839 370249347 777131481 903623423 579326083 677600599 706835833 436683639 161523037 372619289 863671529 332079337 533773127 294000431 88469765 647657205 74229617 14519467 860928141 272665945 415544685 379079489 203790633 212423941 714153019 489006417 793238637 16815369 235605311 233466851 715611345 512411553 141671751 263378855 955631797 453181233 984223623 943568883 989177701 234415429 263671965 989597127 620034063 412273549 149668751 429651657 382269647 220163817 636493513 529758281 713015717 403781207 114595617 572928573 775759225 648135687 549877971 869779015 417897247 585795145 227841669 336666285 614924879 390475931 547873349 414452063 250181801 271562909 564490889 242188017 990906039 873233181 984966955 523155879 294210283 828401419 100512373 659043 525592223 584376455 553480719 17729977 896409363 941423057 316954641 674471133 748998767 399034963 651635193 223196849 946769607 167229861 887700395 796971193 201502993 26085501 326471795 137275433 782714419 951188419 902590985 850040531 710222321 254125951 382641545 910315065 955801599 643575781 198935671 827054721 873612535 114177615 209255363 886032251 254805847 266980419 774746817 197966239 242731661 551563883 379209261 181596429 180785637 960113051 521615149 125431433 867834781 802635725 451437135 943855237 207079891 883900707 957806727 715678229 71070609 809707243 906100277 820054013 356713417 397176471 568808475 106423201 992553555 975313091 630765159 569844753 221048563 569248817 873082799 881722629 181885519 620164301 683071983 378914779 84716795 416672427 807671183 170736795 411148909 979847429 371555417 769129715 326207497 542527295 384125061 941731131 961594903 502307811 831474607 246067061 696419529 805649317 232617435 452053059 453369143 404142177 88575609 819307001 453871205 553514009 621962587 993619339 232502841 12407291 351537601 652961179 189070469 756655447 683976527 762985327 263656453 200319657 333033235 70946293 402868565 496981651 508233345 492074693 460616197 278560997 39966839 752718111 707800959 129792909 470773819 378601 465408035 924361129 513484409 800114611 241783341 142835837 147384903 721330101 595558089 762244721 191640609 283840207 323721991 548242971 825193197 499931525 932788961 823125813 178795769 393443847 137814585 435502501 879725307 62915887 366608343 147948657 91429647 243765115 322994285 357925585 93555641 524446737 932193683 545300253 983663847 981994945 484489419 449228763 912209135 165420033 82185343 494695091 146398095 635527667 381672703 320863611 630324459 585686877 934967687 589147439 110395535 685175725 789507891 527555823 228009075 811935997 771863057 565971207 304321523 717796105 439543313 160981485 327972565 391615547 661197835 377549627 922242117 527626401 555041473 273988273 705933783 760583409 510367709 377240895 786336907 424419723 100883695 955962357 37896135 928504697 453987441 307496209 546324565 335822183 703030469 259179763 250509163 599390893 184412977 395201833 619291047 270162507 214458603 897046373 488610319 99136999 671792137 644474499 938158863 372146385 421076109 987605893 887533951 169324289 246582625 97452181 404780439 843276823 968739157 310090763 806317569 461848663 323874851 527760223 152395975 353608113 912182635 503312947 801896033 526221503 72070585 825051477 129248939 827326911 390177659 804449719 429442025 159552919 615016973 704893813 218678731 462327511 197205167 352444625 363189347 383507125 904102795 553174327 370445105 397731859 33118897 866885179 138030617 639305335 90425115 108934295 753395817 399002895 393006505 846545197 652162005 795214773 801469477 626284043 100845947 957764069 721179203 958098789 888072929 588963273 930902681 155861137 491989235 285314861 46332329 491257625 351891719 407154827 344683227 389960099 874151897 189902339 547426691 7331077 238268561 537506905 590020057 921792313 52815289 904898559 649934333 917993569 254622279 388932107 374022905 228675021 705502363 925995837 919116737 653603051 1703799 259727101 889186345 704712793 851755273 419338839 172235255 919858907 651495913 936770821 37324755 790673497 389876753 425286245 152564299 184511209 771386341 639366783 484495069 124356549 771686199 781584643 539045607 217384017 575406137 13098053 676501685 655839511 43898505 285346377 896551029 969493197 141006893 399893939 784909633 462881099 707666575 759953619 299653661 485515927 692650377 757588639 388686063 563692505 930056277 67275705 731067787 533407335 919175833 657717095 648037545 157731005 961260387 883726999 782800105 653922683 660500521 760703715 273344981 923465325 352459717 261589383 176376031 245974409 885243775 395134059 810429537 166517735 49296387 612482849 668996761 891026125 377945191 511610333 312729781 952713893 800099113 545010305 688497601 563280385 895322925 979894161 963263419 290930847 480495295 856047935 163309185 762467423 684274327 8968289 900372189 242613839 579504849 623213943 363622273 654057887 466276849 19697063 881889285 661339311 538241511 128253379 154567661 961834495 124679429 32365885 691914655 585137979 21510411 533532987 298093421 880176693 877193245 480212863 686140051 844786667 619382729 151963001 228988463 964888445 819020803 661326659 646070859 20825401 304295465 709233305 12262617 446243217 303495681 718935525 608870577 323320865 561985719 836345141 339723925 439470251 734135265 936095041 124585519 790467611 585959549 356131943 892673297 279097731 507351533 464108461 305327537 490627361 786429697 557799367 246469747 704899415 202141423 294788103 774033567 993117615 659984979 725466479 671887207 684430813 359224881 736596903 712924387 352509117 125969655 259067 596825365 339929937 242425723 705222245 447655655 620108229 80249339 812698245 538900777 804269165 285389083 519774879 374406551 9892035 761085673 182193829 4895181 149609579 254917593 782750509 626735193 603030063 111962569 833837175 872000939 349899011 880983805 750173033 995985179 445887747 65347877 579933331 509195243 108090481 742454357 69543213 164309573 394725051 148604425 381110293 788105273 723818865 362016807 285449939 520962755 504209231 691872765 540119703 103466687 584677177 901866305 891588407 845984763 735607609 24963853 281723953 428133415 783780739 669178089 267552175 419364315 727552373 323523 87967615 783249305 613341325 14842605 179190807 775653067 24767353 548794149 818407833 73038529 40162575 208403347 818685643 41705909 797395781 148742849 922224155 291447751 744960065 286639527 933593249 767221251 164722509 147953825 814846239 867215193 25111519 429494899 53260535 631972767 595419791 535854925 720345405 350769819 404300835 126605763 145489829 449775349 289352837 774089169 589360015 557223741 940137415 860384733 104198405 148663021 173093157 201660853 697888177 785838951 820691971 833486221 392800239 840922865 980546285 671756035 362523069 122664897 391124117 599515677 964418497 430141163 948763861 846088775 445867085 609759605 688498099 475158359 686365779 222618951 812116569 19006089 608344695 740820017 751604249 79208325 152891903 986413293 926509425 392508757 46427611 983168539 338016513 232511857 240165793 895235399 485213847 85724339 47406223 371956191 426319397 930069605 845174415 264754239 405826247 807789359 244438831 437225127 482535359 296611881 954635429 824935487 34583927 540941777 929126099 631433243 860886151 136588043 599198271 225081907 823657639 83029029 418934039 806406759 734897081 811789779 256895539 698086785 737787083 573134899 131061267 978738741 692756239 493840843 475365343 731196951 303281377 761628293 636697187 819007661 612858051 159009467 734186265 177503837 941622369 688295463 626552097 28518779 477451151 161342705 941693503 140839743 751626567 797630115 299601893 156434121 921076397 990812979 891354665 710333987 513183755 958236161 496143563 512399679 877903317 236595919 564366897 788165879 989162407 555235531 353451627 335896587 646884163 210301323 367683121 25279011 491306901 909277197 253123041 5728979 545325489 47968181 750574211 229985425 728589777 551128911 918853829 408698817 285140057 724020755 921046017 738255787 816127699 823242909 487425331 489227139 296605941 315403249 789244933 493761885 46497175 556660863 553772485 919102783 583124925 582088473 724676713 652530703 694085013 220221439 655298963 576142495 693670767 943093719 325250953 953807531 344968391 912271017 311141433 295838673 413257025 845796593 791001147 144966811 579755431 664494215 148712399 942742395 996812527 928258483 417703901 868463049 976098609 916458017 105456369 168553161 973346483 948247527 108222021 647772321 211348189 627473537 108606649 761533795 331078981 911807447 843698129 697341963 461903527 370637107 722559167 844530037 107406307 350075981 794277721 813559665 818589959 458676799 240727837 85297577 204301891 74419859 887971381 660456125 186104567 300973617 423174769 120414505 651854497 147707507 442019907 588773465 454797809 122373137 841373135 208513437 625388471 606994485 673246683 414818097 383058929 328747883 426398423 246059315 964299455 328291495 841504215 849924781 89151343 250136647 378612639 565983887 826424691 294542609 820723603 565335223 540088165 554220849 658561217 50768609 546119179 764162877 437357797 257605561 103676239 432752945 643162969 920034767 166825285 923612019 853446185 373282973 291883813 420768721 289542401 53494149 450846807 278219393 970102329 4159695 143374179 765304093 61859793 485055147 295732989 837179821 389862001 155352119 113388799 511621535 927337061 6027375 999007087 607257797 621470375 345855295 456304505 781700701 76087767 220109431 841139819 38928911 270402873 133684945 855456453 755899111 650397631 525585133 766615849 312172121 255424255 924159575 626326881 532700483 938344503 590345855 647705953 43965673 432967505 686924221 711096389 152398331 802784731 346285651 738187087 742415755 294485005 298768747 635776747 446251033 105219013 214179349 147185581 285833867 382775691 751877707 512003919 105409833 44069775 129448429 488143797 905149103 459793061 777096647 270474729 476274997 647476559 841578119 490908959 683047747 82399413 921430985 276694451 521770693 239487397 947011341 366180905 154905617 735526293 520021181 741427753 326002405 629584807 535686441 585562505 974041955 890532769 269185419 471873347 493720347 391831793 937807107 60494459 723089923 471197103 662678941 145057147 92650871 483132827 807737159 925051065 603630395 58631451 570858205 108432845 885472383 747115073 319395103 23370363 826098389 332618177 398742965 286848945 512972093 169822203 145094707 443500671 524612379 352493559 685335825 566634785 379410749 271932517 589940911 352079867 42300119 185539227 144251481 470411417 849529991 294049177 210289981 123054253 602989395 196796677 378916727 956434193 949308325 275000367 833128711 217585355 18481239 836102925 571528917 486923267 599890853 974045505 336782261 683059985 458086449 697191697 737348447 601991019 565986315 604721261 788343667 875969719 615980969 993532905 733470331 845374401 189095141 241381831 751714539 467256699 316349447 622531823 689316375 752798719 435787965 227143663 789440325 723332499 414291737 100453373 439982747 151095713 690249369 180954107 918890029 28512699 899906853 178179949 782089459 503354015 329549833 690247557 842695117 614960429 635388153 393591323 175237 861536115 187624211 748188331 107947725 852196771 37471707 138704221 823358271 306445081 563117121 984925185 649898073 575301975 466809241 17117455 282983305 736312073 104607903 776844967 119910427 330885889 1483897 417588109 757154381 100795709 751681973 642988595 232795709 784617439 824432455 319055277 547582197 513523249 639345549 22892735 206143847 801502631 748349261 131008717 189941613 831370461 601630387 762441959 341766853 127264405 71684181 225317061 744990235 141760699 453907505 692443077 928204289 118749025 12686507 257761263 103474157 585273797 978781071 71835889 865102659 585154377 831992085 698629923 161320011 220305527 44777175 2741383 569948471 859279877 56399071 113475519 53020449 335979979 673357461 340102431 766097159 452630477 127337427 237699483 977549013 492451127 84570067 194080213 167295579 251079517 451623995 267335441 252867669 521653433 22248471 42379841 135221089 655600623 637162721 596830973 505337609 896829129 896426865 326497409 893730495 86940477 757739789 595790517 132128987 919025251 996918885 487922473 483908511 986369919 545826957 157161493 687405109 143063807 269301251 384565591 66822573 668120435 531737513 462095737 493408259 25647767 508346831 649329829 292893971 527432271 229892907 873837495 122084779 5449125 354707415 607508781 759644795 476565967 633678427 538424877 938684699 666640677 168573093 462898567 492751119 144604205 764158215 675971249 197555899 731776145 355716929 462697165 650256503 5082147 677495159 21047201 187616119 387862495 499473717 445216411 636160733 246558441 677583987 903822293 245911221 666726797 596901517 896921355 882252015 196451901 982974793 567643303 346387555 182378131 326659025 147880629 404295123 356389973 375211455 481055729 867153641 213351021 456702477 134641333 90719541 41388525 843916833 949146125 35839793 599311633 463053001 486141605 956800319 88161855 424898875 117312981 325129895 971184383 849802769 235144861 214558361 494102275 39276115 4617891 589760305 472192811 343152237 381126455 251018351 113578103 157571381 601697873 642188605 95844627 75381993 133766545 621473387 436120913 730657835 818359099 974761395 746503855 763196173 260924735 441028789 327540943 220544001 307331639 645271037 580620923 680553699 786340961 794620409 921573031 311461885 958694051 651665925 752875885 667533047 996645773 821689185 861891859 897486827 499387477 191856183 129906947 370349139 841130973 983002775 46484177 950903317 756106667 512193403 916897591 120112253 682625773 980262339 746729753 138680133 182919037 608898875 720179841 488441221 650211543 567161745 909741475 473521349 284201763 393515361 91781083 907319793 81452083 370412843 431612587 80050269 430581371 794877527 316531391 478137547 886656541 311528505 872358635 830248539 123944925 715074825 822945577 910736797 951413805 497830631 544270749 722962823 756614691 582149343 836904337 235926133 187519103 735759327 363663995 445463339 685771943 793041859 280647411 504118231 286154157 690904649 488466365 68770575 917380933 471966751 969031365 167428817 347500751 735834067 617012767 418937729 784407123 481890525 608133893 248202477 875702657 330267809 420606171 518321993 775351469 863897449 806050861 892236851 727321051 480793443 644785579 869228463 567581103 643355051 266217781 12543277 632091257 556176191 583483081 936570497 334463279 252978189 537908119 994591463 121159795 937053665 210426607 54522885 772772747 713549177 141414221 293631209 843473253 105683827 970218837 977893639 538202011 879982937 476939987 621778751 477286761 741900445 648665529 893125331 844319415 401738137 685411617 847683697 664030999 2803851 385737297 518829871 334569661 920396449 702066097 475520907 813191051 475251431 758094297 584097895 810942981 16068955 963948159 904451093 744506973 412491227 676645257 282235207 340211049 864054577 678312451 507013145 369862569 707851791 645594399 46645013 402345539 987230733 616517943 363066403 355833351 978835631 249839313 790903197 447487085 664573531 128290711 560865597 310386323 568242531 307481437 606382889 501979715 389974787 50844443 157071087 321647335 312012889 771921401 566831747 807773851 621529455 587323453 791093571 100005659 947582007 259790943 404836597 470463185 120831881 692252153 56388293 661163467 121240103 700847821 932325961 647129281 609960381 577526727 470104189 108685841 900540375 246056955 783449289 592696513 211382001 60402083 724063223 482897795 151813997 644673825 420736831 731445679 691917971 142838787 698386235 545333313 809689493 837576187 192874227 921407715 433732235 521336805 480549077 72355041 671398775 690224323 75233715 817963573 517658435 385958083 95356365 985767551 979174593 695961651 933061063 456520707 804789159 775273107 257019309 802426547 71397273 148794757 545232375 593239845 929901341 725078483 684018817 510395801 274179241 189461617 870866833 903832309 625522579 232712059 359004883 191324105 232354079 211525941 665929309 983441741 332739441 753280775 933988779 408526943 733530273 463698055 670899363 408536711 103587235 381831791 665204371 922155253 7454553 921154979 812278065 360273279 998156175 198011437 59468695 518614435 512519157 347300419 929457485 910585739 602552099 46859581 355208511 124513541 756604315 186345631 906903235 871842951 557184711 50826007 596092567 937193523 772637175 335382901 812665823 467633359 279204709 9866165 48296743 884945097 505073457 260012539 851755879 659238713 43060839 609200019 810958075 585793247 468248055 124381165 201816743 532440867 219158969 628980649 997818011 466884881 571824495 219822981 945444201 55213669 66565057 951052145 274571537 192619129 784051523 134003581 166937591 462439255 866796397 622970087 571888617 584387247 205356961 822664975 112044829 761082583 220658725 724487809 872216365 43070415 617989423 755974643 501348385 377516605 72240597 261417791 521552229 246746225 767563545 525748327 857392335 655028579 633610467 516634773 231531419 358923185 171084551 685945633 224706417 420794019 741189181 210546817 863631195 486966057 796448037 575273309 385775311 357462233 726077771 365093243 585262253 500574961 139868701 967134419 184079927 213983579 673637879 47089791 992469533 899468197 873277209 3535297 814661489 571508741 884708011 728860933 611268787 761803869 961165761 480234205 595507911 578042163 323023955 514282247 927899129 795301045 881975873 18071397 530866435 183560123 640068181 82115329 612189693 327477445 188259139 763874063 314812781 748780795 76886687 139152875 777921859 402456873 173609967 113348631 500146131 467680457 281738651 195892543 565683929 280805115 763645937 331675445 625545339 96116611 935527983 411180791 290651207 396606419 390347635 607632807 495836723 823779841 346511815 515602831 297421209 198668749 819952415 480766755 9592385 620578205 756141135 638924287 231641945 656809857 885984285 781007335 314407539 540426289 782101551 453977027 636116109 249089547 398875161 172652713 743440655 210763287 809699409 1902291 266920645 98235651 574862139 791047843 81779937 535517737 409973281 919316905 188742149 664301701 487937585 291949971 674160949 959460289 715293061 891820863 484271835 334853419 838633505 96255921 589623249 935697593 758173419 202380561 898957393 373412365 734263477 114282933 938540289 692076909 881271099 333335319 291570159 205239495 571857435 987998939 867372431 836713139 373148639 336918477 696914881 96259441 279108345 879673053 754367685 300322793 566965441 917090347 449024591 291037351 54356603 854029301 868575855 885329125 866440781 326200747 838893731 314207107 255232073 199048925 7250131 200833541 826021227 354379335 890308681 16232861 261006481 935587021 240209083 786999841 304804229 488594555 371453769 97141519 778056185 804596611 2973045 659301009 49571973 752838975 290751023 329906295 100713387 335839029 37262025 405787443 508692181 733284879 414065667 497992937 659914581 833744543 351028481 8461407 338217825 351082209 579292753 71340549 853590813 78347003 592058087 314933999 124782481 208455219 496974625 606400481 704567213 14671873 884145605 210945085 698370383 556150527 881718013 525729047 104045619 50221039 864203619 234915365 372425477 682554045 967586033 325671619 690430549 119103867 451679247 845666557 753738653 232034663 935559303 636013695 772997183 386404321 960332431 271962017 426438787 139240311 800123335 851060835 917233307 965042907 357898289 113363821 221816735 549211625 273687867 731034891 428397201 142333091 832332475 767789111 308130651 973747253 185134063 263332753 567918541 834404339 612105339 780297309 758782113 753512533 157089643 482557837 443948665 433066499 424302135 687345847 637728475 549655749 24837051 610636569 840953661 336033935 775103805 463797917 622735349 707240061 210048871 267144401 951632197 516116433 148969811 626811885 862784599 476702967 345123195 353936847 744243771 207287427 119177925 455834367 333561579 913325103 813555071 310684587 699671111 3871711 914384477 732639917 454666523 999841437 651323263 27144833 229186581 865615775 761346919 306645585 884435153 296670013 747637763 591486699 81230543 844990971 88079785 466790853 667502713 838735237 656234517 696210433 186400799 867348399 153195887 160287587 251908347 357951859 796245313 669744991 395154989 264558581 380285315 297190919 243773889 759805313 519522703 641952541 174473125 345791111 791365423 166032647 320837813 320833701 242200459 368069591 582064049 741331359 98777661 593232449 796302403 676152413 177972287 405558437 946226681 536391157 174926071 923980811 113569617 986386083 797679409 732107043 742019243 7363783 339967013 92432707 473411917 232644589 227513967 664944489 619404395 913328075 425728277 596458303 975158303 770710841 189247619 446333461 424373353 88623933 569699215 188647901 770802737 628433921 368192629 935065659 668974667 772022743 2881501 131068789 414432367 764324411 113565649 940891003 531908669 453228243 685926087 326802145 778465857 103619685 928820383 219590633 415346921 630054889 302254491 874146171 288832911 589129593 196577641 150654501 967382391 821078357 746476575 140843805 404368585 672378605 324233531 365134149 971107731 848940499 478759585 32525345 367938771 851667647 41072029 845724387 562623335 316100249 347752935 619001699 240161561 314146153 625373339 385817885 135021467 521421665 854171967 466349625 438709639 471399393 238210239 117606023 50409309 944247913 114393711 119484543 896301189 617360293 958654735 874227777 126616145 200915049 77415363 780663441 106977533 815612589 820604185 411827167 839540391 533726361 445210119 366516549 620342361 231956853 498401511 31112065 392438021 624987317 631148673 196033017 137643653 560151797 77026049 529109437 873982103 258288887 269435133 195274885 439760871 346286247 141838963 108962735 847963911 972465177 680753605 432641857 254902125 676812423 355537605 563193071 432897149 674855253 741684131 356378379 62514303 741698317 932034049 335757721 62527397 602965603 47577569 588547387 642075401 585510707 164987059 836103749 914092969 504223103 647742025 203070891 491926897 341866101 77801955 455669263 712084019 421676899 737585445 83514037 114484389 83304649 311889181 511875727 350487915 327127881 527903551 883285301 406576141 307526319 11121257 465159137 552874493 907316459 73621985 706699393 360706451 519882011 931096147 353560223 791263505 679257219 938393813 484579445 35119521 998985611 486844899 328254433 869909589 211556041 999243877 200234349 703225123 557628919 398745253 723285827 962906095 985762041 754816345 150370367 588253057 673837787 626178209 639825631 924821129 414267597 862645503 117487689 353483427 29660463 737969761 484595533 223962961 923610239 432924959 640446305 14778617 360083565 139258097 152328103 971925485 852011209 547772929 534786533 161340775 299853455 820759003 114697097 865077897 931961061 58013299 218615469 743831385 216189457 762097447 194544397 581289933 618644619 264513467 328269587 260848315 306875883 319540575 413127883 909723877 53978615 365803943 182577393 331225589 767062937 390799247 932350943 659553659 371145699 390837885 848054433 483687921 53866259 213903167 588502499 406058425 511462793 169003273 388306173 861764123 764659411 332845179 533886703 570768967 357883555 970654871 212651871 131447385 233464275 511333835 760918429 397219921 273507177 327214829 925250465 998356761 26934159 825738297 753392393 460578689 649673881 842740311 742497311 521584451 341555199 350139217 883032269 777748991 897897 541621663 246087087 395112513 831248799 679281949 520993027 414953593 857505173 588059663 305064879 381507581 473236327 34083365 958765633 48721939 771531607 471868785 279823349 944372963 144179409 649855859 941225895 609258109 199779689 697212431 97697503 923842011 359225303 725482131 616178891 482315741 778772227 221572787 486608197 593464399 266311925 384545165 546671049 752268511 655197665 454728359 460749439 12409897 513518883 895282925 292523833 960377517 735160895 602173365 35710059 191561171 825933277 807705531 3391031 981799151 649276113 187203623 421555041 647181369 311194905 860629379 602632795 935526353 221063895 64898247 691107387 77099203 985514327 211173965 326120897 194748413 454371337 973991645 266935379 991294299 469687691 124600485 415890179 465512605 441312927 945890359 900348293 755552875 345127219 12861331 888704825 987884377 242065751 662369053 615447591 518212829 196871751 29730977 360912383 991408221 30986599 245655639 109005589 736865309 913698625 747785691 876767597 222844497 70216843 879189299 441618859 507797011 285589789 642734539 297007135 555354721 503631101 850327927 307289023 436128553 503937363 963708791 78954285 65069623 61977973 393975153 746653615 404314185 963241951 665572463 281743923 395842045 437972785 873289191 65587795 209816285 434331959 874645177 816317259 492421723 602947047 427284517 889789699 514323665 507950169 17916639 309133581 772199039 507140051 401217527 911862173 796929165 287820991 737330667 167207573 329837581 682972591 572962723 682732153 575540987 312147039 292314985 790416251 723410741 352705717 774806517 953593457 758000005 164665783 490794339 71229403 306562205 72318621 905789495 798822623 693576215 507882433 816248417 907887181 429174129 907474341 224472629 308000669 585359127 121538037 614546287 560529389 3943771 541832835 799415861 824782085 863454067 873861197 762859539 398556245 796616323 449498227 118174467 71163891 253576339 761021763 221868125 254338973 437181845 3951919 464516073 922775485 518232673 173955027 766144211 573059681 984888763 791176433 716088497 698637377 801788745 658754933 641615999 217960377 952765597 319896177 925744035 771060693 17004593 814298147 134347501 545909057 786647655 10675437 985387917 174128471 110945927 956048473 33632293 592361747 714325443 899933723 693916599 302979101 77768755 694397711 308738225 735369159 961586139 96387127 344344555 549264389 261049761 809995199 135593375 364395641 244203095 636321787 576277105 329528167 637190583 626874469 750643827 691277505 841705315 747743903 436057111 182284573 568341475 776198009 241410875 163698363 186433447 238215137 44643877 918099073 310206989 280293877 893994625 417551103 920888401 955278327 959269987 177876845 151269023 373462355 428911435 456635049 945575687 946566045 753338655 13647419 834553475 711365007 92849449 875904339 185644021 67890189 801191199 443360709 710334755 515717923 223927329 828065045 813303747 612714753 877447601 946458471 118148715 137932037 869764797 711881355 472329117 101525171 535924891 130134263 703817923 830668979 181927945 908424909 492377901 350129115 976901673 632812755 236137237 255257127 877734797 32557431 970468509 713155511 795874599 718581713 760591051 694692823 862998355 461285025 522691733 200908797 143943899 155777359 638799825 651152577 808023527 800319207 937561153 454985449 660722449 848870181 713869453 80039005 987693651 976055139 667170633 665887029 16304147 909892011 889131501 952424103 869088287 860448685 620235227 517452825 423186091 236636607 494240601 334647831 56417621 846642657 614949021 505919315 973106723 554472633 901735613 683311527 524706433 232847511 490556603 909111065 28563525 29939827 769268863 700729043 397061805 762686187 624548829 329329191 374580059 489520455 320283021 744661395 978275167 533221495 345785391 596512183 277907503 128473103 311599951 365819489 128410791 339941203 550263387 912707971 336087051 484923943 539117999 932583991 164586761 438134299 690147211 383819715 797491385 39557989 681599767 675067537 810004885 507099111 513306983 231669045 588134017 497516069 78562419 390616937 953843663 943883859 260575771 314893071 38252081 313446723 417334571 941923125 321430981 40142199 812451921 341560589 519112465 230471703 21344553 120336115 711631361 441177071 982087985 143826793 424476393 632010361 916012247 114893851 172886411 773916885 471280743 373947613 100936711 349103303 285094175 826500777 442919917 383557057 961689117 754327713 781623603 862699993 786613613 688642835 107197747 13344461 775766781 713902707 980225973 350042377 20465063 8665689 25675749 183819415 810369071 113613961 322569561 227173425 590247995 972834287 778512143 685114933 646414687 515111839 124895339 586726315 846211089 226421203 549146681 295890241 408556213 821438703 265462193 983840337 774538901 296796797 400981871 665268183 650028767 823929907 852311671 76925821 324368813 677377769 580851001 100802705 88265987 82169251 435477641 666502409 345547207 558645903 634676899 218696327 340459725 939709947 242914349 699435857 530941387 521875305 956455733 77551445 722999397 778459767 753372207 266827563 771650339 782877681 527969017 386462483 745448055 407295693 128558553 691677171 18206651 162473251 830983803 664453725 23103021 10155833 874515701 32284037 195930617 930805367 64145605 530580555 52016433 384367731 102334413 641902649 946954443 611828201 544246109 488854139 185446315 7165369 855776555 367927527 852518809 61129711 29604435 349917953 379481159 871149249 477022809 10385133 351263821 583381383 841344045 668162683 53721133 104759239 702290209 503040547 359055185 382726699 161803765 65609731 41461003 554199429 503373773 640866531 348687761 483301331 223720757 876364083 470377735 482351925 264779045 44717063 852480117 173963001 532315131 860687907 272431821 282370193 294424183 949493481 767751655 690182807 562779339 279665005 936450949 225384913 222850955 852207973 454071377 692757545 126165683 854098477 978986203 10120113 395066027 665948113 568990877 110802343 53508413 5641725 478622457 114538861 138326175 920490761 406092343 954408843 490589809 643132149 580837513 58442427 593010869 643167849 632975111 142359761 751785689 746635185 103809203 720509397 231791795 444245447 95370103 443465457 925632897 188673867 734585635 646092665 85443815 317438337 581105777 478384615 371586545 341088603 442024963 602501853 121617943 80849005 2781535 525894185 246733365 147123707 235830779 566711743 51343247 516711401 705203245 564613303 265730261 950412231 978542647 251243093 207873819 813766605 967810371 80601861 139483869 497822169 354819681 846687579 64519937 303135347 409222539 876204817 75709397 728059337 149855393 359883273 821647885 645297845 926770287 275346259 634128839 59463603 356465061 692630045 543545737 637140461 70057435 835889349 574981951 739804721 943347347 819213773 524849471 889719797 860657717 919964387 925743943 891948635 901001493 712158167 124980089 901005607 978782827 593857445 753205607 805262795 529819991 273096561 660795137 845317727 341962213 623214469 407893417 707729055 747744261 270306903 939693345 793512691 933843597 66517375 774598297 274820971 845944899 730834625 749765027 996635329 464413903 98794251 671142719 329497935 156602817 347667821 786261713 262176799 421150609 588721187 151551271 845655009 245372581 459230609 398678901 756518891 921221185 975486787 697509977 372505403 393514395 32467689 623900377 987320699 989094087 985765219 868385121 852767225 385779659 604099503 346190535 877848237 433994127 83082237 279558471 510701877 417238241 777715869 744859015 244500441 289679231 276934925 408470933 898592903 777168647 966714605 348501479 225192409 703184901 454547723 454320727 481239051 643843815 268188761 176327983 37364743 24130825 749384433 561550359 999806043 551930281 413304089 53862695 735909437 985486581 956728891 671345117 945171087 647300345 836462569 328527901 848099541 945722547 523205857 842197811 71806017 880558849 489807875 716908247 681805993 188849069 401965405 579684389 668297613 379189867 714728737 649026209 554639637 292507087 547972779 141610811 488086797 349344351 535892349 801022791 788503535 828549505 890573891 940996481 874881497 737248905 720291279 215951119 805797269 315547565 400772127 441897087 771191693 608028945 729727315 489831109 927737053 151066557 46972089 829849665 853105731 858241699 624091077 850813877 329061669 990903197 862861581 85151567 596010131 454895721 116864857 961429925 606220869 833698741 512009365 149046963 372779415 593968653 350576335 561330913 758342293 256144621 50430791 406641657 885145325 372578231 522215263 74847283 627306739 49931445 841432481 472556843 57071273 870036499 255953089 481528037 367620279 436648689 675575963 225281233 376642923 656183371 375947571 542084289 268685755 326568461 481575857 187162101 63923273 736708617 924119915 513984017 318167641 51817717 434475227 988661283 233463517 264507765 984421029 125532575 594956651 370722577 217815187 245250915 221398851 373581627 272953497 276198581 115411533 830041163 113586645 799470145 877931541 196052099 531808645 266396445 433855701 71522573 584177687 411258309 14980715 476930811 655859231 482752287 872827231 698654275 431057241 910575993 2958817 194364617 395434917 802106249 838053575 83589461 733128719 358483819 146645649 789788823 555083213 220638115 667633765 18790445 741110583 167776287 41102611 541003667 618708691 271392053 422734353 839526197 165860937 346925219 7028353 14693219 921363311 156928653 757208617 523745111 559772993 537370239 373219447 916269107 152137439 479179889 164640645 406624255 367738519 355598783 478353679 209942699 804080857 24341551 440737663 829183763 191925061 659726061 840423137 447319545 251936667 313510797 350160881 680080129 56322757 601830671 822176521 827606465 177284059 158757593 538450229 98752689 727449875 844396981 74853665 174758963 389411029 995239129 214191653 157981071 880185511 616576227 197376321 717761013 327697473 698826969 841801755 114953089 600873597 783946023 140662787 468262451 234464861 794536101 148032753 776528117 11714573 790176139 588671619 549070999 166230495 504552579 729886977 197781203 721410897 532112279 806141531 826645323 666629123 578538303 616132903 198373509 554345155 307209047 174356899 319465207 374731907 856691235 711611577 504530935 420449119 232937299 749137655 359736519 661034905 947193081 425847701 214535055 769706141 677423253 516750193 865827939 834207231 569620491 82880019 731145787 487069305 360730281 386351785 956843511 267293421 278576675 271881995 214347619 575334251 963401623 552488635 55845421 958459425 831683723 734600155 300174577 557951597 243337707 131579967 880062511 554938833 420886797 745210971 750915921 84348665 323782317 51821649 196126117 837987513 766637555 320963301 75031401 181001483 515354985 678862473 151746747 666489875 351147525 630861395 900457127 696216859 557836839 580391171 169439771 152503191 759616145 39820799 878421235 161945123 493129585 65279577 312242415 52558211 59360095 511390661 225388215 377098655 447971923 83652515 368239839 552042637 260176567 425648123 385201373 447303559 3012695 160568443 284557335 109811185 189370727 435942269 329458385 53215319 838128517 153651455 458846015 474071401 225106101 221910439 765181563 993511685 499291239 63267269 515906437 282391855 92316783 414756431 369452101 673152273 411926537 258330087 388126863 504499709 158814939 335305683 684409625 821715567 444686835 823913729 698282119 350172939 61567687 646632201 469235811 913756573 322073137 341301549 116288539 799889429 644985721 313851215 518562825 689051027 453514571 328180483 129003121 155479893 76998333 513367165 135915129 913819083 143477325 926237087 867548981 806186885 715929823 233096941 26366107 236936257 533840575 201553561 142581391 947450847 288440485 495168377 191133145 521809261 504134829 713113613 780318507 27834909 13573979 384930683 543640095 672379977 724410527 728104595 299171891 656622199 68718795 576768205 349878739 641571921 442521503 305159495 811930961 104223145 293735231 78923721 226423267 498162557 79736121 2039235 293639853 266506477 112614273 260849483 143604663 534393415 622626165 869090335 85057779 55247357 666911963 834077865 405545785 388293547 740541151 918257399 17100621 595638547 80960791 105314239 537819349 863191329 472549505 808200547 308803427 193945321 72671359 151655657 91818867 48726691 943187425 768716543 993514337 654194871 717035485 14592255 496324219 237819053 204843277 256391141 231418353 830427705 347722363 461153625 762619867 14594103 361844879 807348909 306165309 555686313 558409249 736344021 959401469 783017147 26763119 5931123 995974637 250895809 746968861 924869323 934216647 973192757 561360185 443995343 630186797 679636923 551894071 524043541 700244647 484639517 675465717 56435677 488144551 848579919 290219191 475863565 740989573 604386925 294476333 760606261 876362115 38635707 593913451 782022541 963228619 617891233 50616045 95896307 659595117 200502965 313603993 879322607 820150115 474670769 775070653 288570289 755964047 930400377 435249423 107478029 270870713 658605591 231303849 935552647 930851217 924912577 683969555 410267459 188294067 768870607 451068475 703382545 173241759 820440261 694981747 75707239 542313663 111375953 596395385 714135399 100344419 874753603 116438133 315429079 191129797 738095255 10684913 415564325 627198983 711926641 28808421 951101033 542293295 733361181 120086445 278883939 793322803 711668747 128717581 369938811 276335081 431542747 796726069 96998077 204798227 725610571 408683705 811401699 609376603 834964811 597046677 213656141 435909457 908543211 337812015 99454975 597342319 727226471 58328661 399100075 612695061 915127077 719518267 250381991 986169999 935785899 683026815 373074419 979367947 398924977 820735527 994676021 416151461 677034513 157629855 422288573 656680541 455914955 467196861 618192771 779498523 686350607 81077693 727239205 323009715 226848045 99924807 354251243 286744285 197672099 505070949 229671877 795804987 796262929 853985167 87165767 968771923 895068997 166305439 558835637 760919193 663662129 953420767 679535859 420478311 278132721 508108791 221723791 330104317 352802759 75833343 849820869 298618757 487109663 874968181 364572017 211673869 943200651 558413373 525137689 567859859 883752905 631512997 671432689 569616885 81650361 391996257 523691723 408614399 777607529 503313807 374471721 361302879 228971789 307687091 634960689 987667889 524413435 209510589 397061301 388730995 536754363 874817537 890551337 215165971 424617721 188975163 177411759 358157023 143335555 273091475 621405707 728486927 591977561 606975891 179289519 660281543 399852445 188252721 168168369 922480913 904272537 3507405 688242127 53128411 962870209 470567209 520002677 996703487 418764465 277073011 50507693 485042753 368092971 221287489 682740783 526701127 876917789 478323601 685444191 887297701 795715221 801085381 30917951 290040787 878426835 314674095 474336127 632707633 117024057 967353473 887965817 195618057 983835987 948755161 571640105 581002637 971087057 754329019 730521913 139088853 725939345 717323159 361143799 857478629 128067479 628302655 95085913 594682531 824509963 32024307 68630273 416457955 675881027 867502937 773661491 16638555 960233913 244404345 651980771 243501231 637436433 898101967 345951651 696605799 715173911 468086835 461881525 760750069 761269435 938735341 933881855 32754867 548131867 857326249 27183635 16617951 440500347 826924925 489353765 569506725 148549443 130538213 857871125 506857495 795498507 671133385 355511405 166430251 925663625 243291251 917047127 496544453 858882723 883039131 323818927 206333357 556400997 547120475 954730227 60908181 766924287 496558909 805489481 958502933 916150225 260856361 821825153 923656881 120689243 175987577 555935507 133998543 458726983 356196325 535294749 889498817 466526317 710441111 170639719 554022849 984242883 755276827 781392993 446051569 603982703 306594149 929697055 374088537 178217917 881721555 89616483 92606443 984952607 808284971 833738133 868470399 643389489 86883993 715822019 424420055 336732597 155329971 975205539 641903517 873834901 601120885 963711383 185861473 622694889 152530245 496871589 500199839 484920295 260329457 690557307 572722099 935770359 183912111 448149617 677687275 124592033 755762969 268104583 710468215 675561113 776603447 8345957 775773295 475926971 547479671 813273687 799625941 572023049 293198507 919212375 447412627 187410351 397846289 528633091 121776761 530849535 619974481 877005989 274284609 509984631 467506295 970981671 85465997 448293305 759261687 960863269 746354149 142587791 778179757 421519581 53260473 150426861 850079203 304724277 23294053 918143215 964689987 923426493 878324009 202663639 860438753 715163053 346153519 121631505 446646845 847014371 140555399 192882225 385937725 843924455 944443947 361416689 662009385 794420199 628056317 722018357 453905341 244847293 383229379 856872455 158744081 439783653 84099891 714855579 879890861 959238025 440115427 752831565 650557053 858327415 387202645 891114913 869311703 847557669 875476465 600527423 394499703 228958901 886222347 650021885 625296261 443504363 459075035 722766805 298037643 897090105 541690499 235378923 794119297 404285623 28954633 377057163 4928451 658730017 610901603 305315877 131450645 827931871 774227045 684824663 831439783 232696065 556319445 415782885 705308427 498156863 704859 213869495 5686849 236717049 265873799 280212195 616671917 699405363 259112915 789668261 776996637 275608735 541516959 259484765 131880133 988656787 192120117 794458775 636844611 558299405 548187337 969079817 982362269 530123191 256899439 504378251 558159421 832993759 556125485 171345443 557119997 141950845 261778155 211983355 49211929 937284655 833495929 394975589 404857651 823558717 947226767 599533533 779140955 723262357 137977297 910374663 108592391 183507153 163247561 626409391 767502353 818700333 865231589 153181895 15381185 274433171 415329921 668420201 753837765 686655633 263751131 780194523 598335535 406814045 236218657 537599367 439276157 320695257 422055521 678383615 452967319 633639305 40832659 149129985 943255241 435564959 974682779 562245485 650273223 188893169 595867715 444685649 403783087 722131967 790630201 666427615 892341765 857774577 487273495 143359859 360264121 189800339 480997217 102243983 389060637 726713695 424564861 252705503 862372851 701474675 598734015 789946165 703763547 383615641 481621597 360287119 237460453 490174779 67762043 561054735 858183045 851233397 771274019 671756799 569318809 736501509 947228227 915012819 809868519 447081041 673880245 458779943 696382875 399745897 610242621 737917885 164294731 144124931 545519489 148281985 348029685 868460417 105098515 916286343 113428477 818470889 668744815 843759113 498189615 380150507 376946419 308137321 784089795 292147931 277241577 994968119 355208787 356451259 448234627 46526753 283812329 189317683 985479897 718951941 566383853 159706769 501533933 574553317 358179129 122020299 880537259 652634861 397234183 985812611 762452447 713567089 651401469 367503869 98234693 534432491 812157223 593283883 562549631 791813631 93715967 675877795 5195285 45297271 750465117 238733989 394013817 814669897 223247751 364111897 790892803 575187597 366905389 122836875 978749943 982989959 360566627 745187125 280649851 171770533 890938791 113734901 862917537 239105399 785948123 408158035 265409891 597668537 694358607 525295231 655969187 212739151 318345657 334668111 797915433 832625989 925938227 183057985 675626663 522299595 447323717 263124095 186871733 479600961 685643229 16744663 588162517 422099749 692694349 575631553 456826737 755482663 529135701 167612251 694845145 443682327 761508631 429196397 804739911 111825393 292295461 711478117 49874909 655330521 461032049 841698909 766392995 763146523 924057177 606999825 381243785 129281833 455874721 82356201 586576749 337772701 866820729 305672439 453326091 784232253 734514549 109967599 391727629 449777139 641720465 919325235 204145673 383329745 995663155 334581703 942133619 386791189 100570153 668479581 285314733 52652575 476275369 576659789 807642371 882713725 710433613 495836049 791606181 302216161 598583581 822610647 957349547 118350629 202744965 218789993 72727575 694232911 367672411 517329473 37116113 591170185 683919069 747279869 378107309 90692391 137447085 386730981 126209635 875464353 536012765 584211945 832795285 767466143 237206749 92141727 111701705 777647081 95923599 85573 866891637 433683827 5260855 340579781 660472815 310781785 7871103 399436205 996044665 700007389 944196225 706896181 174841403 240453739 519594423 847717179 407169097 918482069 562845191 789680967 639365787 213001497 355801789 811945095 61382163 48520921 585887123 915433171 930730103 437256159 348040097 922823597 179797883 943257183 664629359 679571255 829649849 463497653 38429417 383529285 243631025 472123747 200609891 252585547 338422989 617698839 145631647 373720171 610472541 989611167 343615933 703757929 97382041 56882427 478737741 530092215 666954663 769496909 850374469 936000107 683742347 512255711 861730305 318462021 773310521 103940903 675178053 442059179 848900235 408437437 509250111 730289069 397977921 467706981 844909189 35450371 500188419 873783821 225641749 206331917 106228837 210147269 901566547 568420815 653437151 436807369 842668045 326680313 132711889 376703101 712140919 7212005 85795205 229743467 322446127 849283217 234491437 776109641 943119929 817910691 682837731 613338863 654095621 479559017 366987431 237607777 500800359 694154975 263105377 786607309 844472987 515678369 477835493 612767363 210586183 524871159 116884969 326289151 699090809 385805775 988721425 290256101 316974501 746012609 265659879 331928065 586029483 865701133 61728217 750693957 694455501 727978907 273225537 564155083 509276601 372906745 524523107 60170969 676390277 809991517 139979365 203004119 671013039 520036007 482520155 374850397 747394585 201413985 205472827 920247841 390126613 784669111 748768233 45823755 641065301 961689217 472892461 629243169 691152373 871248959 339620281 486130587 750814847 764613143 609819175 148358867 374568155 280819929 912987381 509613897 556907363 336268285 853739663 824449197 484629457 667015329 899451719 934747857 714663499 5287565 556551251 568466605 160754271 93108529 182841047 680740713 249968641 186183331 183455963 889986381 249570959 802910369 573533265 670581453 43646415 381678997 437571091 246467459 319315181 42980237 584829663 538136885 543125375 882742079 226772577 158454989 566042753 123268365 638173737 620899167 294264155 929112573 548138675 281257253 196104919 293707965 794826845 315943553 119058477 174275239 741400689 442522369 640560119 568409783 547366943 117664857 279923517 155643029 195806085 444959071 681625197 207883155 14231711 835193629 705434201 327000997 801781849 256073657 603706177 437152877 596991363 524968327 516675529 848747055 570453463 213686789 616579581 306015453 852750583 497784533 757366869 712292621 510913387 656981697 517771949 801999103 256638373 570921151 794983243 808661401 626897149 280109799 64992219 560687979 699825333 331717501 250848371 616528813 821500151 471374829 806280847 25427261 949148627 912813515 5637653 604233635 876217411 354124753 503092819 697543183 205119785 54464739 211806463 319252565 609263181 886114061 486038323 386684921 566179679 527241343 938947703 456726815 505445627 828280471 715747255 653729687 204588961 214716633 638427721 222194135 417508539 718354413 659272427 986545153 132882841 999094953 688778945 406108377 952491125 903028487 60009047 153758931 945400689 674956587 689679013 315892481 139303829 217234529 458486279 747497509 983552977 892476955 319427393 193452967 816690689 851224819 232246403 253915795 189719013 15409583 495515231 568525987 491419175 24667703 394232021 640689975 439213399 234727585 120153673 195633235 382140655 605652009 145967753 371967913 165985359 897104431 902435275 984079247 320434627 782203713 30841769 152910341 287509369 415004175 738713131 948357041 173265549 295998073 492204733 64270563 945932287 723236479 592452405 158477971 275483577 813526349 448031951 929104223 188777865 444239925 142667569 941763727 314201645 699677619 221686635 91112723 122224197 946869357 768636653 887124607 604498263 370443307 670726297 970719767 750633177 431711969 474756017 400256447 987581727 129615785 787900133 911009541 893754991 220795337 120680775 562625061 159548401 368827819 783210839 994175227 150914739 562456035 420610553 990218253 346434227 526322729 722005881 886239117 887864271 193734757 598046863 870413395 333411539 999238559 182338905 376517339 806077549 220225803 710652503 147087949 818057273 149611781 438957947 453033339 357959095 313500175 485462809 805137369 74807119 510280149 754302189 563701383 331522389 271410731 99069725 773523791 933309695 651815433 126320951 564946845 106003827 522646167 894896945 378706313 825824437 565030429 353132645 902143185 384687801 475535633 793648795 307767775 348694105 780420361 35121409 13163715 226632275 839692239 646360873 383103023 470498901 424294985 978950161 844639879 261361643 237475213 491343137 37455569 963053971 304657365 327614245 945905085 449598379 828580741 109935951 529070753 437903741 195572263 200350785 953126011 237061691 982794095 505844991 670922485 585563135 530221115 986658803 754055005 104666311 1022345 676749303 639564201 976058239 600321927 745971013 449993083 974059769 308080777 814555267 529994519 751668971 688131593 954172351 754859631 78954233 468940203 396381549 697543707 315241901 990712891 629753709 695786583 402340211 72856235 662736895 889696267 430216107 799371541 152211159 120453065 516334481 15182269 526409219 667122885 159668049 383343633 745763591 884616159 283249917 419232161 597785539 760461985 802699 448578857 197772169 948781109 911202271 396256655 929929737 911749751 415364033 354352345 927414373 927503589 362449123 606614335 702720031 969131941 572784605 939236889 235205671 404971143 354366259 374871789 362007503 78104579 520021579 888234597 5927895 179529783 72111735 651525971 549351267 479369195 52980209 187975605 205926145 836930445 131131099 152318379 396232613 399287351 841771581 413763203 241588653 71383717 628381449 49711021 178952159 600796225 685452567 536078281 362614373 731194393 34322985 9124247 917500889 828598243 162647785 43662083 675015221 48115457 70067177 629069855 952885729 392362873 929039519 911121961 221605031 853349113 38545005 731515521 229567677 276820441 164697503 484101045 644244419 136905753 223164005 164300407 175013307 989698143 327605719 72754851 732652051 239516413 495330551 442857531 845778081 170614503 975442351 15926379 757189283 720498365 881998799 383581319 786792893 505394633 511947281 47701257 743161595 177480949 68578583 673494675 881282517 460328413 604519529 466637555 581918503 546771903 561600887 298894363 89342007 328732289 597571229 633840423 551147951 658053043 102283291 980175195 877144233 591842701 601466651 632801055 184299423 369990125 315716269 13629191 817826679 536167771 776154315 791014097 333553791 956779013 521562967 256116831 278384491 237593285 432968471 103275707 898969179 914670103 852786881 777624859 980367313 277909285 827771883 444696023 612079035 70613693 446506519 662959987 354732143 722269269 727183279 666667933 502340009 958634767 220142337 330586659 441260433 699498159 171481419 150163975 73729457 136435367 341093805 429331047 890140673 903064335 196592685 584778127 46186459 832961443 676464833 887591411 918904073 147112651 377171007 367478577 282143411 288432279 80141673 971806983 80562803 352613311 173634023 509641829 143593795 251460771 653111117 676653659 326124169 729783879 338742803 987179813 309472017 924234589 524210329 328706855 540380691 761498939 59839531 374128621 755469355 971904223 518981111 801705767 507128927 993615347 6739481 939769781 651027227 135770565 364123279 147368085 130241845 928754253 374820423 896897015 511993577 682228009 289287695 539796523 754930399 594063521 330063775 490430127 853500705 609120419 140822685 256622371 881149477 475391433 206263693 126297173 819057099 725748815 198125283 826361653 817897557 918428447 581522425 592186851 568430449 731270853 814474255 501420703 360369973 573180029 730091341 408835285 45270303 190823201 240278471 873101335 506020115 987815997 759557747 62002465 255086173 474391293 861382709 139444441 304426165 577208121 510333655 52447047 972427063 452666993 729585159 850061983 174042985 701299917 245148767 906044475 220349495 16693273 389587043 625507745 363057397 387495119 959893881 699106683 431982179 165209357 759024373 799204509 127011237 515323803 183312141 728740097 691501385 499662569 859706853 275507913 989761093 87063565 342680199 368144195 293586675 689693127 892491745 544661473 450443803 107339133 161949133 159690559 409236969 666479679 506906639 515224607 483703027 503994819 912528205 832858733 841481527 869993835 491064857 461453885 385990935 86056765 993993711 733147849 825446501 441880807 737774637 443720565 121506129 362718403 658880797 806420171 47694717 644825293 202553585 484381567 148908779 364122031 274487489 708797805 149597963 135010231 88852369 67182231 754420655 561129947 465531207 66415147 692601879 359139005 11112373 454728569 652530663 996506529 747494805 402695933 159017517 225749369 118789513 461397339 667978845 240912859 636002073 787583581 627198805 860308487 302519735 924049911 713182811 645172197 802545083 240125765 287687195 979245313 991691625 52663691 991383979 909611413 284229607 605866289 612490119 234142591 361752135 28538573 882460823 784837447 539906691 368936987 921257253 668904221 94747261 423645435 711397351 175687639 750221053 723175033 592276221 734861811 272189621 870800843 153714921 618481307 109993277 813162313 57941401 414576285 509728791 765217657 40676709 71037297 872866733 624743939 425213957 936687669 800011855 829381309 268245923 172015793 151284023 259953315 608905675 739784787 295839623 599848661 122490481 187797811 194334535 154765217 613096691 977853715 58927209 500451191 581697301 550050901 77247941 74721783 690626055 35482381 424239645 536047839 34418525 716813807 293991707 665885983 53354515 947014493 988373583 811267529 501269903 559734875 725116979 378628373 507299999 391263643 179241767 762543465 663249015 756887155 575441015 577316433 162575287 690450403 688254803 240363903 205622113 624341907 605391315 638349263 980318179 564188367 869523961 539500099 555274771 681452945 79768237 356612359 452386861 525799799 199610563 928988781 43159257 909166793 1586675 493622771 681241633 402426743 391976927 797354809 391288445 357824023 712389391 358060301 475472841 440739047 125520883 686267489 331738185 473832145 549322215 509801297 863426989 420691043 729527851 177671711 204119047 943618773 168622313 259819063 764444375 813112581 417420847 379142957 971090433 337416313 155818235 998239163 792369875 199265381 623412269 438037699 631820033 264272027 672110987 471255635 472583081 784180381 304499403 373583007 833938001 801077395 712396417 238379261 16802789 851356235 54667059 939238135 33903035 670438459 179301961 412297523 263862415 951120003 982342931 23154311 195773321 460564973 283307977 972532973 842994995 206825189 421603473 957753481 932784261 164591747 878604911 985025189 409183705 198026631 359071833 5780149 593518583 271019863 758488611 979659093 662441229 17464579 308706195 440274249 498145709 577600579 917258575 813964921 448565207 821179511 721628139 298686715 925932015 807243171 114659551 500958217 264606657 791640439 468793739 114106631 476126085 175406669 510246457 688546945 180050135 494207523 545147165 794550567 18157501 78822301 57776971 847782103 289609123 734831375 917249481 635906965 734172765 3792239 147375741 55674505 596632363 108417883 735861563 871621897 410832819 251165211 375368889 846295441 607480063 491253405 141335965 731079873 704203397 487630969 925096299 926578789 766949155 682332911 307537815 367589491 912827423 315506663 29071481 589207557 369170471 804599023 230196821 950627419 730638925 11362365 831877713 179347429 877886735 207529393 389016449 627038515 724821 755200981 78444507 143873539 511692649 738502869 878933315 394561077 779264003 170040201 392071811 417682135 615067967 351565425 665284681 771006233 796927393 233289395 324248623 443597659 593344281 219274527 834013111 897883677 102173179 429745453 881969997 345834251 410904577 667294203 832978237 563437047 669447511 925653329 752524995 508333023 939350403 590599839 374547201 431406051 169802881 545938937 744327167 349956177 239288745 94318883 386986927 756157851 317817539 161990785 559556843 548210013 321557755 763769379 423806065 623470937 148447205 285737151 765762029 544416379 593636483 928557751 250658033 422742485 318892597 25689873 516353523 107787173 109453261 424177275 614025559 437146701 12397691 224802381 910354533 605427031 769323745 499153801 747028557 11017847 505572865 265776081 734147373 538460297 70601289 985215609 514497793 342242447 413687441 739351413 719949493 940093109 749331 655157349 718279449 793637199 777067123 826981267 198441447 218132951 14544579 462521067 233829569 405684209 557360757 131256069 347443759 260709479 189338983 654041633 320968867 757659181 677036511 78738213 308180341 503085407 829701513 430367393 512972775 423232575 670428281 912111053 308647971 66338363 514177071 124213639 459655225 761764579 943774353 906668887 698978595 930561267 316412649 570923117 351553987 636049231 628216045 275507869 714376161 338953217 991543229 77770091 259401005 953496893 813203163 710868219 351995459 563617889 160811829 715720475 399123365 437390571 458823201 562582599 604949175 928366475 660654173 117752987 527366863 983823121 459951883 256756445 499361317 844004217 219465917 417261441 505788635 910296807 388812901 891668889 413338105 158986917 984658015 995136487 847121007 269597737 178849141 962409427 953830425 731020299 714642895 356973673 239076535 949242641 656432647 695633763 98329843 226902309 892009495 650761761 367690589 897578585 232404581 791072935 395004271 452958185 507139775 702406823 152775817 173970233 284283737 859610231 531087607 169492181 198791121 657330199 704683751 491992943 292863021 214391341 569061749 182660833 309864921 57294089 236253601 858086705 71762091 98150307 467380565 584076681 3152865 925186201 33584737 646214971 834669853 837172531 76283773 629048517 196238703 443432545 780115791 41833671 266424909 823082935 954852187 618722063 912939667 48279673 557567255 138124175 237226373 659588233 671057113 532025699 658246097 277343611 593172193 717211597 233083023 558429061 646882909 233614137 212298807 535216773 955360347 857193017 447841203 170854657 260251859 749417611 884879695 395053355 441700779 637116943 64266687 170495963 980519847 605933523 741858081 32078221 467854715 818992393 287806971 541628265 584909505 153896461 346213433 543745089 112389369 366778209 669547055 30105993 570412171 789348529 308705695 303796321 957849035 117371857 895669929 7620243 609342447 899891643 353494749 220130697 29314077 580503443 771317809 193087327 499064921 773081507 601183743 932801491 914048151 577205855 783148047 10263371 201554353 893366627 828464013 998907863 180933221 832697457 123010063 352880175 318754913 324387957 422250131 876881585 668322609 662376579 804421757 49242213 995640147 801523925 504834201 963564027 812351269 397333967 394533407 708976327 95257585 86891259 165206443 541227981 993511657 57209359 2295361 196559537 182405159 993891299 140165713 19256001 318793641 407853435 688441007 128118777 370218589 418028293 372123543 69432821 555636495 880958673 164648367 574637819 550366587 883868763 303619333 110091517 5005635 535833415 582264845 885697171 393757937 987932255 32951461 111634425 849085683 814093465 128215315 610786839 620130979 572207629 929732355 925609343 943433539 313872641 884153483 215410021 600193279 468126941 327065385 181277353 436678115 873583415 65915583 45360339 625650411 401669835 618016925 651128595 427731705 344935545 33409657 508412735 58409429 184740943 284477807 113331927 225243441 154211453 95495939 356540417 587080103 720228451 491598885 511033485 529302453 200212351 523741735 362021619 211774151 136918657 392055753 570282833 15066669 489485369 135945263 757167215 414634531 709091493 59875813 282386619 225948357 25344997 613451235 532200783 767431457 372628295 78114951 53617383 232468007 302395965 878239377 868167917 613175727 788043105 169898035 1618031 462726013 226271097 346120705 388804387 925468213 770955887 750029303 142064747 151380079 982897239 775787131 525964877 435128735 65757801 362796381 716857975 937667881 92742669 937452749 187236161 892138323 868134347 374579821 20201643 353525331 914738263 953036351 735913307 145735999 336067979 88736689 693667747 59826969 360406895 556962457 825675895 898653643 190712617 517927989 620660855 716404005 449894925 208208937 958550251 557657059 700101273 566155137 585961155 726818465 631346543 22691765 214753173 364565229 376037465 938253729 696080545 919518263 104212299 216844425 711817165 217514711 697332577 328688925 934681769 212306703 603640285 969105009 943881069 346440199 228016427 859176193 197019639 385016019 136938463 693554611 238858959 989554027 116732851 270544597 893231139 867851185 948149387 891855131 440420045 984398445 875980657 418025123 299090761 462960207 213776281 695221747 367929025 904396019 880541023 55087351 251063297 675613657 976248647 744058885 877743749 610871659 544891129 919299291 683070313 118533113 274844747 419353499 939552371 143343805 599094839 133334487 433096469 368039639 193130465 768293759 740941157 856334931 777570707 787870709 738373411 788550943 632888771 905534715 637915319 286896151 863885321 125669825 668636205 443590139 822809643 272093657 215848511 580828787 995019537 517170243 87908685 107451667 349939153 163633251 26411611 311074387 777153189 974368519 864630299 865164947 56907761 837111139 185390561 289072415 998924097 481925141 284569777 731528485 70166599 42421795 658153519 245620929 75103709 598810105 160041899 708803059 59117833 933945453 66439965 482833827 388359155 92678587 682376227 557181093 26631923 925981321 281834757 842458801 289718655 259475173 621733297 399558503 319534397 539834181 485069505 828628817 101565177 200825731 755523697 540868833 358737829 591398375 320503211 42828145 245989723 339039263 635643643 95598145 46074465 960702525 355143581 118958969 513954849 726702017 605372011 55912237 227537453 191955599 108273393 388055635 482919235 218214899 656385115 949035985 947053123 877234597 522929793 801493867 605193531 708132033 525127395 837707989 679810653 775530187 539415975 327880361 143735045 509326003 292394655 308894053 267757749 106021837 362807871 830587509 456212505 349984981 128501927 464017707 529380867 832618737 561865375 219890111 120723057 6816431 269261463 923429457 941904261 494004483 312912805 377187307 678490761 708085837 311008905 807509375 219170545 166025551 517270697 29456613 385387353 713193015 482112789 30361057 364093571 355384219 601996675 553440537 254960731 501900663 702582101 91775265 529665781 187841587 315539601 802472303 155713417 754508697 951514341 618180967 409354111 278938593 311227051 929416017 640669535 460036263 632607199 939452767 88250335 292827631 912067371 382093481 48338135 747319593 380923101 987556403 590779979 389202983 453360107 111837667 53905767 758362665 159910645 815064459 913855871 798018771 242532165 143544295 298019085 908451635 756234695 789327763 157505717 502949565 533580819 170047517 811061313 907484239 439191401 727195893 812808615 843015983 860515759 534860917 453767167 446297097 278761079 285156571 470243981 570477043 86428661 395466067 569660863 23282025 335642633 68082925 142617125 387068753 931149115 487728035 516729211 250829305 470732219 548174679 83414437 337909783 648313951 429813969 54079917 801101765 197921701 780939459 813808329 309675405 508480183 740934853 309825361 42003799 878800995 48964185 241290187 428987771 862775329 582225897 380019169 405708215 266161935 126861765 838686565 703490607 837128949 503353641 119192403 480002159 376975169 213790001 263617231 393568879 183121419 992355819 175329317 379434379 150079765 565578055 473979335 534972809 311578817 836380189 893981519 779402133 555945763 436565807 401603715 19853635 826543343 395452455 244127309 978591123 790255239 320127637 94175167 874265579 947261167 988157683 170203925 691005205 906238169 980494243 140178101 68576839 786891163 345687019 118879271 281925151 222273077 483526401 101064991 304799139 826838095 467112699 833454199 637777215 875288373 458195419 767534389 455928777 468584673 255346315 378707843 409775487 40944881 196213723 495572915 703293701 552696749 766901125 394448195 784630887 35903749 528109353 129736661 365799453 497917839 245991251 563443251 857828355 630353289 762613361 203492689 23513693 453483485 990685151 742813001 304147163 314894105 220601053 254595681 757763471 426983029 368376725 361254917 829216761 402501327 311805975 304522179 858363901 804112813 575698779 354326619 709931241 666599491 60348999 332323503 222253169 224773731 607223455 697538249 520312243 281139087 200258073 364129501 339599413 963384303 871067979 130052679 675468515 678820689 197137589 118356105 884671763 521439787 438520261 584000591 797738369 475606173 548597193 600314477 28885333 62907249 450155771 552470237 502399257 238919955 465838459 419694019 268068291 266694299 227143251 67834473 16208819 927992521 860331639 324033093 977413547 793502467 830832571 345731055 331602905 12707417 31441893 705699371 975443669 233876611 334548381 186349285 698792087 902697183 853831537 70799409 792283017 836302711 929384159 827713355 934411127 658672629 875024197 41644945 733420693 491062965 346416879 853871509 998262401 449024947 846572043 748640773 375780671 785445273 738225075 100065985 67648575 488350901 625531115 504683463 570445141 731658239 932933529 221408327 182670781 892939797 374964113 706539409 390902557 680199229 714386827 401253921 657074307 56079723 311712295 366660251 408452453 585323825 174580463 285254347 836612253 74975953 191365461 51198115 328711027 217591859 45898163 689583933 268378259 804674787 107396679 256777183 10223891 258704157 405197373 106941681 331085169 418473659 501816999 920443659 919867537 343386185 191761275 89745379 659637439 579356659 980617885 988671327 760198835 766274193 958623447 356561035 240130185 209152161 377876695 146897561 53372613 275285839 648746039 416575459 548137303 307288933 206538363 714145519 928744081 230126685 850821641 222166887 661185075 428734805 920785715 630899999 414633569 700520981 293040949 142349071 588194985 865590797 538964269 505979487 101616895 448955217 538190629 486785367 857020609 431135141 318321423 278432363 802458037 942256493 786041283 255047989 26752775 426848441 141105155 36309371 482398797 260591679 222732665 398759975 858982533 57865313 705196983 702870605 686019857 985831973 937945907 464989223 737792193 951811641 183074897 348450327 490366667 258443253 297561177 941670827 839805897 199228507 786605693 289541781 219592389 542226701 675098837 138513841 280080935 478038367 526124387 263007745 362651335 621707589 723103505 956956595 223564515 486209631 653051055 862317845 359561503 875840247 922962937 924710311 613376393 877537017 959136395 837029643 456760981 455606525 787128051 444064267 111176225 55123265 578592673 779290011 4152433 558918833 254631917 459011543 622828853 360029655 326919961 63683331 474276993 198970861 768002383 97140871 181482961 381820369 854609567 784474105 21190411 385299723 394722307 826103827 706768765 385848009 202616413 220933049 541570269 122740453 986026357 686628085 161296453 973519069 832037629 967671293 606211901 626891989 249569677 93684265 992824499 563684513 50877351 659574013 530139129 739159735 919789749 976885031 300701133 508895541 640273415 858524535 836246359 177102561 939535319 5670377 581272865 855547439 837863493 306895521 735649315 927974449 466232925 520965355 694482617 329680809 326672653 770322999 408992679 404887549 372680241 610340133 442946333 192586815 579119497 91717747 667940783 417415203 357348287 951020561 142746457 98756363 510034275 509085711 13957761 939699963 436710383 636971435 217492725 442426277 155287747 636179013 47868137 708922207 352695851 462532203 765158907 826944041 336836695 549651661 7719473 803775145 152279645 800499531 502623479 590308143 157314371 777280485 964547619 595003571 385476849 858673093 791276273 152773075 779740983 197997123 456578825 676806615 127002319 5304277 607422837 690847661 634617945 664592675 181847469 368755951 516672865 467572211 873763467 494397659 579621717 764417597 978992985 539323733 559870609 830728475 183497407 972461041 819410771 981531087 593585109 636794597 313060553 105439941 310115609 7387661 10107393 954907791 545332079 405395957 675923701 205287147 761616165 696101577 19443077 167571387 498004719 130244451 69443195 528407049 215409899 36505151 446554761 289707273 650163101 823552645 130425161 634980631 988096245 912372487 727021115 128022709 660335943 656973625 888036807 937487247 112154703 700304443 674067009 382080375 279176757 893746647 14123233 510606699 332512899 755152759 690352839 312629389 107267375 121177911 142567933 401281831 994826137 348419285 844177525 114719661 650556291 804798135 500532489 608550843 107416091 773066989 185217145 351908117 637735159 948429871 249993325 544815779 240530197 897376475 187765879 703497083 49588183 380526073 329281811 476530647 191342095 139130937 452930719 683612187 854207215 708859119 51989605 762351569 981414677 606168351 336237463 324088493 558219141 118359149 765790287 319217035 809534639 274280487 748703883 345828719 872542565 517585993 837577017 108174465 864939495 804428911 532728101 789864727 39648473 923859679 355720205 356969643 441314889 843494795 685836175 161230561 901272237 585084683 99380789 453158533 909782495 142947227 939078257 116243079 103457831 549847587 712553883 301497095 514562865 773813045 719096055 96111683 761015571 535761925 183198379 687193003 582135625 866074483 630636745 426753743 70241211 398812423 967392845 946667627 115381171 372572657 763034131 131081571 220515049 789986823 355417067 137062339 912171639 638719689 829664639 63128509 444680167 182681181 523015535 267347115 116981281 933958803 622880823 288467475 44199039 630870499 134989635 960896671 43909049 279521899 766316515 890373921 287465209 766004979 447294547 471593877 109856971 168264681 439873199 941179425 28968995 347785319 21821445 657421835 27443039 335159593 189174597 260233931 590080837 783035801 216948807 621133051 588148737 603956421 705681615 23098717 936283689 180000355 506903939 155002845 698661305 630126549 659128565 176549517 199861527 190837535 981038239 796009643 639934481 632579573 363918819 439588759 499409629 11344041 193549065 581320671 105949973 738985277 908011585 565224501 446299841 147408471 437240999 968577141 268512591 535508041 772084541 172196001 785659537 152769543 938809831 402496485 305795013 196090929 837751421 684948885 45252755 582353423 674977203 957021737 4603399 420769425 155520043 135481929 367800213 357077325 172629873 408006077 588769305 682907011 174212341 377068153 90364637 236285209 142921999 923415961 242046603 396009887 369252865 512024671 496735287 741671245 783699189 820669753 789992033 766897153 742589179 630054069 747516911 880281667 421571597 350560915 413949737 521105985 934593035 263442101 51993291 969698005 517789121 423263781 159515885 758713979 766268381 287745561 635466775 243306077 913215995 927883497 497680949 933300551 937402779 723694873 920744349 875815093 122662695 910861397 85215755 944107457 779090671 12826225 295477159 494484535 904572973 714277479 529906171 176226691 182154753 795664731 358592255 846885821 370340471 698748825 366567439 533102757 979296637 908691345 413413103 657517731 329033711 955702497 342016719 19017667 143160973 153459533 35317569 633127103 110364927 338135485 669302085 750688757 109508313 232632647 217307711 83405935 596945555 916391975 517721853 888483031 347559565 646078653 833974451 643049609 363101203 224758421 364369919 937349763 612349523 853003621 364059621 283449451 911260521 233151493 332685013 543986065 129456469 673666427 297012643 392227309 346745599 807363569 36172941 4115741 8716091 780514233 690063413 83009897 136952257 336605775 505372331 245770431 39645233 422225241 700110949 297279417 266859797 239175069 43369277 871229587 21115105 282599955 694105467 753482295 679105257 995395797 90851019 21382961 237855347 694340645 80321861 504064701 856731045 26672493 661580897 673523637 44058259 240089669 215043081 994710437 152231989 983676771 513287049 339067321 125375339 300654511 165538453 103264713 108399103 242747697 15338059 245886805 65175971 389983261 475634735 997154435 68187377 914980813 433755953 810851109 422371431 490554311 291411107 576349615 731295603 690205877 196924743 983451201 941536097 669286251 226875453 704314787 289085039 460239329 976136725 209212997 729065659 397977663 810408387 769287485 326445391 855591885 90107813 138525001 685253917 284935167 9324161 3927507 661842429 956691825 507795587 923508713 868134323 439067365 265394753 732110659 925178597 983304775 731467705 169895743 555661351 322846123 38242639 219182565 74826991 787806283 10323663 712788707 710965921 616137099 568733809 568593555 712834949 973176309 350386639 431238385 533794253 257248829 290430195 42094759 174599313 850349119 961113413 206011393 895718613 172740605 801303199 416897019 559295615 416413349 749931579 295733039 456357729 354631557 949409727 870564585 789180471 290248477 428062263 519666197 148854175 173127183 732611869 788362827 924301603 984686631 101821769 378778827 886073395 282595669 530777601 492962683 247637805 132449463 796506613 382670829 941675597 255593361 48194617 586807381 397881023 497190987 381777225 557543059 486623635 648585083 43205133 706086703 364905669 642967771 734621903 848108633 394502705 758913615 315297351 209692903 855684261 995289315 115635855 857523031 702824145 435888583 595507759 938091731 221383245 357751643 293622037 763173929 760223387 991303197 800444819 623258833 181025317 517103549 209942889 467680745 352446269 1628171 384041145 464905017 708421401 523167747 129469717 464444463 525146331 385841355 794215535 526443235 232167567 577190569 249077285 171235607 155378725 126901269 227706363 253800237 228324981 245471913 293015841 332903225 106417729 795764773 335657259 104037871 233485107 322064249 250764565 983357873 509189339 344485813 953599557 820446595 262672819 407742231 706245513 935800343 10971165 755436543 674993175 947848387 2690399 611960827 137285769 250947207 142661295 953822909 611681255 599876361 369651235 837529889 37009053 891809691 156875197 854959143 348089217 425495601 854460007 949281791 91439313 879746155 619839729 415991035 248754479 393841297 125907733 157268627 285198509 140143763 947549811 797277807 555045819 495619847 699864983 250701655 74064955 721039915 837419247 107583551 258940017 732227817 394102231 264804675 364256263 122757583 351724943 929553573 405735191 106293781 407883329 418989521 831669019 605448345 684529149 791989851 527907321 198507233 705809853 433957115 19327741 981533729 840821857 986709145 205240801 643948587 785183669 496047933 186116029 420587137 868465511 277861147 942369303 321206091 767925779 847253903 511437279 310056021 785205817 701234205 725859433 738325019 272007489 119121773 327802995 809595063 836543615 640098901 70259487 230579445 277579307 300707023 258719485 95982913 449664613 693566205 235469571 620506803 950811193 72843823 849517965 935856651 510184085 465347027 699704159 917455535 331754837 567596167 535896743 792881071 161209911 538141965 532663291 228968643 260194281 679270739 788568409 485638985 732167415 608792425 198863653 428114761 188836575 453161611 47346477 389851763 163820799 930155549 146184613 486641949 619321763 970981033 567487531 654345541 945225465 447561445 590850755 786982293 820679709 363349673 889264861 758235227 651184653 990948347 18712141 684846223 650066103 794667011 758003279 896466639 206874599 302874647 712853129 977984609 526156891 480114355 906952201 714697273 775054001 370368631 733649475 93703145 690820723 184407343 955705879 156577971 512139027 893617873 39118535 327119999 412671723 210650229 809970945 914289881 906915897 417586017 106642907 821896189 472628779 368609279 298108883 172559813 915570125 202692833 349797323 184701629 511006493 949720515 313649173 326101263 22007801 694508171 881153379 857723801 670892843 505249343 539625425 839873747 858727269 527539735 259817961 75442667 826539583 45388397 595252627 779001259 64273213 380795843 389502761 999759757 434743493 829625285 375822949 792665263 148449577 376718405 36823917 541091033 896916901 474971201 40724431 357561723 295971159 533086937 44714367 405098665 337270857 412564059 820249563 911243815 750373997 23991609 409573033 300812377 62272667 936518415 954505493 788506447 292587925 80937887 881293493 472187327 776208645 320328661 623556229 225370635 311572093 803912899 364137453 312694073 233753715 930685095 707540407 240157175 934453067 730313699 74419995 975477661 967199821 495560193 570995891 229304619 562048683 621712565 17931655 573875273 956377213 208152795 531689477 375744069 777310149 585719669 959435519 930905877 272684909 846761135 106992309 278106713 252201543 835911901 335697867 781396059 456810505 903709049 220869197 727208709 983300183 354169381 739294387 78606069 186100151 183568817 285189849 558383203 858563743 578168587 373786885 480738877 105988709 343511121 239364835 791414541 143744587 661909445 402748041 597244429 372062331 507300565 225442163 787812379 488982279 548629775 292855687 998535871 369223397 262735667 4106259 260604711 235974391 124699171 449222859 827577645 413077769 488951787 519355087 380305485 754911435 684457147 488795041 649960625 591139541 965422065 118861359 701120039 334266281 153920273 645449679 565044007 107894449 730606787 288611647 612323791 998910781 764252125 865100707 458800357 132536199 191525979 868871047 399503067 292144047 292421213 399879651 563774153 40086721 315843887 984868627 169589611 765881261 220403271 643465179 737359913 159193675 480837181 496570475 376338965 266152541 297891287 495451477 300223203 596741771 945608445 69268121 139044853 266404201 912321991 43440283 344739663 778353775 193780587 172805417 105315491 746704639 985278287 864386167 492617287 298667871 965952511 8742949 552034875 110044613 286582317 739554357 635001125 609351495 193000371 22745621 92383061 637383397 738408087 708044697 327476163 60059789 729070595 617116675 58190605 649043469 464810313 630704371 737256571 738958367 78160615 122327931 868798203 260420451 398583165 989663499 938493991 897378661 914604761 704846981 412983611 444893075 522307309 267385643 872096289 614333513 942061779 547621805 177779303 143394759 923037137 203750173 349011525 821986101 487631953 763265019 969099159 649038247 623358183 866581803 622125801 439416085 914957133 62099705 706713191 658567007 651451749 785591837 276094699 799040847 355711037 977308339 785662705 533574041 546105607 537388353 887252897 706870225 41277983 711873971 23249869 235564413 310078471 511225951 528984809 51943171 390239339 834683649 885002261 328059063 125248799 686005695 643103513 797179857 548669213 245083687 79810917 708999025 586883975 722180143 271816975 229071777 252310189 269618481 307133399 369006163 994280701 118971637 458615331 969718369 306603029 511199913 852696067 155083403 701609911 236401119 134119983 41710713 495514319 857059221 509724933 498249151 173783665 655726387 654079373 675265235 335640279 612529029 845189751 393749529 18061413 660598717 731567895 671765211 786904229 188095613 708617841 341058631 682103629 769565897 255397927 153818231 819931957 506839307 848782733 703492463 992085345 806994973 336661145 848612373 211744767 119511609 361629415 498032955 250279775 741291013 893414595 51353757 387276029 884604815 439738905 7672281 69273725 687457611 179930499 608375161 474380969 271190809 941836605 560736751 460380279 775854905 168610351 817539219 643255295 821310301 586159337 25268905 61187463 248049561 167418021 841948247 984060023 338283371 979786813 510544815 295730277 914004149 18462011 21739437 176013325 490127561 590251215 804842287 70277711 168468823 902968527 594737151 51652919 933525377 828116155 296721359 37992699 450776265 431436985 243879735 819011315 317915167 407441561 868881593 391645861 117481173 116872915 35532223 296155323 952096683 998832005 382851995 533964807 410200517 336256375 139138179 799626375 849114545 554105623 243041435 207873115 91318883 154950015 47553771 50621649 965836857 154600299 380894819 569106267 966159351 672451653 301314785 934497427 636528077 863344923 639625249 254663487 763980879 888156067 816118991 474071369 213540217 966158143 642771835 472202947 863988147 850972147 786648479 658610923 248284359 634447729 199005341 952956707 928298731 290642961 393431229 808671733 707087295 3670479 51933231 224426517 110048069 953769299 759898129 672993117 993161451 373089519 390427999 914656723 70646407 839371671 15619077 212463265 635056471 764459499 877903315 453967131 39851263 63460147 537536387 897347003 527650443 187663455 399690677 949206819 511871347 822295813 816001013 269706017 154544787 390002789 825124787 329177001 337484593 214125157 924038983 878614995 56085495 121913493 434494195 15639267 691794431 75223341 226447841 494984517 782967747 509379083 123345697 440603021 714108969 918401973 337276589 153785717 533905791 757732959 750226533 358797023 585764985 761928411 761682197 16615131 87690039 569787309 622510443 913267863 250321467 559198201 295404803 384950385 296165235 763021 76676957 746798315 638698805 80372453 748098275 71466931 960572221 163971099 588418021 14309017 967326643 395625979 413220765 380551321 906432545 146969073 804345643 694728407 600087679 389989397 49554075 690598813 218349095 665734695 613463515 690492769 456085731 203359375 637738951 392336315 450789339 685800281 255359775 378621551 536603817 850227519 129673613 957963371 741847623 244428959 927773343 437167295 906993691 523539075 317707987 462073255 574988529 68890517 753685641 76164999 223256577 235783473 157198087 275807211 531858407 320083541 656366977 519206531 187609001 219149479 540347409 197077039 655174067 617257335 944216759 868664815 617515227 254942397 736520795 95922157 57700189 165187607 715946449 777690239 58463713 603791821 678064849 99840289 919630961 136732621 66926331 827557235 46734211 895217839 217865947 677443139 758659319 805874869 177469663 79023235 253157135 849928897 130090593 856158797 37959545 638752615 943837349 735441895 400216651 319948765 115906513 10123451 386767619 384843007 39042553 187997275 528711045 434705497 338244629 366267781 760696093 589510423 807815941 36476185 26429827 293878033 480165523 54605093 187906003 870104519 173259377 454123483 145691539 639294815 38910265 416910999 900715437 776074667 434116969 856999131 892168571 30145823 587751535 337073491 92065207 781380571 248570263 410300625 366257543 653428903 489654047 661367123 912838009 489637363 156816677 942741753 129308803 424321237 522487475 211607825 145085183 480121355 409006267 968733455 853180853 714492159 163135767 874294665 162906833 306764991 606213509 304753993 879660265 100951299 646458033 946346037 402680827 896623401 213592877 914264161 216334953 731294521 483180143 186159883 728791557 77199585 478733787 655037845 592799487 77344379 43190713 108569225 117160697 931001859 91523643 749343899 297474549 594369059 320361595 697924519 452796259 979093287 92308343 669626801 358667029 720113675 718575387 125188577 771509323 853193577 506602297 423690125 729013417 456680589 118797959 288324399 375900477 210708579 62506921 681633131 712107899 719095427 515220519 384398347 951795265 672401453 578080115 734033157 224180437 384184135 20804069 570324337 513245667 301560675 11528127 548191379 75399297 150944437 143398955 592297177 964514091 509469469 532153403 494069459 995330761 337420067 8368101 699388477 262388645 69063415 380758797 744637691 208501 575167341 816625785 306686487 790575449 460230921 137764063 950262983 972037843 801707759 94052821 54654307 740960465 601319407 386768095 907970673 268696491 15863169 454293091 932819865 798400793 963468995 93564595 557787827 566443845 976096123 595884297 595952821 209334203 741159197 678956167 424315589 143864943 556798395 625742131 2121519 888294079 429654295 330783491 955355235 382996079 733893017 138965709 919888385 631455407 173858127 160487763 322302921 968329491 684496623 876034623 439174821 11733143 821398747 644181793 904828845 928921761 203090967 379565683 617850647 879953407 622337877 813729943 49544011 704466405 511897579 209602773 501895119 157198067 447722713 852058205 176665179 431769643 993616837 140144459 503030217 570470395 251930625 94789535 209107739 979641145 80881025 527457347 609318525 802536481 629234661 842028551 795144769 451594587 338289525 201464485 292122085 400804081 900330017 665179581 823606537 344295771 555285117 720592859 217376379 835640437 846834893 307647343 879615277 985286275 951666165 160076239 202109243 958361909 945245829 23435841 962085607 299340445 912780213 579258093 205709725 898596411 411518561 70430179 459560689 674952179 308177941 371029533 167778205 101718803 211140607 801349243 597160579 787688271 787910131 365686985 6607283 12127173 347104627 899560629 349087579 232172027 379957415 35175131 637439193 321205981 179270491 412390331 730329519 751567809 784399371 605497021 423965321 673833827 114989265 903172917 702663739 25671403 605935737 163821915 661891263 715779811 708900207 372900175 258252857 324810307 766021835 210810397 492082675 725122917 520461133 652302515 776117089 223166225 679482459 245667565 115375391 55250293 264017669 675987081 92144625 135216419 129229571 552145973 691502015 581354523 254058419 876412543 105552031 365449921 46670621 283728607 454681035 379574497 917570289 968619193 891251367 496194739 3128709 252435031 45018047 64981971 820583127 956090855 410045379 819125831 582822801 862918277 160474769 936919419 93171713 692282671 831647277 267050307 242308383 329060819 926570433 597661919 496034185 573006909 615786143 537714677 310532741 245073707 991817027 724716431 382929159 285920059 744745041 214805795 846222497 619955703 672863125 685944719 690273429 197441233 816115455 722846233 16331979 560021027 778295727 929644399 134992591 301219885 743364835 610506403 311593181 356413975 518891275 336906803 28199119 24410355 831478455 803751175 847692591 582660285 504703397 414695785 674907693 450644307 267846069 609355281 450180255 538832255 24657909 837540635 699846917 318335987 476854679 856444683 758347911 699829831 17684213 971378641 988166641 81189375 218689685 188032447 812085437 939408257 894200865 524338837 361179657 943862049 31436139 92051065 487732637 522204693 860469105 939926771 327011047 376025985 491167571 629622783 232759809 42447213 280671583 214347509 863613097 586626507 959291399 673353629 133556549 342537075 853634279 573206819 485415395 724563753 172221377 41183003 175340351 23817363 378282881 430243463 136215477 739303235 547854139 602260167 739627597 644745651 450585383 363706029 901031861 1152069 613896621 866909033 698371397 683963457 772681301 91948445 150052861 918980825 966454483 35260491 816517 405120037 189765635 157631457 427090217 277664295 197066983 413204791 195641573 138658761 731387819 75807877 147562067 468167645 929900195 126828661 568954815 623355929 563625801 755396371 795691795 492033569 271180097 20425427 555310315 720624765 276763989 781688723 417474437 58338717 815239289 194488729 416509383 271791325 51833545 602954895 115934787 684113791 88030345 546895503 337647149 54092713 60466465 353746707 331754597 127809389 672246311 472077315 694861939 28256709 982197333 999649961 91434373 689173905 243827343 857565371 476263797 634581149 885746911 949514585 663867839 978199705 757267323 521194501 114657421 778714141 7184315 35933101 742104493 73004971 262372643 68146599 742774679 624679085 14939233 725573809 410071143 480400499 320526917 22094317 573372649 715841335 256284363 755374573 518734729 278513945 165887511 940616099 578294625 5652773 736165749 741117803 52939053 987775563 846616661 755107855 807522901 896755299 462819159 364994487 865476587 706293551 321278265 95338749 688364963 264394583 258738155 433493467 925998301 755549551 890108285 189927607 239987107 101094639 910315307 978408287 632504737 808734009 701657179 156763655 563287343 394018963 44634003 208341069 123913291 959421747 742162315 182846007 138168737 617671727 841715741 471796017 991701883 15682185 68349769 771740433 922792147 401799721 936323647 226023701 488792135 863289059 282196047 928142047 783506207 286294383 106371063 620163455 902145097 813109869 417176535 814818923 775816031 542594409 206589885 797073535 567171997 652822993 333059995 20434687 149763821 393729537 151139469 105418393 554071261 187262521 91274709 423992421 255407525 25584033 703647711 10078939 140556065 146670413 810171197 565088997 790617053 516312373 411060141 607681231 454796805 396548409 673701135 924825421 535510129 359134245 18560113 881222781 625088419 59029159 972240135 680112357 37186237 156445273 290632487 104048241 939683985 671729343 524248921 815221109 309514905 248186945 514745161 206579123 579600879 246176045 867869381 22889803 697087581 395919553 77900493 195474893 693837651 755458587 561575555 366200621 44291815 949904197 327677489 562147019 377146073 871371315 472793163 201940585 439472015 844808633 727891565 388589365 293570329 637355165 886602329 615059653 155728943 872431237 853654269 353443351 358816559 490450693 5800295 111972495 184150305 283596947 306487767 924496121 265417397 168827283 952486063 445741709 477382463 829856591 965621627 213790183 289630147 383280885 680113643 351902219 657836003 763561119 578686173 273835881 261324019 611871825 643377493 449237 533142761 283868913 900947323 790811275 37616993 182829395 657553829 460732209 859309223 280769837 793349965 551862485 374455463 994433059 702694423 326089195 473562105 857771709 318570703 128120401 462469341 962218349 797897829 263507021 919769147 344627595 912722167 183685515 274705567 402750043 788771017 555926561 931028293 159007235 532442437 303200653 460764935 850476181 98527741 652174257 733176687 305044237 670541229 362649565 841554349 671085129 888172345 144428487 454246807 295803411 488325805 43427467 918604973 97235485 261899321 994156973 198157077 800981247 802546493 531159067 315362975 630627131 372335417 896400685 923595715 668303931 9391319 235882397 180564127 990953809 90993391 380758161 418799611 998987955 727771511 189996693 370795589 446364293 824953493 110453921 793173655 955503055 864387989 470074129 418791853 331171203 575408105 579829931 153915633 260751225 69602349 693936027 847609201 551057779 374994211 255903863 28410083 600483867 126934197 696846651 415109801 502469633 62743803 927690829 868818631 293885599 739977517 673559421 134210287 606045527 924328621 715448571 677211001 816286321 325133833 696023657 934736481 361553439 812104691 638759369 64450639 970971001 142988871 514434697 865678741 714471297 435313927 369803391 153855271 569434145 892237151 481258217 891709349 939039529 122173601 763100011 756788823 998832467 360727371 922002193 341186605 324468545 365509631 639215955 623731389 620686457 908421255 266584845 810698567 689259121 762188503 516496259 837708721 530214783 677212171 254259557 54576011 379982309 263001445 974948807 675696395 577824973 514166097 276435237 563773459 921420103 216726115 336764005 502661929 983662925 418778197 690997717 400824445 771330751 819157259 610584617 633995491 495833705 904311183 646151551 727147743 302438139 354778901 851312221 550772627 994704397 119258617 37041839 687588819 127146273 528207551 311057099 933632789 391823519 232054543 985206895 654306933 514014939 99771583 880355261 153663423 507721997 961223881 606415431 255121503 204304469 339078225 483045885 409800813 195882687 804958627 719035969 524602281 82926649 465393455 466202325 743197307 158260127 254930579 510313193 596104431 686748081 392515987 941434383 831517631 227344409 693467415 158075719 103439689 162476647 596620853 71640565 370610839 714330387 760935209 191690471 308119123 866721923 968261203 47056721 244768729 564710907 187339071 412931537 643628583 759531185 437765027 417543533 164713187 430336697 990165591 137715857 308482397 692375577 770035809 583973395 791290765 523665849 734767083 462418479 171726097 41374311 362295623 332917643 159935023 818850785 799011825 139213877 659672283 795769285 439541645 974010019 953557415 918164127 222948071 887322287 702533335 258089693 169718001 566523041 191191885 685707739 493331909 984393255 639931293 114080471 928918441 131058003 42548987 949367295 808853511 20019621 728895049 225004383 509405811 657359617 847060749 462447605 82871717 871283891 55683701 3707551 470101125 367327859 52359257 786040103 761485081 348865373 704154169 112135487 286410137 495241973 390355003 351609729 408588639 236383787 691563569 48228461 538204141 802909779 237828751 735754091 263512047 735566889 504323445 331531727 22131767 417820371 180216747 390671823 288371395 310165215 460523937 727145359 474182581 419883329 527558253 426001431 238568023 979478105 164322509 262187609 506381341 160371433 386081835 218262575 378120611 296660767 888614293 830585687 5116843 454040977 292947139 165163133 192156705 28299835 267332371 774253619 266609945 890680197 435483789 418243567 727638477 35887417 788232415 913771285 706959263 893678479 977950819 544471021 702177567 329604643 842311445 419100329 655127291 68691193 768793503 505812579 224485137 704315777 949369933 796930073 399280995 890519949 760037915 500347319 460893469 268959325 159000995 948360975 495293331 597346197 166891569 815063255 772158783 460344387 155250353 275807155 976011973 386514395 679876795 969325867 768573423 548801851 142558607 320733361 198966963 251320233 316486419 764343965 154047017 840734161 447931607 936983345 957835159 63719623 569363731 295924631 477923173 739506957 450346919 308358369 626697257 986878851 504273687 93250309 108044701 475611257 170542997 654997991 897902501 210571429 262135285 912525391 338089293 389141537 530564795 406837997 621367237 478419319 164551435 431340383 268050285 680072335 567123381 893018401 713175235 767522241 12487729 527832735 242580343 20985547 475237789 437333545 138736985 927235537 512612799 533859577 452583269 473162847 287748619 815743025 656965311 672017005 383025811 954341849 193436083 23605591 83472665 875657185 635348659 903809251 159362053 351757093 657599321 673177149 254202725 265216101 976979819 844118265 813698031 801111371 723984339 984251927 257791493 385587047 468534179 118536957 8414891 870253363 148154649 36492405 158565523 821248785 463725717 558834101 400476947 251761737 832988581 650585947 553139499 987022859 719478267 370051693 596939905 605729907 203053681 109086039 474212455 700650881 597051917 629039343 382539473 154882591 659681017 787972979 816189279 45413149 728897929 613549447 222440537 98353717 977308981 759372599 690552751 815496969 822285733 8238331 711324661 65336351 200756129 973629615 270429039 352164845 60915229 740643479 85137153 108213193 510228277 300557921 104481595 477045493 341928235 768867365 86195539 635896729 766475115 618073949 400211499 133003721 994539399 962478575 952954697 548991613 888352317 697114921 943137243 530177685 299391599 766435519 33351099 397849565 489543207 283168719 187196005 534169091 222183833 909511135 303390211 655721891 918896161 532495323 679383137 253106493 957650753 934740249 532146171 783825465 194396583 305795157 83373803 694896619 979388961 942559413 318836221 97061515 430484143 366825161 26633629 636390969 831870835 556482433 551756003 330136065 218608055 818773823 519368333 229332689 782607601 130192581 406635015 787179141 50011577 268563521 512018523 641115869 992567507 969673291 868901187 308474497 791759917 778817243 362326557 455643141 523768279 981248091 455447793 185668831 577912077 416808599 284799855 811388533 405321523 915928515 812218349 980323595 740349651 880122749 239048297 445506261 564890787 815336393 193000845 251886829 664469627 52298263 972557735 608691283 54174303 264302139 100558767 880588015 708873597 976678769 18351169 976568467 600432421 787283295 724237993 74448379 826339283 708165907 165505491 640158661 953609259 686418947 367811417 569403771 236625913 418212105 789010039 755751569 329892143 366327149 536964375 157808987 267568871 820404187 187807941 750653471 263013991 942480745 587609019 950653955 710413849 14465685 406110169 682864665 934296719 836255299 499876771 782371421 937513349 433427647 944132939 833685677 994141921 242088129 180658599 470852563 564090793 517227621 14104887 967202433 728708373 163817007 389224737 820368977 21110655 664044559 698605623 470866113 641185641 967664215 929451501 960937021 202137213 366701767 376633699 873495319 945214099 307178883 92421729 117918341 73103009 458472473 683736661 158886315 128464335 205459069 31739737 545561233 442432101 646218253 275548459 209916201 990535383 805291151 198694447 51438155 566894783 393424175 462771321 343594171 904893923 777736067 906277567 443569183 291082541 301285511 214131039 247844873 858220465 103331 290432351 1825011 901997993 751810977 187402611 995519295 739910519 970185145 879132397 751265333 637471401 70438533 112078543 582521095 803336435 346883855 112444609 28334029 156964651 379532223 860189711 455899275 693290075 532096365 723451573 381438503 612213417 964851799 920840781 13264755 949698153 624623905 254784801 536419369 594367769 135331289 439000865 29900267 321241691 984908531 218729187 438311745 631769849 662831181 135209127 417036955 851960297 953134635 879176531 862094167 79087939 38272061 784367993 959143089 401072459 767577239 950380619 97171669 340418413 803771061 302698159 614454739 953207613 553572989 842753063 178624677 736154485 732896573 816754659 39882285 833648377 614652075 445491645 109718065 667022805 275318241 319486769 562658919 249580089 933596263 765631081 94685541 517641603 480284457 480584499 860612013 967136055 471687039 965853191 225045673 807158269 791103521 64040193 791920041 907635883 294413369 420483309 959039207 174275899 554159185 623483959 87239813 944897491 728063841 640183289 575347081 573446585 770204101 287609071 925963497 995358309 35865153 232876673 380870267 386145391 247249157 976097217 66426369 897318045 663210661 558258787 988060197 809827031 38630685 434118599 547574135 225265459 92298963 328667639 795644783 813626605 590332309 237797023 144755571 196414821 706777495 761917463 382353865 703719209 462881911 82161757 811044513 324545259 263156283 333312029 444569367 960963205 221143119 537465761 280731691 213602813 113515145 239259107 731432389 991290493 123225637 411548033 635236793 844546903 90818763 682080707 622508223 929585927 178083717 416263063 977955191 13361203 611428299 875969175 239607661 922035363 721195639 189527551 610349583 887746123 505983697 974763449 738752953 33523781 921237895 462623571 342068907 796554711 315239851 975675139 997824525 957327723 617544125 661066411 647979251 753422229 546080417 258256593 563671893 354883597 168497317 217420195 321190163 391121595 562802301 204730361 68199673 576323751 80308807 540581459 284634037 71780613 698385543 218958809 731416291 130944049 281690413 305878359 419039233 663248045 616680077 81042505 372375421 926416933 787296355 796259785 515534755 969140845 726244567 96068001 49804721 102756989 236739955 267796801 150124229 395012477 38632493 846927551 196906731 19997109 948745829 536724955 734110225 636329883 221533661 163910907 379575569 372663495 79320515 912230959 768790191 91554045 708996525 848969775 49333905 909554473 42372249 809017689 133376587 21531743 437145065 413641909 86721619 275418841 242055279 80921841 699035407 236635387 132118365 448637799 9546179 453389391 76973905 499810579 529685923 97173641 799636303 794936735 832221895 328316551 32663495 961175641 782937395 177356103 491238795 644763961 503246285 75617527 303613659 649618907 299432809 646270955 380090459 68008075 747723197 855033247 481078297 431800117 62027373 85120947 391342219 320521329 843965953 373203187 832290699 27788415 511297259 780702293 53290849 145438791 523490437 885530097 986613689 649967701 853617165 38402571 365635241 57308131 768154031 805540881 484065709 358825937 775205245 812899219 587993261 611945379 223082093 932757837 53854451 13685387 249495395 600862245 645747767 880766559 618311207 996968993 74459027 644700831 591449707 259606393 425512593 867751793 237478087 46305669 724041241 751155877 542925247 102161867 464480131 463129779 78655161 336077557 65744269 106237881 348126471 351812053 965165915 305288319 895404771 760042089 616710523 267810163 229529199 109509841 636448481 401421231 598346931 881198683 775269867 537155567 93228705 566169721 713999199 84161949 70632465 506493893 950365545 651688389 316414661 239147269 206633117 876666915 778200423 981794339 611013373 131352595 706784391 611375921 789727465 229012891 303526817 67160429 991407665 764773485 867774481 363776055 813467403 12033249 795653669 495587869 522388241 712914675 2182669 146478033 948957771 209038155 867471073 601919791 724345383 501710905 682408355 61047865 341524599 133509815 100859965 832172059 299301497 125707615 72125567 644726825 136795093 819313019 142559523 896364765 956288919 986068987 914608843 967827161 994396979 226061429 313721599 792080363 306734981 938325031 86187823 486790149 254981591 948707069 631312311 705862723 891881683 84966529 426827991 675001321 826229645 282399979 160072633 142307167 427315845 359836701 931974509 906050361 170008223 680962205 35865581 37022005 236258857 68223643 85708571 630493493 602717657 582652651 38719933 127645763 628317641 917108241 417578633 235565461 887658113 591776559 981970197 219483523 537895917 937467673 122520803 909422225 171084899 628653893 359511131 998998637 428126623 546891471 292297681 799244005 461940681 149741443 846642301 751199995 682908267 410481869 112489345 596574157 236966781 314645189 761420003 84628391 475531867 977393963 701233305 319466237 236150985 172929637 434817911 693919085 860324343 105191557 112803907 199942325 416178551 523289663 590939301 382724549 170423881 221769715 902241325 233491885 679739857 648421033 27781461 699323561 593218781 679266577 538249853 293274909 177530017 702022785 940267247 884043413 846195643 989300217 57913823 567603393 940261167 760235295 818431329 814684289 62187885 255839555 982514555 836327123 115103561 529967709 487183637 794565095 614850815 901210633 356539645 40259597 114646839 477259411 263064817 423513795 253325819 709324265 761699983 110975401 696375235 156008607 244532835 313492365 730750569 704278777 741328603 445824863 402490421 700282841 985693523 332734271 254825171 176210387 989896457 563992941 834217563 492515355 409995307 15680341 158449733 174600083 846335173 71489161 254931067 719868353 930615765 354584517 755892297 505173459 301296697 207560687 575007075 354373537 365587389 342304015 902656231 892615851 122429967 950321497 165424729 405049111 518874057 796694567 928733865 941199029 448159087 986691839 185485097 132133887 750336103 294929035 537141915 544378639 247411205 414749087 87339551 875818159 210512511 195965493 960849477 771348303 209673721 120482415 941757953 38094341 770047867 239594907 179102129 19653007 358275063 825170731 923354139 226131287 212662599 468860347 389498731 584126571 237817129 805277709 654462519 343881347 408533579 460284941 480822909 436393725 577551161 52125135 691119777 214844897 860663665 439293069 16297071 138018013 298813521 192038315 723465247 742621771 541177379 768181683 95684939 285646375 861703961 801855833 759838205 474822937 698795083 902545529 787554205 305790323 347918011 517752085 884424709 924659753 225347155 685227099 226865263 470574045 302916837 925627291 816979585 517909461 252118823 69795153 339445063 987704063 303192509 49765921 9432121 614739699 783456815 204112853 53528629 133281521 852708847 539298913 999657595 11923679 87868245 758665953 193136061 131855949 408582309 333555865 493186831 522009971 288279301 648357873 863677165 219997233 20466055 694609279 222562367 134931211 986163237 120158463 443912527 650773553 784378561 693071953 482903765 857284733 752307747 139829377 354938091 405024365 481311485 362936517 426178585 331079975 964867303 966997877 757711437 14340987 312684387 128799511 829673945 156890847 366541531 642693971 617021565 544829045 581449119 993095167 22448731 114824195 950716649 926684183 264457477 304459001 375516635 822995643 898620013 284795755 699742845 792906809 210701297 700892955 882388671 534364929 812730197 887385201 162647933 539748531 347851721 100029819 216585081 953501967 898309345 976654575 597304919 254691071 540375449 357416237 642159023 87782811 651842903 260218175 155573749 465009433 742029033 446749649 235809675 738693087 750513029 304828475 492832701 520892793 866121157 537933693 623374777 960289689 31514801 340388669 174441883 370950939 925695669 777730253 283554661 426125057 685317799 868204063 916766203 161998199 182075589 617575641 901019699 441769167 865523121 541918013 59050437 842484359 279277437 166312763 113897043 756691519 701058201 287710573 29977187 698895557 498976487 425344529 928680555 713455371 942598315 483793421 58119105 213953325 604938127 701429233 184949159 238687085 486266797 507441907 810550341 173458743 817410687 570129909 337799599 485258271 795269611 920415869 184191197 217802975 306292541 185231289 624591535 699433561 699088431 167029635 230273777 503781531 412718553 76403543 123495761 140497369 624563137 237180767 331061355 229529451 540774615 834536807 430555327 775468245 948833903 974553065 552857015 246785219 273660743 696782085 559153825 159085577 526699137 901055871 586120635 470236833 4586669 800200137 129376037 722471599 548963009 167001339 68962277 43935613 757575447 821354959 884434159 421148287 874521209 826992563 111533085 132074065 485446415 23812529 983358767 923635639 881828721 723888003 96681165 498434201 783137181 374879879 459953547 945748237 104240631 357671621 165752033 600746573 63865421 484185069 564798511 883465149 477611219 745858133 16909759 62118377 291707685 210089467 998772675 131344257 735240525 637550473 664979797 218306659 357610677 474763085 458221429 515092115 148217139 228484157 924869643 592182585 879637507 430387963 357945579 32102827 323102923 984084173 867778763 482556005 805800089 807418017 472711759 990463495 93565665 81858065 745555713 634072669 603643523 446118489 285484111 416466781 108750017 371837283 295001747 894293537 537563209 783835835 697485841 816526825 43876913 320850587 287142383 727914277 8351479 274769635 45833537 979419237 190742909 350948375 836489213 439120231 20364309 931489385 199569927 329683979 956131185 276108463 537158183 883431263 132869549 828698985 486143759 847022741 921602387 452399549 850488409 204595207 209424971 264073341 317340547 849521723 551598319 605167899 284357881 769874139 43263737 450159293 314914573 238016953 178875023 985462053 702361845 586759635 820246335 517405635 554879445 13350985 942358269 800298161 738454453 350711145 671551271 5700523 694556295 674113957 408866691 973020955 14607141 456929945 763931453 938142991 106567757 993306631 136817643 210263615 223026091 316795099 189633673 754193673 266595535 257510439 166420095 288394355 426343477 221595689 678143127 711087409 870677561 669197635 16282119 448236693 53415465 14619903 986221423 265986977 799320373 390768913 368882129 69498877 353670519 842586709 939661725 304183029 740727533 62619085 4630437 102396035 471502979 859390885 899413033 885487687 618771209 119824433 720753613 445088901 719886393 104945387 108215965 31226159 492164533 647599479 146666769 803787483 515425797 994912927 998926085 494922697 11984283 229658967 238142655 680285407 696503247 191868859 49858539 888640685 261358563 291286029 95595167 965646443 144115713 470543803 172628055 160525559 824533561 78818389 900836601 450946009 816036741 626086039 285519315 614217281 525645511 90128229 517322905 992336901 588118471 152471241 500178539 892769955 449428533 566536439 966111435 347530309 171259053 863867213 419243687 420058297 281568175 430284617 759724373 286632053 654858405 642223003 424595347 265815963 999497951 196314387 858151045 52551921 850307735 919830957 57956023 3487973 598522863 518399373 662110497 879367311 610885103 720743421 367494687 172441777 52773255 782827123 238961269 460090029 296464531 952020359 162496083 384036759 342603475 590618623 925245003 314464035 96005873 527330245 466729565 637907633 641610109 299586795 439760621 374258763 833612785 690644141 323459529 212435867 397242797 360005743 996718373 920454909 588174077 487958205 350649505 8539247 180923919 953491529 136243261 10268823 467952639 843388141 863313773 328689095 1949645 722205871 571632127 74932465 378731363 45091001 473175351 973297851 605786767 97983581 869699253 958729831 831293967 686941721 265232779 515882213 919580803 61022349 324568361 12154831 604874609 136880007 329376369 743698529 466213967 688529145 642063013 539466885 447921521 514590207 179048053 965236681 768672541 477842907 178541811 360590435 770501243 452512505 673291935 490069045 137033881 110289899 262540893 773458885 616367989 938284655 215198329 732043585 59902701 798721637 936553899 339873665 116058573 489399003 248366607 637558021 130439875 929293571 732902955 386327285 384563051 360439609 121750507 65522717 391587141 388706303 448354725 986298359 619602105 231629057 717187349 486886307 522738203 659607059 932999265 281441509 7335585 747312175 251100951 1934639 42557295 655568505 968975661 599656087 281024143 22255931 745870333 354072285 561218543 971991273 490783567 689623655 399650411 271735583 632681041 584584005 584604865 30816159 504711829 998341167 340877469 340385621 56666393 104190339 626229137 845017941 170707269 665840201 694384149 179106265 11756005 184931631 518393481 602182981 1949227 806893455 505209399 645214499 546963129 429512293 865131089 482142505 938913939 716860251 477386481 732369967 124564515 356319679 765018645 300840761 447239235 508744071 87802537 497898101 373142317 75114581 800279935 722360371 40335239 134751855 566033997 681336303 471008607 857208259 635401911 479415629 917784361 105032425 213540165 666015511 284066501 720615457 976775273 950121027 24072819 417930323 54116733 466853609 973871077 624003083 158789567 799818575 477781295 786010755 551439195 147901149 408701391 783151771 588488291 236728617 126244263 962991063 172590029 423880431 364004873 224931177 667039869 634509583 469266597 858706727 730993723 547461015 200863901 542973583 780755641 274461367 454384499 254159821 485061775 968576463 513189399 738963115 379163713 743199325 725372891 839041953 12450101 732845329 851394431 167952081 691229885 816324795 40030759 185834753 337211155 640572249 631538785 185073313 882802777 360555787 937966369 938788549 26707863 293596959 338584773 56805425 900161471 7403271 720863761 961073737 715370665 595675997 895295797 172576795 751879191 891086055 383635653 67682147 96639155 667620751 169313981 89388413 775492879 80789353 559294853 404584047 796218529 17023917 926776551 988212203 566413515 152715715 474449689 827570759 365586393 444793395 294147515 159198083 489831931 737241521 325056207 287948871 126792777 941403671 104841155 650004191 803404741 938869613 934652525 636642885 930632281 713957593 893900811 322845465 780368853 96402351 842611265 486334111 531767027 352947309 989075483 328582089 325698133 630044597 411911953 753187885 802011011 927332177 845747711 885829897 123362797 475462965 120270379 910323271 777577455 429549693 452405823 274885495 786216905 169960043 767844693 327006923 457226405 532033899 23754727 566559271 198442899 46137361 727078619 611782673 211196045 790308887 230274175 267194553 901667189 428963169 260475271 253952755 699779345 275670777 648623635 485206339 358300695 640194067 89988771 268077771 380813341 553142027 94780715 813706335 266454693 783156325 562627067 128297331 956833815 158542793 420645585 964463401 710896839 343270157 627853781 595060551 558864877 874553131 488450705 583100219 738713771 445655367 621032701 84706589 757624583 162342827 863657075 891798189 312500471 509615309 428777661 660827217 882978129 89931845 840558851 550247451 431050965 805700057 306187487 180359871 108534065 684829809 630302025 14112413 397484019 570792739 971268523 799872701 678899093 914424873 705478353 264468431 892223607 672300519 656775663 478656809 287794149 520805865 841088419 807189963 276633869 397328353 10048755 585558363 522731019 164235945 401056331 558786857 824242909 373330759 19042945 718257963 789028977 977206755 110603729 880420099 443047829 506418389 705386723 751902455 834078721 262225811 829639617 650740983 749403483 275552195 718715105 706926487 663685159 336551473 709953571 945147163 405026009 38605775 478132169 659064421 909906123 509736631 63349121 758619657 343166781 211298607 720366433 601077051 780868695 565084321 329880807 531653853 138388525 192775839 615629303 352313459 558589365 223520231 924335581 594986801 827550163 384568665 506559569 977641193 387540561 47463683 562242671 561994013 665926877 970615575 275846589 607895027 823095313 220674801 73748773 668740923 748072049 184667155 934510081 595469677 147165539 118151977 367782155 653383337 224030779 258887941 12188009 921307571 227802415 187648421 768201129 352996605 484602979 480141099 65137857 915025307 375053025 596138721 140865803 833348177 229848983 750852155 75222351 852140675 720682591 967335381 350003129 871192897 884212477 449713777 966981343 829144643 405350423 269120507 752365247 677795559 382496319 754144391 136028603 952472373 901666033 287922509 736630693 289145051 386913163 581626293 744319661 502790705 887493719 261397063 275096181 962382649 644897159 399738297 945776895 31977621 166638131 665012707 714141627 656406681 973914463 163013321 178644603 302483001 932900081 608533911 39876223 54369303 722776763 678888353 908682091 624531321 283462519 251080033 380805197 333444429 659987911 956649339 226451609 117903659 394200371 278562233 437755693 467069523 42224429 795912721 567092047 243764395 841109005 600005019 695054251 295517123 458528791 695216027 775429463 979276243 32639601 546675839 595487439 658242235 882741805 354984151 86076155 387872511 712942405 157783135 808774181 956766927 506890139 697013499 754750723 236864773 235345911 181341621 771830709 308642847 871170315 259537347 554983101 425881411 757992559 429079421 201528329 587175745 89541541 457622889 978865649 531551119 566540567 329469745 657570861 774336847 212000533 342368423 399078119 523613255 795469529 432777415 525692331 410639845 618417541 790266549 942594669 80498755 573917473 843333821 996232843 379799837 954973599 157580113 652987849 624953565 935989719 16256011 704766807 638459791 971483275 76799665 416889033 479396847 871280485 100455469 283241755 534966359 963800565 165456273 727527347 101917651 476495541 44695321 512402783 559987983 10535429 734774571 501471571 317221731 936742705 490297167 642410031 142645199 836933481 669116729 541790965 632974329 502586565 679306691 711354899 791624497 92344135 583015923 776744543 366056303 574035415 126684659 990516245 850621011 471864137 559304725 979568605 612476449 77757781 56910807 178378177 512793289 156157853 539872987 877313593 549050085 671163049 748569579 123138849 634524339 285351657 207731707 889120445 780198169 419334585 379365157 606240957 67249319 397496409 522481583 731499827 936917139 386297073 1402629 913850271 81670079 519143829 738639029 177080805 399167409 434131261 626385279 840093523 115074455 202519755 642551877 672935325 745507659 22654981 420228369 694637537 859821129 908166305 457954839 667766181 225463993 753650995 987626675 944595925 438678125 238769217 235276903 586922951 514673113 368007475 866931167 47394871 117116703 23252825 433133551 654697549 593033987 610139371 165545105 532374675 89140727 842635791 938620393 672457217 451236625 340218825 271187777 307212529 84114193 841663245 798900239 927965739 677672287 613206965 961225963 785312733 705431815 468572033 920274585 366776985 909842371 125416217 850559237 457774687 676285681 58419985 325144131 184399763 807267993 734307041 969338767 276775937 507483243 281388009 806071369 843402721 815864507 506825843 965139709 578534607 854185869 362097331 218073183 34082513 235991941 369526205 995014221 224225107 489250547 450552471 651860165 397320233 543757005 782641447 787869431 991635603 468918709 510794049 455890483 126334519 657110257 179076507 739865333 795287071 823462255 648717529 28679137 210491329 632909001 875446917 932104387 743701499 64994875 414735373 817236877 467117587 422874029 402228171 413901145 145472183 754680497 832258051 723252077 745426681 191262587 439849435 604401713 765933911 944316909 147713127 213959229 481992377 268938891 411110813 901894983 646156137 853792647 414941537 969994549 749281823 32769463 175842427 33010963 128070391 129428379 905790365 625915923 560944245 662394969 332902497 785468047 364852873 927745729 354836549 676159757 463548805 101582411 924895159 273076023 993862953 234177559 4536067 960519393 263171995 788119529 344166245 995830019 197918819 138843441 123632127 894070469 309054333 458366985 102903001 527664239 666166849 622271533 543001061 206679157 36346999 864040967 596395517 973659761 443567947 266791845 638635487 212062761 404414033 572310975 360843063 754777223 527594635 180134579 935392661 268222623 120029017 347248007 449718133 996237995 897776013 425566959 948525877 22852365 407037527 968271421 534976031 819778387 327202905 462897267 534618979 97741615 945476757 940215097 618332447 329281917 59645305 388210651 970926927 191742783 339458013 50077267 699461855 354679971 594715129 218468417 287450783 245694455 836570231 455621609 587063369 384238267 592423779 47999293 4286847 273881745 70837553 814326483 418680009 864247875 971748799 819558123 611982489 300755655 766585683 42333803 355390535 124519477 971425175 239268835 20978965 227762897 272190117 674412171 777489197 564304903 278588919 134035777 592371871 376644971 218137461 717084557 166398565 924302263 277911657 21212319 914579297 439429071 362417801 673361485 418384731 422549949 618470133 519259669 289199619 780652471 729308975 895452193 581275125 344531733 879503909 64024127 49009075 523444061 85071149 398612709 839850657 267213111 206592771 287880245 441535509 985952633 589914319 599438581 197955655 176831517 760010013 68988307 632312153 724127047 772185823 853914919 333720659 80151107 810281079 955064947 882709541 255932033 527685801 406149337 918398635 280751777 360980383 576224109 821325733 564760417 786601459 172633059 626050493 689516209 709905311 581157275 497182083 947107489 981771017 960368799 605710449 397587567 834334719 420411033 848930791 193463675 338932917 990463973 925915697 112045139 440890057 23524993 414239613 857285543 86519873 608176403 374253799 892215127 60124809 33676269 638174575 510973795 804485495 6709249 254366975 18648821 960970313 201264115 47950183 997664613 6710433 710174985 176214879 457322793 668316559 826377267 973442445 562700009 198802057 308274951 365430645 310014573 602433643 633081027 498699405 246610343 295488633 975993681 62443305 349770167 943199585 952879679 909342607 744936413 194443323 380546499 827649767 332790405 804561279 536675775 118548033 528915009 858931223 665535161 451077013 642681551 398303823 386313951 580871881 942724113 163494619 228141833 231252641 817155345 939579353 192265655 507460049 937869571 523332047 484897809 778216947 137084483 980533929 572372195 963858567 183272275 723379899 688657831 295539701 216625119 375838151 663639933 875547793 50194873 148859373 584025641 106946961 836153311 462442685 515600669 273795099 91486579 87243819 1250927 854863923 616488127 218761623 987324895 325468109 865336375 442340035 493405139 329636803 335420279 568276189 827684443 332136147 299122755 48070523 200322095 815006891 565121411 768380315 949476269 749107415 597729869 691216033 844927965 748580821 194344155 458989401 950030701 358865923 619008913 277202683 593204663 261408427 405534201 822102563 699658167 755884287 733692359 554591701 713000727 116127001 343814103 881743489 75896613 867210999 490454829 368063739 354292183 97951109 948007409 244303231 29789903 826714517 290209913 803454131 255678035 978177245 561138751 859130021 245928529 609820929 379524327 235465 741002081 133721227 994548541 595933181 334211011 606809577 487743025 892925831 378844767 636495477 132838883 60065299 126944705 679196017 242624657 273867191 818169123 552706825 922144683 84285937 13755749 525678921 467386049 929907363 274405899 268894509 945901711 203942685 182625863 922030487 14248953 472077077 884377071 862836303 279624459 656250791 228320897 75723015 831222263 71724631 622674471 236189783 226880535 105165843 953114289 23309507 457521905 532405299 984067729 104973745 365877551 113124209 527609323 777768563 574370211 2604275 352092549 312585027 454271561 957922629 583153615 406003267 706273607 495791967 184502237 273132667 3677667 976030621 977097331 275512029 715821461 173778629 931833589 879891777 747904759 437309187 786624113 794138985 305483979 941230317 176846499 174515711 223447805 663349887 743074533 228371861 672908191 635150879 278626627 34017697 736236015 906014621 437432681 104314759 1732941 70106921 904556463 431482765 7948871 700164707 573935125 639998441 812679567 692616531 30768451 16265137 375758081 727804257 499507589 826747367 916304031 697002085 51244501 89038453 688713621 719957405 219897043 465435435 13255479 101830827 974190531 250149059 270639101 798029985 712690071 132426207 944636559 836837617 329012709 582393863 432292021 564954745 116861419 899198123 179156067 320841341 154163091 528293927 474162357 290631085 584591979 499390653 288384749 930011933 908565163 501079953 468083577 932224841 93052977 576239545 404744935 852949783 223406981 304406317 450505463 853245653 795449559 606495695 910088587 530440503 464780027 968319591 578587053 210038363 237372019 625552293 252203667 188933831 773554279 272668453 508395669 525281383 71087525 943358567 990909495 788239249 575293859 729585621 26613029 821705219 457902467 336284607 82010931 515023839 119924491 192376157 275487579 776609975 92839849 573314517 514947777 95827067 247927157 785889581 799491505 319484045 826979375 538799445 241530523 716853423 794264125 867092265 593402653 680173585 47299505 496836457 104009467 537709125 638441279 258139069 498112285 841361995 895161159 556958649 131021979 854465927 319083217 789034965 882519467 984056519 846374029 960093809 965666483 587145023 77005777 551853785 492633405 475450253 68033949 252276795 586377983 582594231 699880343 789476531 351666897 265367337 966081807 65376321 258697657 283797943 294922235 208204749 533228001 203621027 286320125 543783979 386318235 406872717 180001627 765329681 124672099 966397829 729357829 114536485 546834911 196101633 170404495 52399595 149031125 356519899 397380923 78235863 719584317 561735515 819716849 98082371 799971377 734638127 718319679 595072367 339927283 880558697 206959707 585186947 639817709 831939465 379555879 404920723 569608375 563340657 112871207 632526229 730905607 697521011 92710029 350583663 17221829 769918273 77696561 490950373 846842617 142130169 847830927 992289707 710256855 296814879 554634447 956730971 697789369 988570019 848005057 951551347 474073381 202797273 671150813 501275231 438971333 466368381 923950147 797736561 644386925 488075957 907824823 250850271 588451093 225465103 854944425 482461391 561723877 698948479 527512371 803246149 611321893 151098469 544511763 40713525 510203721 18499715 530909615 837313911 583788013 958101511 664883223 286468815 682902227 126813063 144258563 783367139 367249383 945621247 136871121 478669637 44909373 334603479 402805895 692728433 359942671 691639513 584071385 700039365 696887745 28467005 799956505 567146123 477414621 446122399 762803275 694756341 557442071 552069123 280422417 706353179 505045835 145894873 250420159 184084993 661944955 422535923 580983881 934704013 843213525 863407249 937609297 79924369 530365863 964193879 114048283 582723015 925467505 173185875 707266969 142041553 399716053 991687417 243980643 178778679 648757151 972749351 137253301 337507435 360392639 811401763 153165943 873798343 553112659 350587289 890136377 477877641 772229791 860796317 731686451 722592733 257100555 921027761 383745347 579768531 136345645 671553973 191381235 939684965 172654527 750398201 536422253 90204789 375053221 263143731 278011789 970564555 812443883 83423357 107602385 897493273 704260289 305014113 694048095 542337527 452521863 897510855 528803591 487496167 430565819 148876807 99330111 852605779 499216653 881957855 525733929 826169995 426138445 733660531 540115083 786936011 94936439 309920847 866789587 864838447 307020977 724916843 280001307 948062661 806620481 115758883 449161503 356632189 462412191 806904893 19693385 96386095 467751781 263527653 44884901 675706269 531541587 916039855 106423535 271879793 569672025 294456987 34303873 959779387 44183943 654857231 626603111 253856629 524398875 692621781 580416077 467325055 893195381 503995683 428384907 638633125 195573539 698441879 927944737 883387671 223986903 976185143 934922421 288646637 971537005 978137455 974204311 205918505 64992485 10942997 713315519 896655285 675621487 48135527 692291021 539551841 656723805 146842121 40318725 97464551 430112553 785113607 505112151 786329319 725140853 41889753 888605277 36503789 266936079 87256921 271238485 720662375 76033769 767600337 366793253 182297009 612152095 108494825 413485405 296634123 901637619 706199739 204309043 715505055 792797393 25150145 163630985 980792701 663144781 761854433 397946085 533755293 197502495 918911337 209804661 271312101 435291695 604433165 25860883 824109337 858061701 662020587 433756987 658488815 699314261 39110025 192757781 726527485 30578683 259045587 875688307 381845955 199664635 513426719 855045577 984178863 161652477 36709673 26924857 563287567 780792279 383030807 456227975 866847261 670608515 563051129 423313957 775988473 198434083 66974015 842913065 424724397 982328583 283696843 25591379 43665709 971810205 983498207 175146761 96743757 468867971 187324073 813609053 964153299 846578555 731592641 831323651 142050151 186655603 914461983 481167195 770819223 163366267 500866349 867200621 743325409 940935887 361384375 338301161 354471331 584239315 855332081 623101219 74059561 454556177 728952953 762134303 761042849 44324159 876658259 897780097 923303461 927499317 134089199 983810713 814326713 791358713 730257697 614236509 74125379 626923187 878153509 100913775 486079383 946570937 999157153 208813845 101073517 27852167 855322531 539526717 562996581 361244605 752076449 554931585 464954377 128332071 169904501 818839069 771601867 804169659 828890471 292511737 149351173 751767185 418033443 871693991 76594677 3052271 808571839 989368923 961213383 433137471 255227321 443480823 202768781 875992083 983119349 711814399 172333373 987125031 781453503 29399717 447986363 670848097 687740111 387142847 576726737 191816393 766564929 611643853 897921581 269571473 291827609 904564981 109811817 212142873 896699079 444405511 206998793 723365345 756912157 492135803 778156147 847799701 598085467 220203375 909859577 642751495 577382053 831211693 881766359 124901429 704795529 637717151 706181673 338996543 115943931 414271329 120683007 426156915 527417177 813080751 428536131 964752195 590699369 938483955 101789909 488676427 652452695 195969083 887648113 386092621 506773177 717553471 404320451 503358005 867092107 197095515 453438557 113369365 760131637 499830939 202338485 752532267 336614529 762790059 242439215 661203161 834737319 70226405 199874067 806804905 282689857 383097157 684367251 993758031 322804057 765715573 649457351 520718503 371173719 630833857 335975857 667863731 464333331 394676771 125728571 869261215 304701899 36496443 570712629 542789055 744126755 772968781 371387483 532219021 96262697 854372683 581148489 232754603 82436945 634570443 914273677 566997993 822439545 772833805 465188759 145297973 187133925 837118967 188044479 823503533 597962565 867926809 240081991 490687891 328164013 256178859 221005401 736051285 428318105 383625099 581464325 995271809 389614063 640867649 635484997 31768281 219887869 514877693 923585019 906685497 527673465 284361365 760212207 916567731 163287933 735525767 442214867 117199989 873365393 564110845 26229055 907605213 948010401 317007813 747415477 699136879 932277509 123951445 944989853 737732307 546807925 1687247 73482061 767416799 656758555 532666105 690674681 389925519 683248513 400170561 359257283 451028739 967215263 453631935 785438391 254278279 214061265 233806899 247838915 120806545 783917787 799133957 51215555 492647353 870901485 758177601 88580215 255696581 784550811 118221987 316526729 395671453 870852321 528817797 224001417 489368665 66760997 440409841 673480945 901255727 437839925 152966039 312237089 287756933 925263429 43125965 729118053 231309287 542083827 17402003 206871787 135556871 329996357 147068815 11698639 929771967 712627111 311693841 887479057 846534677 461431535 353289489 89140379 823849779 451577177 71455021 533337149 327917163 63910029 291334573 920834225 550697019 326796693 982160769 944426135 272662339 888757737 289259071 428180345 807826257 811633763 449978149 335902411 663125591 315000907 776201757 441088227 874504559 568491599 556642997 335003137 737314783 774572929 945684259 611129171 691422737 209562721 50773833 806787047 956924569 369133011 503030701 323830709 770510641 188464165 208139901 750742179 809099707 600272907 806036113 663855477 909410629 187485603 669858921 395997919 592140545 680685425 938744621 233933947 259105611 795242853 590247337 469049801 478380197 486114259 570085719 885730097 607396539 83469943 347717975 370631943 910168417 920819577 334637933 306690691 493353873 813239395 299489547 292885189 271140461 802806059 450999367 339950039 324849221 204519729 714236641 639892395 983334791 979170359 863143231 234400027 474917329 234879851 287242097 217431781 311338725 334610531 179159087 479414967 242856879 80138269 349503447 60952093 912745283 128069115 864125809 80214933 77936091 748894415 568933803 533313917 899169755 179847115 960093151 692135711 359551693 270680973 990535945 106933677 801709671 661722393 543069907 805777217 425168257 226339551 868663947 509189081 443980063 301083569 138244647 713722467 188088175 812189135 501703497 91051947 265814209 800351197 917372471 379383663 594413201 273367529 142882527 230361933 48309379 913384553 792523737 370708431 925259617 608003383 651910501 879753575 524830241 838202523 591455339 799784301 498212059 339673153 771363703 887231781 946491861 144433215 393536451 243942069 122116727 338128401 339689007 421103151 422372439 403765663 964992063 498667149 361066545 194061363 604028709 201686193 636560101 852046725 505301687 583599715 573403263 854097583 536798835 486781269 112984373 227195707 778196611 593384993 9309281 116598289 546407093 828759877 817269123 268586121 600746369 341324333 351030091 30449505 347112197 853640233 587132041 679166397 575070729 629835125 64891195 268976171 111526653 969780269 634583937 689168287 987078901 969140575 203984041 683488375 614949045 272505339 927240229 945585017 622979487 659187161 673422479 646781649 809927879 669442749 397649581 236818707 419812323 579331405 586768489 375684673 357361231 114880539 931319253 886371003 785449495 236804769 601660975 764648529 105079527 935044673 91730649 253561145 545255191 745985347 309813853 489555213 957988007 498375639 592038767 737079253 526820927 393151769 787562985 75182335 419039275 510760971 619717585 807611997 774342501 486748817 857232977 462568749 783832717 288870019 589678781 485549335 398566631 142165653 908193679 391016743 353702245 780828009 195553641 43419345 68400029 390943371 14122523 915491569 633788109 861921131 989453715 953706705 52467423 373455457 14235375 470908187 776400225 718170031 939558769 373659363 578364555 895285885 683979141 1123497 69588027 509826017 809883071 291054929 374828793 152424909 38637529 46141225 570318067 357286953 649775029 59710183 621953283 153779131 206343267 346100389 168442277 139384627 575264017 104029931 403625475 380119085 653275165 595768741 772917995 946821161 724881929 892280105 342570451 932224913 679901315 591788339 509685725 895839413 665113435 620118507 866243789 576573135 548394381 899925723 430395415 826105087 962759741 130083835 314173389 208374097 739388341 389664423 761205169 454443443 592246891 643607203 349521449 692146945 294513143 18390815 472253767 327301115 809221661 806795181 262929343 517764681 891732427 765592909 399226353 41147263 556295185 48664419 238890213 889606165 650859307 363895997 917184331 575366251 614598013 250858639 658629241 146438605 364477075 758718839 802820461 360148329 93676575 903146617 383557585 907085147 580131579 696877061 115902709 715524003 199247405 118533359 806731467 616217385 344388573 779957619 825558775 260484289 194926177 410261049 307507647 640955427 246069 291525451 959526673 641784047 77106681 462588703 520601479 647193007 958537595 381907349 674371421 948863191 431115437 660821743 224868733 250211259 809126825 192337627 446723189 576859553 239101621 4820849 2158459 405514415 293977915 611551785 417422705 360640761 281281229 341941997 959064027 78845815 619368489 576225033 346826219 227560201 130654767 51343921 141811577 715895161 350580973 825600387 295734271 42657913 694003349 989085315 998953899 441407139 176008323 879759905 683003463 412881525 546667065 894000047 471781965 618781533 953252451 122995693 116954077 845650087 652046803 502189569 435547579 857768593 722517127 945503349 327694935 562805561 553665183 983198783 14520523 686146473 67622249 325298109 170575317 203832019 740068953 215962037 879938267 247482511 549105157 293207635 221930221 500890785 359899447 21041709 804361667 289954223 93192149 642640705 387094715 145726541 707240947 685602289 628809179 744179697 391956175 67550735 955189463 871627775 608146379 537553357 756514817 425280703 781115249 417243847 507901277 236844131 323382389 854089991 9995149 175203843 706252467 855209973 276779749 317651107 281175087 163913579 447638617 860018729 139358225 792621219 386750603 236418151 16115119 204797251 161509567 123015193 282421123 964572759 623967207 623529437 261889073 20020055 535975833 813012797 893205379 229262113 137163541 546523561 444453743 880813301 522434627 265864575 423747341 284338053 516234415 507870459 464842657 690598373 40082067 671342921 812641177 979143825 646393805 265559417 815489413 952625265 524068071 332488071 476246817 619817935 537265163 981863759 713161809 535562595 216713237 156822943 493533215 143385415 967571331 831032103 491223489 996835843 850102651 980233599 494776719 782861189 713624269 420641321 640856079 462393887 823089391 300213647 357281513 840599953 580983555 40756739 885014517 282742269 545474255 822915771 618131497 71224053 873154497 854275289 642146475 484124267 402207731 714019945 905436103 816444861 896283425 880267099 235447789 527261871 368530357 298636935 454735037 193038961 716743099 645881007 622013431 851692183 983896047 97244029 740539013 877672989 860056747 410194561 536912767 153164905 678205179 719587893 490979611 618656329 700748683 439684347 364732353 980053747 140652979 201403417 261925111 462757633 744951411 68753093 874272885 759815547 476262257 368797461 980478741 828051661 604796925 402803467 639126489 657330125 87976463 55618449 639354093 599839417 968850757 945940343 479189667 309340723 841713129 522439287 250969209 26894925 807807973 300703281 635609615 699671927 280534997 302264113 572180531 692723091 658429943 662639077 269754327 876007653 175628079 986743209 987432727 906690327 251167249 893477821 7040565 920523843 130267603 842018379 412833437 448936931 275895123 428417379 946080227 963411421 515423257 589351935 631605953 343008637 117391187 419215103 683684377 341636221 983754457 93818415 717870075 719307765 53370413 315602749 227540117 798836587 694803825 361251525 477186885 382161871 59131001 743752519 540257165 410840181 748536761 147235371 716235289 351831067 187081555 407080133 692927933 878754275 671712267 455001421 660271219 470243933 143671379 399569891 100412511 521821823 231836481 714764177 190032075 673871523 414946197 834114891 756590891 974211987 757046965 827966181 835559963 950763383 673479603 885258277 27921503 1052391 174301763 184401843 255309279 316145633 883643333 6348829 704515249 402071241 941208641 293070561 781822991 512955757 148265317 665755997 518488925 995689983 589450123 342598621 194734887 611695137 164993201 720658063 128829981 299108823 523331965 422809229 479238687 749019789 847906367 768261339 490664235 625554457 537464301 120057183 440332913 523774903 353595689 565850605 860330305 512666381 985075513 478229821 724887063 173639977 69379339 551004655 571596695 783014783 381893175 941627277 349908877 982687471 710019583 44432265 888466409 402547387 702804549 805206077 363836875 829663121 435910813 222578151 795406961 663016583 565945659 114111413 758737483 223087643 141765633 485518003 733275625 599350575 418951539 966123231 116863753 666710549 555509187 336180247 298598283 179368829 156112839 938670373 880496765 21639561 441013759 571495611 461528337 964499133 663235985 433482353 582332833 32614147 467294029 957864395 422572723 24692405 739689643 39234351 160671729 876666253 650592457 528067311 105191725 917659057 795369327 854110791 807598949 923612335 513759245 221893205 796885945 652779131 58260665 213318435 98027127 340674163 846844209 374260387 324854289 675404893 664106975 895141805 281068579 260004197 260805329 478756611 119168111 969115425 592283327 651599439 50801121 631394957 339386885 900318499 315449229 515611921 470456751 625687029 487403435 339666807 155592809 304512809 435540643 41994485 26240397 402737159 591864829 810905643 767126551 324384705 456845677 45599259 955011503 564631151 439294415 206451509 370744743 273624595 377670693 238607947 383479283 520268183 174315163 325493661 46219829 420993485 816523653 463748047 542053553 76099691 837767261 957209325 345081177 237630739 68490951 875257199 238678211 49816657 20321165 972007729 977178927 49956501 705640867 36991097 987652483 894454071 604060965 83312371 576092751 929783161 668769879 944505523 711465675 356714885 988666017 850152251 617447893 77491563 681368473 299404907 419939061 500416039 921308153 132869011 333117275 670591637 918059685 399864423 782926043 372268675 424533927 428492807 746400505 729996705 939143477 688718837 278024153 129288327 270861479 651456287 392059211 200502199 119437185 693390043 455635909 15626395 219963505 145401319 569139561 233738883 220480071 824711527 623243517 427221929 473191167 90720231 116827887 668597293 126772925 198300767 697866327 827753755 205471949 275229995 546743797 602413923 424359583 170946831 966095665 89392859 408528595 352569915 416826135 721316171 416942119 893542721 546752355 804225877 813485195 112517153 335774063 461461903 179508751 794002239 397990213 547253105 228699631 90006121 103259285 429635165 233853841 7804371 790771125 22796441 859931003 112897821 401097893 715093083 16589925 261664839 236914699 476784825 649731625 473599685 770794039 199663795 46730951 509388389 272466977 93208119 381617519 339645035 721672295 343996691 624796531 91748983 158668369 448332289 45948747 257575323 899055823 877539233 603514781 49063751 79009141 418617727 217860661 818177629 708365191 896367881 559855365 918116383 243042025 954232987 134673193 119274813 658457899 496961141 594457571 869279433 496714371 604975039 142315423 344703811 171671251 706464653 641431791 117476239 633332383 80595415 863442321 116581881 704785435 478334589 863174503 184433977 189926937 672091209 46692731 75950955 56136987 117132271 276159233 354695957 403025481 114559235 594019923 442827299 472903279 350936331 286361081 859244267 584405767 995332205 370056089 100051753 661859121 984528253 60006151 155612931 974675121 846029171 842987329 877189127 33202937 120734063 233221481 635610667 877871135 807993211 719821769 258834121 803523553 168739209 412059349 533924265 275632811 128478323 609577001 202424313 189863559 206418169 261170567 700645195 121265711 931729091 562369501 654443165 437554689 871544677 893459513 90019671 396532997 229741397 596610779 987245125 533841897 294346487 422610981 692616857 128483335 41439635 842021795 782519029 33647707 754864733 654156549 975872605 257227919 433726825 119334697 379978043 543631345 718637757 48105235 995071081 988269175 815660863 818489579 441323041 197503427 845215169 463626503 213144841 674823707 901549055 480104673 922542895 852870509 691775383 99333661 871668487 524204625 681663251 426520967 732248687 287105287 163381477 422840847 457358765 107428469 354551397 919502291 256984685 367776045 913629399 790577431 770468037 623211107 668989025 272232261 348238387 340451063 868965653 190020079 431957657 813290099 207430639 890470865 835137353 76856833 623935949 756773839 295436275 697145725 651951737 859068405 378713529 894398053 185266083 533926517 31366685 114674399 958656489 374411945 35459599 373040315 30182343 984515095 837568737 211747953 707487401 384168295 123661651 18559519 437115359 773617521 595623561 454946957 968615333 566378539 767495953 410630187 103634457 264631227 777721311 706641933 865867845 676993901 157352785 89333495 4618521 568951475 208610347 762590795 738182771 483499049 141847197 918323997 553712143 151294097 64981307 901652771 999091865 197644757 879330305 86619577 254281889 57946637 242282839 747895019 256571297 759966833 168260871 273358437 820693755 133294179 576393031 120334463 214492407 485073009 880864695 841901369 461357509 183986509 503623257 436401979 464529539 699659987 928409243 187482833 774676525 187083525 284614739 894440693 273667759 661083919 396766911 451940423 233235417 71279171 436207491 335539211 890483301 695195935 306469803 176479539 264696563 556167237 36986031 334485843 844115727 210042239 168624491 540519855 109945897 887874753 817279781 557486635 633111705 256554791 467653255 511083095 13479073 673027059 929518763 836480619 252534635 982533521 797437451 755089477 102888455 38347413 775789453 224527981 310769775 787851449 989162879 919194897 182478979 694245345 555633301 251908363 455017231 508757271 901441263 435047639 281128641 984390031 676485901 762234783 365496629 375942053 773127395 452822065 310552555 997404637 817566913 213119491 221124941 553950687 871246949 71720503 956033451 793439105 499170295 874387601 789124671 47543229 82282753 685433987 47674409 67016631 243751291 392284197 746088309 504188859 510270655 451584819 151821329 528220217 941174935 84804629 722493657 634145487 134694443 51716827 478305933 806519105 519048981 718705727 485038295 883636343 655432269 600225947 468355397 240456071 752551741 993158905 931133013 396238509 761863857 960062473 350388325 69358153 989501917 264582433 315596993 240895463 709369695 281771839 496198807 878148413 457076285 695788045 531863043 222728483 908173027 107707609 613463813 72630943 921320999 372315547 783031941 71289819 913688133 905297905 435006295 37143849 17287141 219978787 814010163 408023557 843012881 877131295 456606649 291023379 493379135 141741695 734909299 972677151 36293967 29771647 974616789 843181339 483425923 926186505 185898803 202256163 641503625 274990763 479513043 898558071 465617527 346043547 585181403 291213959 256792779 105136827 480136287 254333157 655702633 250329231 893257559 580322377 471289501 313828681 226595491 441478043 318507807 906417343 530594317 878370529 136710411 400984689 287853383 865716307 472264679 155819655 370608875 73619275 534777501 796851405 775908215 444905291 391127175 400416189 194334297 887430399 328272991 214428533 74948829 200874811 410491211 446316223 958407489 923915255 601429977 711172101 836032931 413315931 587580159 335145571 765852429 277200047 949794071 950128791 182494833 385815399 10768105 816212999 755731369 462949919 673969313 738814403 343661683 644285849 914565333 914527107 953892731 605600193 826500995 693416611 783826771 293763755 348548877 333707567 728142193 751789457 59629381 215274709 603516729 846118357 814121563 563263977 504988403 186679303 57192945 87959661 787171537 797188821 16635401 950281481 660649965 210577437 623520787 813855243 363133765 928480737 471237089 990951017 610476741 708340045 701522611 129529541 474307133 510397877 72932909 522861155 278481513 230881171 652250973 409433653 439907303 827118987 315891127 809267153 144442433 848611689 68494873 759617143 468200681 439680285 232077257 654521359 567553591 377405893 500405107 526060069 999814253 741702821 915698221 473828595 320749237 707586597 46374003 884981847 795528735 220425435 544068397 314216665 737318055 720809601 76590757 466559657 629408297 167627515 108524945 279918749 94521715 574427477 625517073 874348851 992865589 704993471 70629543 788436885 614395143 54584729 623950145 675262097 682565741 929993313 853196341 845559711 505485259 911066311 92952385 481927645 113708921 958578331 962094217 460442899 802095787 365670105 171179419 459149487 547382403 962989223 920034411 436339915 464144653 2711627 64045655 989881635 839425593 862245949 717026083 258838561 958308063 947770389 422971391 419361233 428830657 62566297 689701501 186761453 244486793 322478515 884299679 16852949 173472967 285758325 831203525 870458255 123695861 761493277 515897535 593055945 950026101 480031499 852127937 845781723 970643343 314555085 893580651 273952965 358270067 399029781 608248765 666005037 561138749 608912829 122984491 851263075 462412013 712751307 463790981 788538207 230955373 139763561 950786057 267331263 583214221 131603947 428024415 332414155 765988359 329005001 232160913 486446963 313133435 995421355 244966167 219642701 644708725 171395417 180677581 459817111 290148963 269968583 802760439 659396667 541700001 230512401 454155333 791838407 309722223 657595513 226292169 715311987 348401399 343749227 132136707 417065245 55194953 385329273 956338647 359308109 407723615 491454305 723741075 494841137 72681753 532481541 390936043 106460321 470832963 28896879 459846141 845165855 410582155 157325011 937897807 75223245 350280589 574907533 520507085 902569855 627559113 119642399 362685901 188134313 372844967 167180087 282854155 280133997 791490427 259379107 548157359 429599119 63293565 117901411 285918275 609240193 233842893 362672537 236374463 466523481 371539831 856645263 183169149 619423447 155656553 679506619 772948293 450938465 210389631 420843701 385240645 62420745 689219191 448014657 122492431 863980673 580738559 984975437 65006243 38085167 224533413 740449769 167155301 83217941 645599457 868864337 807138081 160216547 608556311 490236905 816057103 546858483 636944529 481266747 436269003 542980163 157981565 280771837 995912539 671401849 835886327 292690951 961029931 40290277 651577853 777170781 41090831 991878781 950724221 550049837 503018055 193934819 902614595 571430343 528406137 151906653 103791117 140937895 408290479 29357017 7562361 542658419 847355487 528144111 811342609 4511217 34213479 722829281 151771463 700945433 635801101 145610385 30617973 885037315 34646527 458804371 730553305 710113269 360651087 310489115 741430177 854332249 167211643 349310729 850487769 622857665 373605483 438250983 48512127 832781545 182643049 939385057 637643633 728636599 281330221 866115279 271625593 89131569 737925843 423468081 529001801 995904655 728691679 533313581 556180089 344451627 248520513 170297235 530564237 666495879 610734411 696526299 894185451 527618125 799125949 247055907 484996325 117104213 250100923 472689715 99634359 158958229 787805651 847598971 41486463 435084853 388293881 918277137 42454599 996140413 12327821 361054131 634356225 962992865 142216527 218218699 691503237 602811387 384800115 88934759 548718743 706537105 777940871 160868413 400821213 346649997 372426895 90992047 355617769 807026179 105802219 291963075 730536245 437010477 353482349 206755367 447607843 86576237 200450373 937620789 446978555 108685393 930325781 466104553 419911663 436891021 9298143 857749227 71374359 168547063 906721041 536569997 904061557 728497049 709653123 664797123 464138739 41022361 791417197 535183407 440029539 881351501 698197113 949975573 805982331 819958829 384085427 355494759 389642463 403691489 244631951 720425659 411639063 251954481 422359531 276181073 323994515 523111699 793996045 185862415 294225327 951375775 402334367 395441029 101197997 42193689 101689531 151370987 348078769 256629485 850755803 995900447 394134995 113201839 250751719 652970153 406200583 583821593 227183145 473713593 923714863 489648399 246148183 845234467 884567063 146523293 818524815 208070763 742984047 771240947 585424473 781840821 361752015 382270575 76786845 783638737 181657017 66036117 622762675 146532405 797624471 940341773 472337239 82849795 868717497 425943213 679931825 171862273 276158297 51145583 705866317 269463453 961178007 230242425 853723165 374882543 792699775 356471569 280116611 492203959 68949505 992341679 151548739 943637853 478622453 328572395 415081863 338584813 715586077 313618827 180530409 272848929 998311969 152823159 956697443 985565785 549471125 90796997 392308571 6652825 788570097 286465969 986098335 843944851 303990935 41825947 539164003 74384541 260107213 943687953 842195269 295091895 934269897 10079685 397021771 377103495 147420577 344739473 944607201 180822621 563249751 267611515 478095325 271848753 587305939 142558125 481102717 708820897 641473513 553012857 832154211 948505333 22272337 262083675 289534879 91857949 158564523 728628729 804666023 31623341 234609539 187915547 713462359 470862825 868444487 918318517 552547827 987989429 861675091 346099937 489068585 919097247 367168231 516096485 9808401 123646947 721364011 299374379 58381859 628610653 142425395 931091271 77590345 795816851 267851255 762633201 302606799 263897529 860489815 971302161 213261417 316315553 625650461 648109487 348065589 636385229 642128637 793081599 985544889 2328419 672358795 940054365 749910241 164029749 163872845 799415115 76035585 113582775 109887915 521043573 805169627 37326089 324998131 849868975 879589519 245020149 452818019 709640947 477149101 916987111 727033881 255655011 934774569 271088119 159872799 614009677 398674019 823387875 303883625 638610469 9569053 617734165 666671563 761178243 999552645 1389469 16749835 263996971 141712433 811140653 410725583 721474569 393919263 799154731 850405035 891539761 296400051 526201495 19025685 977489373 920077241 217338919 664376433 930044017 336966505 490130991 313247241 478147703 25391711 808767405 305179403 770601891 102029727 554934347 647244177 380308691 93966745 439490903 624783263 890032901 488359713 253191879 464179739 781223527 317246067 823837757 161257943 389576013 933505077 715131389 649455759 617671987 853684341 321841659 119521761 85907897 850290087 739372233 242850391 355238315 689164713 912551593 696812643 662850047 638298817 89009793 590720349 11435725 26093723 127725283 359438985 354552409 63156557 866563331 299832845 555243537 471607379 305093057 404106235 457633669 788042645 828036775 861211983 695845745 747564125 138500319 76512487 570856123 179982435 716984901 697905293 525601641 233511107 556277847 121354739 148489139 655058689 427970875 904844721 749513969 547667467 47091393 160843337 121333929 973062457 920639329 889074981 572110213 982341957 113919289 4287895 684944983 799414101 573823249 616589781 103895325 356792309 10322775 978215427 203953143 431142429 491194149 705412905 25315891 974401577 818709815 354245175 167219523 306013407 387270903 810842379 897414593 992881771 479124339 613831009 891791475 262475107 308337761 291746789 583504195 986532803 24968483 986483495 305928771 401130481 809823679 663898273 887504049 312116669 344979427 983744949 307326445 230444887 272834535 580608683 68551301 332760159 406406603 583675317 217834795 746979037 148321847 668558827 105208251 179498041 173656439 847136335 774450743 196469835 799529093 540334795 21190091 797583953 781125119 520328495 413215179 995218413 651633455 758665269 10016433 22571057 96845055 440132223 729531167 711400079 361751307 429712275 17662179 415750629 719808145 631107303 615816687 769338743 451527031 96742609 256038239 54768629 380123469 127073171 688521335 128835697 243241035 65899607 678166431 879115629 579313743 441037357 618661741 341034953 700788193 735986447 838790041 742895573 520175407 358781661 38508043 784923717 291146515 771406947 655777741 968964407 322473481 261283921 402354703 235903793 324670779 71001661 953978671 294045727 165068663 358711213 230874031 857617495 329671731 910996233 315387709 929087895 746100881 534693537 227214247 169491457 295304277 839296943 957259759 376734503 767753457 797649235 276475187 726581497 471481469 871770521 375927231 57123033 986965173 534414959 545588743 392906889 416656385 783763633 112546729 438110521 541977713 676543263 220318307 420849275 431418045 637970275 842470693 533121359 23432517 499065101 415554815 385974041 785558285 334453397 944750637 232519847 467209415 427189857 471685907 605940013 286621129 173835189 686839613 285626185 65558801 35733957 838465627 549884417 96797257 781396139 541976909 530945985 690254015 658225767 475088657 910363485 649024619 769061857 834925527 610484503 522633963 259020781 128452079 939751823 44262535 988248643 107201751 9551061 86458157 394016387 340868143 802395999 947731831 962130745 809121477 791903495 906141601 924298451 188585353 687256085 196494997 724751019 995113115 296229943 295048929 715175941 77836859 482657663 59264955 886621449 805240277 184906093 551880197 827929541 876582651 798826467 884824387 182050103 305180779 712659507 752265895 944973885 384891653 188380687 98019847 394229409 339837655 198489749 110217443 148370965 288874003 797557065 880459619 745317683 808909843 279802139 154326867 514532987 740927581 837953375 159592749 34049877 288071067 491912401 898920719 662240531 722372257 499653271 60953027 430365681 286592873 506620735 885047731 472793101 499941909 1914813 559062523 673883249 911953907 601364081 251304281 90179087 845052533 805441565 367299379 936407233 666788407 179800303 121567897 691216965 271500795 763757949 570790209 112487751 303246253 489317315 210207885 221271129 587298657 962322473 981492355 514683121 894634577 923392633 116850387 588506739 472089569 930396907 642085841 11153703 349436059 345281307 33523071 981366591 797080371 375332621 10736261 130534357 592076677 52391983 930978609 189436903 870490005 592835161 308462713 225403233 881148043 446040261 842468095 545070613 78951869 558799641 64628231 492554425 259797413 295299171 288013443 686509553 978328807 654433303 196794377 729271621 42269517 171779347 288393177 30121511 566825163 893803165 570966491 748214511 629912189 63139169 580386203 45277663 503055783 956762227 934029139 625164833 385011377 980153429 639845089 213110471 118911537 599381991 301203661 110720455 627882467 992394617 532083527 300510469 323393447 329641409 583998757 991557961 524561545 673936089 822771941 183427907 849239999 146445643 804470193 406639759 298949025 648428287 477023831 597427887 490177717 844998221 650247247 783131145 545787043 898984179 360342711 670863599 287439169 489542421 615838551 673490075 222391691 124120127 585786781 674617903 8754337 552595561 790722979 689250739 629640401 884568303 7709989 677197079 829907083 398781847 167412875 329171767 327487855 412678027 498962919 940154579 738382653 185484389 670349805 72001429 864006367 566774559 99255039 669975309 984050541 998240033 355816993 877980597 751968029 429867317 970697221 730314735 90383445 701925009 944564739 549252355 987704481 700862419 435358485 528271905 757181875 596789761 554310889 282742629 880124519 674495879 513574601 933073615 882107327 298714939 62285487 893144905 306881511 235302235 695408185 113361827 419382065 214694027 708559279 651483543 953099547 909219543 316146945 469724869 956859205 473106103 270021829 410933689 511421053 852512773 707894585 560900835 908452277 444800779 579317063 538118555 997406473 366011249 486276477 266034465 202777275 253279057 420353811 877470627 930090551 252759077 567668455 796992815 488327441 924260819 289037953 284065983 878526467 391053737 400189199 700341555 698293743 429555547 660092009 704782935 51469027 707179015 953723409 833352153 962212627 525573427 69626921 386072149 331962839 761026507 900465285 138391115 99894451 42421029 576891289 236040483 971118163 119874045 997667207 363443761 150881163 37650809 431607571 380415405 718343253 374664233 280588975 928812471 583714005 350640893 506069873 547215195 114459221 678815831 647416857 531833223 86952521 491782393 703490061 509836823 396241229 980235025 476399197 192219339 432231973 250231607 766199489 958813771 824753849 973289827 329059993 945149739 53990687 665193983 65743849 200661729 819045521 319579351 596995681 235411155 99489395 559490079 36825179 581084997 978518865 670379381 16574421 307613803 839013339 482565853 242406771 839929183 950949871 961618887 339846025 42731807 507441041 806092295 784573197 186348441 475970025 381363417 478322333 487971993 915412557 87789539 575832449 130741469 645337401 327904307 353358503 88256259 558380365 180623679 347782567 501649557 629357655 14852065 679767489 311650567 214087751 95981409 624393949 974805165 361248317 917465195 531857545 632723917 596202359 322141717 714036987 336243085 273575525 945034461 325041171 452578559 483327383 270475687 398510171 85597215 146866379 270218943 388805119 219021003 246419937 459485 633520599 663872461 56959463 778130973 904544355 579912151 376370191 75800835 409189577 140236419 125894835 891685759 377487833 590032207 886569049 748303843 555703563 238616743 144947883 514854383 431818621 918977757 199481211 301571527 613093623 456771879 892987335 940363513 258585833 374774953 112415407 423333241 803673449 499933035 942138497 28777637 444557365 10764127 366268335 774484547 17361847 846187869 23441877 186707327 445684221 234292265 42419893 688666095 79152573 719930729 938533179 812942991 576155993 308987055 811112569 319324871 168018903 577985653 769109677 202424673 707964901 694137117 355021369 352204181 786057949 687225839 802600615 290649597 630636475 747281437 12435371 519401891 643705895 236058559 611257377 274504431 757450099 665037017 897479947 446372025 66811795 607688273 770245781 237826879 329652263 289809145 243201811 228564773 22040953 333192843 758635519 714367609 780348277 881233577 381601533 174801839 53971635 355874779 59438807 13607589 222979443 936487569 78785665 756118431 363798171 967730217 761584663 999318605 726422203 756404191 669985755 591283907 815648011 247978975 722693947 727755389 628164713 526626873 798207431 708689761 118501469 929444839 701684283 3606717 653925911 339603915 236520827 563878471 908231531 585457579 222358417 755899673 145499613 721802557 266905265 213658811 640340369 227170583 130437689 840629785 995244629 685426107 281904551 223021195 70011557 926269075 774601643 287141065 713758365 215277807 183196437 910119421 359596803 455857929 747418593 321417905 627169867 536303875 889619507 893622237 614607751 201216483 88727381 224602077 898711929 401184415 461596349 418695541 459839881 143064333 893731075 847402709 318906563 238273775 280138477 610925713 802612449 585903343 290926181 566339749 452694851 16843675 194961277 841334647 149492205 378078321 691540337 141512405 77218961 807974097 3155365 891053811 366175109 936383235 906825893 598708591 700246217 439778103 344310563 840610895 817865475 180355721 238150905 907083519 800018563 556692473 237084205 855115093 329359425 721338223 907978217 160020109 479226587 408330431 588369279 847183439 66090905 606731425 268948333 840605093 485428075 542060981 931954771 929809927 980555237 612228999 724639743 658175055 841380939 999845765 659781731 896204229 903929473 423212043 93384859 323120407 930043925 816034649 342224873 966639447 796875075 974014103 75991737 447266053 671479271 688672985 483081629 634057477 38384775 970798615 715859 157824421 212870997 344749105 8874171 863534489 472403753 543523315 404254179 668591871 797430399 301103627 637539581 774179419 220979839 749533205 455174245 3507101 427447291 351634831 559555741 360716057 881244263 125004519 675771217 219558539 596857571 778644585 690169941 529164827 656359737 666005843 397257379 486303571 270705365 731663555 86683999 570946601 149554639 98523333 169830099 299345915 231452645 349835079 928930163 138240657 237587329 674610979 439005915 256449299 59005619 393194781 94421197 173994777 904627757 924097243 19528757 490751905 268100179 196735473 10381351 355963405 696034347 868905685 226534621 601950511 402074213 75881965 743077051 445443641 436791895 272251517 192618827 128353737 167014143 13566393 699904579 226077923 76283911 743784377 360030331 170827767 74803901 237234817 266517239 879535063 360166679 830271735 796256229 804481219 677289143 410720239 268181397 92335967 243470817 566092575 706060163 976127417 43503239 348613163 921081171 63686215 522764609 230534555 218504143 890723043 141640779 676989921 957016557 388543957 758697101 157065815 959710149 561607881 262754969 636803643 508536221 2973653 234691491 180317625 845378781 595796597 633245323 390533347 552779547 176289937 206875867 386430639 869632275 22052723 77190077 96448001 504969125 712590547 351577357 899231393 293722335 652099019 128298057 236186689 789954289 167551461 291903383 773706617 552902971 910111241 892189383 924840651 799865147 468141455 250090577 530409889 491104161 417230133 914711123 82466125 641149245 176182815 121811861 382067205 660809741 530110171 80724613 773210605 751563313 438740061 410410557 819808781 151044855 959684355 350191993 135376215 367925713 759934867 404968355 553054115 436504411 108467769 517978057 665982643 893301333 614842761 44426657 495115057 304025775 279341957 387031181 130748333 458086523 513399949 854330003 79693729 121902833 681929329 892596577 767185519 24926585 228577127 143226703 168835679 305512603 243656457 62431325 782367651 92699403 913353055 83642161 511802707 817497765 490265557 276060701 536792177 109727083 321188419 177083925 727102695 558988937 350117345 807647161 602142341 681224529 33163865 111833171 120854021 863136833 17502391 339145933 172273161 188503035 661924975 564546755 3423255 794331721 817557085 985114483 984211877 454284575 257596363 807343299 24145673 938061209 587053411 215125571 740455557 245138169 442603577 298721323 358136643 684269995 932761805 391120473 858155091 908518467 140290051 552023893 393658287 433637499 948821033 410206029 615146807 429299767 155444213 736421147 301807543 886643329 163105153 526070587 281312223 794107533 222464853 395390679 569030983 65994935 735987549 972964541 884885873 566275971 766342127 655088739 187894469 280138393 905663175 604351211 727974295 206020559 546852877 810511897 975590175 221748255 255437643 347917663 986356863 749443757 918653561 361117907 666169277 457655747 637125363 115417653 155892943 20873687 841518205 402768365 10112137 350468225 88505925 349512199 768322481 534774151 807220195 766461757 864636399 67592145 231994449 92577263 811834067 424220789 857170677 58991393 921432789 813965229 111834267 401143685 49342043 571330527 211562109 296370287 965201577 507381905 906991411 295748835 54573301 813935483 496110019 175465605 63718739 791358325 906438301 382103205 578008521 984785285 884760213 465040187 454851391 167242195 295121895 564084197 95029891 274266295 668297531 455851755 687556435 727435687 658299035 123391035 238698317 130652233 184972925 92599919 615701245 214197097 299941569 266685891 866196177 247888889 809515945 677395233 447139877 553264659 891255011 257161493 705029175 647057405 736929927 261958875 883361077 489126689 813135373 927086925 648411947 236362001 544872799 871286263 940932887 595936395 391046089 438761989 910689751 447309935 107989247 333433167 346878773 524991691 595247645 568012629 205611749 197786065 444307629 627074111 838887803 219270877 611844505 608741337 341891453 306359665 138132021 382560925 12447313 920329785 613560641 332333225 134833483 955677191 936731107 760018629 962334881 75328729 273937573 550011745 182455927 351790801 785314941 244339603 571440597 95137081 805571529 141860379 980109741 763661701 242627407 270314591 465398233 931115089 590628155 566671215 9926679 806152287 944096803 468158721 94006549 754847131 614167045 501905015 618098015 80218137 806063939 515510231 605093489 598383377 784815535 882757327 579650477 196645355 728408443 124413881 387895133 454397231 269858371 45967505 335440303 242817427 795491345 331010561 451158461 263012591 94088781 706519639 665464457 434083143 477550289 497715337 315982333 389798855 830888661 852275001 960953835 676935619 165090309 542756779 968545033 679137717 81450855 295146705 408343547 298955329 749639797 43617857 183956553 182228785 510895629 725860155 450317157 627538043 313703791 874207141 67644839 466380087 806694733 330947857 565885265 888381097 464652987 690562995 325934989 519073599 449010229 230160747 603915117 928892297 742382243 362098369 717764839 559266627 436852303 121483749 32646111 46813265 615812593 945837485 567435549 693753279 851863459 789601943 793087825 17567421 954913773 972463565 489616409 606993321 852862653 583243805 609003249 43291911 560485989 619116799 909141573 987435137 988981925 348005265 790299749 282010089 720605599 333440923 275533451 842052155 102716645 171902091 565412313 937750171 841503849 795354233 281179735 939601749 824664457 988288295 527259637 404373211 885561865 442393335 236859279 633742023 981250329 882668541 256358375 654261983 325540941 159794925 877929121 793134093 938301089 941059625 339025235 683970403 792710011 98716341 223410807 869394207 986984361 565994819 203990633 646051233 451927137 119206185 992371831 726707319 441798717 310483303 364129743 27270483 270173765 610443173 180877453 347081487 224855781 759592239 123883697 315293873 380304627 857016831 393048869 963102819 279190701 729533363 608436921 558004855 381150389 585389203 412362023 932777067 386509597 781577359 145097233 244065249 77883989 414869053 67652093 270181283 248855103 955801563 833631073 666280613 100098333 88597075 505156499 603354881 446286495 486660147 354426837 332836095 263369945 964501683 302238799 944544261 937599301 316242097 907240213 762510247 981512655 852069811 324667679 74170531 615526845 190956269 949805901 496703963 835231433 901725233 964401515 455091545 455681041 685416705 114986791 56381777 962880789 312084357 571149085 576705823 250030279 556315531 759187917 352639045 123502715 437477769 482686113 773587823 392219887 202097567 179930855 576889713 933393221 38681239 394544861 615796293 358381581 277510877 834110113 772102159 944377917 189954441 172795711 335886361 575795759 507320155 306318245 505192921 354256045 132201913 530850735 112256487 824198111 291764659 450563357 964284679 451223133 225265409 467025559 293034277 203942949 381256449 217657009 197762645 825514907 762843069 220314339 829361619 946058379 801060575 128541837 47793919 417831213 540596931 619138553 991119973 2889501 287151973 796144985 792604857 444509281 26184559 411818439 967819225 113117285 764691247 921206339 589252035 587990781 593985949 447151797 950110119 843908459 524429143 773915889 77631701 342808911 312285093 753354157 676708297 829766585 657720693 547645325 202199335 557064733 665224287 108359707 222059195 76252507 343968675 32549061 58711671 701118645 640050985 418209765 8293749 602722009 725908607 619631039 63471355 788285661 336916955 801688953 990111601 704439615 798199581 155355175 381928815 503711969 987891407 923344831 130471083 409126421 931677981 108750373 598684939 803984267 565661407 834914849 953929115 986886501 399724181 216136805 687491469 865111079 176217957 27851915 665524541 428994491 152172575 589081617 385571627 961114747 160465979 96790371 918521607 684848161 336657111 566427859 172801187 449121491 247912379 584088983 953890551 553956383 527862871 11581651 867568939 876817913 814250687 187146895 89400711 416030655 255490743 397928125 620753535 414924087 999611043 83285557 214038445 304948109 557660307 271207355 541681367 687791191 892400445 916106997 775994087 795315345 910085891 549563253 850206961 875512227 712358635 169769911 839477039 213426263 962515363 997223447 391652867 890055651 492990083 417854435 478682875 500287207 351075469 91865163 142403017 590963301 363041635 937035623 910327625 651044045 432329305 566160187 181373565 957415665 426742627 951078061 902969747 679432465 897040417 922769039 126593241 476203473 663938781 712186523 62293967 866429245 685207939 778499699 726363159 461100493 623540395 869881503 299679867 567788893 71227027 374826897 494886897 811262515 683705383 264257185 819357841 797910523 780579825 616068881 832330911 923445961 54629163 109297419 440956807 829104671 683674803 608779423 414652125 566395357 235335185 475923655 556244315 792084819 350892147 386888293 285352933 850409013 997909427 584308545 211852421 935505827 275126095 497012491 250380657 273925407 478554475 546656351 292501505 140509591 410758107 125458877 348219835 158584929 278425877 566527631 239626567 760290875 554477879 620858917 573040507 170722887 777586951 954498745 476975697 131133719 411281657 265138285 703404013 98268573 495754783 905981511 705361819 505594935 783699259 541764413 358387915 504453033 551305141 357579045 284564509 549077027 135168665 994983361 881109071 850654263 121499041 545454011 617529169 753690085 652298285 383356323 975336243 609128337 470368833 697451763 230852403 802727689 846053263 814254347 298745009 315568257 507127917 94715447 584543291 600983449 916909275 508394661 828463745 218507857 358076287 663050097 622611299 723359259 936947881 219727259 692094689 769159371 952606033 286358283 119446053 61494687 470177301 566878101 695062151 477735993 848267837 55207409 505165437 158771627 4627129 773549761 395902127 848927589 331117341 458380683 946148581 214030409 822288045 679434179 175829265 756536729 302850891 608192963 472734803 275715589 412322955 875764171 221360107 860952735 716988067 574588165 676008005 539622887 329005937 379603583 245029875 880124097 920543611 616300599 718333107 862436729 759483635 549485067 961861223 962219207 304244401 915017415 844813849 310302407 303913265 304556825 903137533 169818623 644847515 298862237 817989487 440306267 497294017 887680209 758983153 425906737 379934231 55906339 21510191 902673725 71202493 662780641 341135355 831202725 179773053 263775299 550554707 137575159 64407745 795791213 585130585 832991529 912557989 884562537 909438551 97436053 706499303 459234597 479670465 343550979 551735021 996003451 374390579 321888159 487777223 463472943 176345969 723740161 246477869 69471463 124664931 257630753 438953597 870504247 182548255 167911273 400148927 20350103 271381471 129601187 870697123 542238055 722038535 300268807 479838845 982631665 730255393 990263601 848927825 775976039 811054305 183200807 700605379 80167393 422560291 652317267 488776225 874125667 465274603 156603535 547440487 683901907 395534177 908700437 335850801 246552581 195306459 461690507 805792709 535083439 734662611 807217919 963804437 454183029 858677997 316228325 558092217 572708575 334503925 467484699 937577453 43546463 196480987 595998439 517970073 334473551 79565503 368069365 403511887 756838893 131686111 91038811 728114755 72876901 266025387 248628887 194855765 593283017 743659187 480838027 539440909 69244431 873047731 799641225 319736987 981540635 994312847 750352705 277102037 586456757 252926035 338403541 156066363 890004623 512762417 559796935 211886579 728017217 612931971 500184583 591701709 386010447 62565839 636524519 312706369 958253087 496240063 727459111 873285997 318575363 202386469 303050475 570435609 534636085 22545149 490246081 971825075 9082839 925064813 641036957 713835349 370257137 136144827 390492637 452939707 581105781 278231135 793916485 561838159 949230139 511524595 268532741 411234847 176537093 609852473 78458289 325571809 236950141 767020061 740835141 967440375 446087219 887175345 526494505 54956903 535818403 549579059 353346855 498789087 983433001 466997507 62118261 383589047 603161107 380968623 182799795 229940975 471904145 446930153 697223651 160855597 552038587 129173901 633107827 863513795 592930963 639409821 667865145 295478181 35090179 725086533 628885363 198990707 350660571 839503577 282932933 52981109 130033621 42993105 778483515 118691483 215678355 507481813 72871501 476839547 352536221 17017261 636272343 809124949 747029091 315507277 619186207 586223631 375632193 288251345 718792911 796479289 14484855 243123067 171871745 853697547 442449967 204684729 986642479 90583651 748376185 445479193 78781503 346780361 830265423 293933403 676562047 677447531 937835923 152077409 904226211 524233507 765722891 772330293 986832331 912021101 31068525 372869901 67312503 449683059 582168143 280021569 925575835 640330241 393104179 776707413 666427271 271849107 67043969 764128757 351390201 18369349 913440909 960401909 768183833 220258269 156056207 965082191 352342385 155855309 164386217 943716903 878636025 699714859 541770721 330894793 805967115 225275319 629288749 621044645 899527793 340066265 346787427 548670809 24589139 940160925 250139715 164751529 304923467 269101501 232981627 936685181 603461457 931905177 887275161 79400941 705604815 837258037 232526103 890228015 35263633 664131651 128678485 920096425 609233355 386099479 873492381 737790949 711557915 661667509 329050147 293164697 711833479 562849985 35137021 823326621 956789115 111881867 202552107 907512823 132003789 768160779 310879387 258523601 802440889 846875871 605021979 989553533 615238885 710248783 214660707 147539575 468396129 182150985 636757527 513172581 915798941 661084007 342203073 976407053 870838395 544926693 638401743 262933095 729071933 112029613 582736797 302529933 530093457 363834187 50122857 604993985 609936781 774775291 517703009 507549805 259238063 750004375 706619539 251172137 188045531 107872427 386773751 904768683 117804893 140903267 721027441 884063707 865135597 809480855 147210187 573655233 330396583 610426311 999687603 416696721 933150737 320181017 583010755 252672421 437980693 313779807 953043583 294237827 674671885 882439181 866352973 531286229 803443635 386120259 139652993 451907951 897817901 134652873 772689233 674518601 696111625 885222159 255288033 866848651 128116541 930969387 670940475 88582781 549259555 510573787 85380941 488038035 305746051 381992843 327116529 615471721 216062857 749960261 406422507 112334529 822021323 121771201 235754209 188344199 902716999 132944481 673953381 316109007 48334943 459117355 150851059 189573075 19032291 975070413 278786281 730371063 100512265 192008609 259200401 986060741 229338989 315062179 194572317 243067377 142421267 401455997 700944293 327123543 820493419 440006525 779737387 466785017 673197383 417016473 912501403 634571525 430586087 125920625 644267457 969059273 462900463 12678991 559951193 567786439 78822509 125498143 880612869 372435355 606839509 183191161 295784781 574624535 956082437 175927965 228229283 713916969 119361091 756615025 195707487 282502639 136197947 968200327 952691909 217027501 790746883 4271635 17674491 843296203 439034391 504788469 191245843 247294175 527595357 526725813 805445127 116884643 51445541 972220547 204066489 503726843 24200735 772253749 781779697 422782707 713482349 949545033 433372513 4093885 55832209 587836393 825142689 846234547 63876217 527546339 280684339 601666905 753569915 65730479 488675457 603150941 922400853 337457771 568171995 412069007 442399787 473749983 266791547 810004717 160022411 708190073 889971587 327388311 256380521 738941777 131773179 574368217 850088993 29501225 661871315 72744745 900464253 910388067 225591273 648190497 588041383 216187923 574451961 533593217 745670707 721006061 849831855 179022137 251316771 657473875 199955867 488913241 994197975 182320969 461207351 520762143 421677599 810897537 803532003 998325483 614551087 171527249 13480427 926570571 826341031 639867321 121532287 578285297 404219527 704692833 552998327 562751417 885110339 868643221 754003093 18616741 917724843 291362127 440380161 828393695 97161213 606037293 550558671 652373951 708484321 380199799 42826935 137813949 711059297 538239005 694907227 180153979 154119669 969118645 491642433 415161031 781676153 927508605 5796319 965163923 66622769 648968543 852354443 704372987 19654093 363384041 286528647 226415425 57170527 868919379 675587835 551786961 4928615 352864891 680655611 586658367 491588041 817906407 45882751 760762179 358329299 224663243 188162921 943808965 404803641 208052729 298804863 799577549 418316313 175788019 196625527 203824527 130192633 67888865 307520485 556592743 364912069 373618833 894561103 39950297 800032723 993077625 457618461 31220365 680435167 645262265 777297823 917691737 923084561 551511579 24569869 604721719 610698227 650509067 300254605 235888457 867146109 596890017 280828195 123535327 381596681 327144093 831822787 451454311 233210463 534443365 958357319 578617983 927253677 294932233 870369135 369546731 921075077 397465921 32613603 847954323 749080807 468662635 861318199 954586509 226745143 758123919 95269091 55518483 881840193 704803677 390814279 516053385 412978749 890121003 665541293 284978553 3045575 184743671 558689351 600027033 217370085 282003307 519396911 644982209 77341953 444410069 164943205 289231863 446207989 517658669 344318417 893393763 465171451 308263441 563139911 303694683 924811963 527275975 594930813 304897115 862376767 876342339 771512343 946972931 401110781 313922839 648956831 439451423 199232723 118828933 652115075 216336037 308990983 615149429 510050077 230904493 214132551 512823411 133543857 661465213 230076325 149522107 160523621 557594239 132030879 498028583 634362701 856223557 807709725 425126723 817786719 205649035 950398825 665202235 694120831 660823095 809318971 308590567 393677429 420306769 457095855 955058885 657213171 612807435 237317449 548921345 351675539 360540101 507200505 848106597 142319315 885386239 371853585 63609707 415527967 44648293 338880081 683282481 813949641 396262857 368400349 528094335 320020487 645610537 852469059 164200389 152682237 388536229 88826999 538203159 995937715 79699595 720738521 601290553 68106267 692904269 676054057 51826575 348044559 34586503 669193113 61535017 86670157 799055611 300536509 145876669 638191745 757361813 691598483 516512941 336800827 147321703 613313661 188016127 755895543 815868847 441046859 112794465 559148819 347247567 215842355 40107563 703043545 411434833 517461969 957896029 819930745 605849065 119418153 5664415 941190929 909173875 898226857 429582143 36143517 457828849 580603689 102453555 845169929 260701839 480756961 644509723 240131621 627389601 623231611 182385729 586465963 301224353 758643715 144677777 745621565 180194097 737068013 223421603 780110691 360153121 95847447 152904629 468066447 962042207 146818759 897764275 473729817 430897417 883549095 589588263 92335171 228517217 360061137 868833611 394981431 175067093 341851071 681678077 405628677 589588467 228651609 21245893 972056487 949494397 264225257 323160785 372403967 361793103 381935141 961278459 570497749 664893307 70307371 262174913 239949529 195210799 526979969 41131847 593563559 167132617 482474773 763873633 385722303 837121485 701883449 944632197 344647307 920702691 591947179 536714705 441937755 685314017 158480019 196841739 451734633 563960515 637296509 980826021 147499479 689199017 326260571 977419447 248065709 988852703 828527759 565625085 304680411 909494491 212372445 835533791 217157949 740997429 9583983 582824047 682281107 151456179 975707103 454198881 324848263 410900541 271629607 268429591 108533673 104163563 735596461 82573461 727336819 760621811 994177855 792391821 315118405 348731835 175381009 619638613 760119147 101599695 717752257 236391661 374720019 681785825 985956949 718283771 563346521 781728203 285447481 840811727 70557501 189719443 878622275 409961569 22205097 287819875 751006895 358195023 758016621 109660557 175290405 940402913 160945985 510899087 12664751 684895237 657916875 284804361 797544133 745931861 90034575 559604681 361846339 107428623 424727043 387727809 281771885 787190807 786994555 359198219 60504305 657931009 527346237 344196077 813928423 34248195 827252593 542497745 312504519 740498681 719930919 455011403 610437755 789680239 580005975 738565909 477028687 821064849 981603815 876486161 327243767 628721721 759122843 259354189 7249553 261250019 504136743 674441979 714185123 357230263 872098085 15634039 407575321 667072903 386615829 529645379 615452487 572514247 978069855 943476491 114484207 583099543 543878487 332795299 991922481 726974401 845327155 883540997 73951901 318471343 838781977 618854739 190530599 79002493 520411149 815383005 339596079 526281705 475311875 257287185 827953527 737485913 166031829 947962253 245156909 34955485 963314497 514570771 615655143 372917805 914793205 926174351 536927907 546539175 541231229 340604437 161127621 901579091 13813847 288824031 668168217 525474017 385343713 427770705 3793367 71279781 448314725 425812213 389475483 235309987 557648661 302209409 348189545 897162111 64427531 719838669 289743025 789903751 784299077 962928349 528729927 352746423 205100719 879920351 473782119 925274027 569977371 685918243 762407351 478617513 609996351 102938149 384946245 977480099 381822655 521299081 882605445 819513905 684871205 620395545 951038293 152987023 463742687 213019083 268183547 289840293 652101191 907400119 69637411 462053381 140725663 803673123 307826915 116268771 560075025 340711031 847347895 808657951 846681263 947773513 175760007 142992705 135559023 37767253 180078493 753344377 89840693 345432443 790622641 340569245 928314569 543035335 586285535 655508013 134527197 850709359 241850283 171803215 699468041 177057229 823936003 460219603 68581329 490613345 101341759 101474353 637058203 924532187 23254809 681228935 769606329 868560651 236493239 100768925 182091365 651825135 730444965 913996513 745902529 433536679 66575579 249985133 458594773 693803649 262707381 374580733 334593427 544017135 280799481 996025083 393848019 542269067 672107475 355375221 312378199 776884251 208668121 547294753 546033097 241717641 72679175 510501729 742725307 265436905 530648003 875695673 542601123 206621555 222148059 35697245 685026275 934059151 794255749 834906655 327703495 779417285 548605019 200246145 99005823 380156617 314601061 810061609 766147107 263592053 509075729 124964713 884456629 800958415 313997361 192001333 204136223 910724097 908920069 392443693 38007089 953790047 794976559 641088665 279963557 859553123 364593089 69894249 255616797 278942127 598868013 333110835 503572769 743581971 152200529 885684023 248169249 10172285 822465649 860922715 300420473 292236299 454085693 6115887 280851049 531507199 386606023 698693611 111399195 272419781 837940625 466310765 726993567 706853361 429624955 423406653 301839599 661861949 396768981 538715529 355287021 492297867 387918163 61402411 652460639 962142699 464646675 585741215 831631611 403077515 869852571 501556751 662165335 993257929 39246807 991238471 967403253 293602599 81586973 723711171 623921215 143536979 116172587 350128029 297827205 720902173 859834403 26192289 509578239 11848833 720502167 871168059 190850259 128182179 67112311 476494211 989388805 508762061 819851557 64609593 157570443 141726069 999585379 876176325 218393147 157074483 586096225 830978867 318117591 704984523 729627825 595181117 41147143 449620267 600473683 716875585 814011487 493528419 899767979 734092617 389085015 810725551 928712839 329271039 678574159 438564211 610856731 76219327 603148435 12307771 118828805 775199879 414339409 645142969 691462987 967447805 693619877 181811655 424268377 328861297 260055181 821436011 570810627 796633307 807624695 990529485 147151243 667591641 861050801 789280835 262180497 704104883 793960819 177037641 307001381 447921239 492496099 512057471 328927933 226315359 727966341 542591667 626117171 354255367 719268557 595176151 522735311 491812409 541082389 497896709 827866687 605452161 462086301 411700611 902283925 537981211 662659981 223131067 940457809 480515041 255981561 608317759 142165589 902805855 224833751 42708173 812815603 566911169 263719691 711249733 376276701 91762655 844339807 746155189 338059057 133766713 771224193 599018831 794645875 695391221 670144011 207785071 255221395 3136741 830928769 585225623 710964709 661252989 830024265 766478707 651142693 452380637 323624375 420520149 379137657 246313165 720951809 127782843 556836207 821565117 981556043 643615301 179366395 407216323 133584543 315030465 418243709 895520669 49152235 834894243 466611125 80600245 445722121 711511169 854107607 158363929 56626109 814907685 243326323 927149185 976577197 753351029 47596167 257697355 848361835 496895365 438593915 46108799 952733043 574750355 992139289 796499659 549546019 544617985 778158233 856686473 949571013 949569113 382903959 952248501 484839051 846245455 341684247 951658233 156258701 786606527 653301383 279099041 101673423 585924269 658301375 274486953 925630775 176651329 690995961 100692907 996677527 311508945 723839451 340920051 820784553 244749271 355530611 814507885 88072719 372140279 590212405 320313009 210894929 88412923 179633663 811796479 590926817 456780249 988684055 410561853 272582935 953328297 5420329 254457853 657004599 628474543 65261897 555099763 322111591 980622937 978492409 713615487 880843961 72958519 869285913 253052073 929279271 962023941 896759289 181492513 151733651 979591079 962668623 709300413 63645893 710767143 1882933 988914171 904716143 782806715 650148149 964083717 246381353 524451259 38801975 73751977 47208821 887185325 717767827 12314719 417340093 127963705 360237575 580093765 911727953 498094391 501405879 77134881 895764587 789043101 939025455 685345383 558623021 916873873 256921703 430838313 423320991 277253727 567745723 579933995 155345331 801477497 65045745 928574927 120998977 820753273 162721843 136193065 40230923 962072613 551990811 608799469 465719995 210447973 647679907 852098173 212735457 40994641 31587889 400234461 71572983 232679199 300113555 958372287 81034077 477852215 181569023 502321529 557140319 152245279 992581903 103798283 286364461 360112783 13979851 186706203 755925215 900232801 508108703 709102075 371761271 869726871 898981985 142288543 975935197 844766045 643671375 492847783 81070823 917970181 318562061 7717979 75801671 506389261 681624999 370287531 313905317 318436117 26829205 386284845 39038599 633321963 761406129 475641119 496385117 696242817 822212933 303060075 390280579 444869363 890142457 498823071 962876217 753634691 435286503 253743091 460465065 695336861 461925257 966587971 532461793 767693525 39139269 204322331 733869023 629714917 599592937 388513449 943406979 175322545 405429673 255253441 757109139 805646403 299011107 970445029 848576453 938336719 387237085 561044541 107774637 989397425 312234179 556387221 257646289 614350699 524309803 655781737 496636313 979488681 804297425 428811731 904011349 844022591 371725019 441621407 139051325 138805287 564606937 459124537 617512567 103255173 728384699 676934585 622448903 268921763 981520355 414768607 221823971 161552629 240720915 287593233 186834143 616147225 958750073 511551071 328072129 512112333 685451437 327622017 684358959 229062143 711397799 565780437 985844669 107283139 558090961 815063907 216237795 745725523 382441975 60748251 74767361 514339347 146840397 507279251 344280929 54144143 69262449 360398473 701192503 540778615 265430375 90149223 729479831 376625579 985539999 277503099 43873927 344326185 228045037 413898941 27752685 337323809 340315277 677178571 266347933 967863267 404894245 566685675 149230925 729292523 903916739 224532753 924481699 786203357 67903965 417780175 859514147 749462917 945507405 997678951 149145665 308741331 367311195 32509377 920189015 485025767 986878899 733244009 745386403 999981057 358628459 951414171 615372113 659219339 666140161 964863793 873670259 964417819 36481369 578247607 845085439 93939821 655134911 686576471 892991193 128356705 843429611 859061487 529981643 626041093 512745977 496095479 164855171 66053259 282787949 191495325 774038683 479486029 773057591 220072619 333782421 697830097 734430633 57164955 39222493 429188545 856536195 193405835 859239103 800923887 256589545 74905411 913066615 903313753 598506601 948741427 947638055 423560223 648598775 715593583 408081625 955835279 88525297 990794171 625294201 668793371 870907165 470934139 475133927 156164447 628216231 192952767 946093279 418314525 453149989 204976701 893877773 960834625 104930451 870382679 980481283 524441567 321351513 89108755 158228023 344509487 221256769 61068575 752139277 953479065 551532675 109614547 846206413 286311845 471228601 2731055 716849321 361697799 709753837 930258395 135914169 460250011 998444167 148152869 683568639 23599971 884839263 922126083 179545957 974360971 117789875 988259861 664651195 670623335 100039463 303201701 488954555 413605745 728487625 233361821 258760199 467236429 858290189 417708697 373406247 678661061 719306449 892496599 523728269 312027341 180373849 458668863 415754129 671321985 299496789 784094301 205356405 498467877 120838361 78911339 157912931 988160033 793817441 261926215 281183083 710834955 469017811 545222521 3487367 752717213 279655549 347355951 414079897 371358907 826641941 764965955 183075945 251873391 274295989 2954289 191239335 925639919 272298469 252590371 479452913 1787283 183666833 558089447 289931203 791066591 457083919 111945205 15530119 454330497 491308317 462633065 795757201 900303945 630380767 208501007 174977561 752507187 153282017 976240723 482691905 846531939 468448027 608632143 269053713 251360293 69664489 73013951 862774393 51245801 185098767 49643019 996661589 493916751 308337341 678484037 646920037 74891029 241944453 376102689 671456595 479878443 641955943 575076865 191507887 535095457 799366089 339518185 148893683 538095795 962342259 839589259 63618943 324980935 842203553 664309309 856068255 293193571 937364459 488724223 195026817 423009599 307754073 807942775 448060225 477577269 964716631 410110709 38339295 766390341 841897915 798967665 429483589 564219551 213140417 871016073 784439619 326043285 501904401 738703749 777445011 254454431 9121205 921410899 830104277 421332325 669521957 450442125 713581459 802740397 253272123 169488751 564334657 806678639 449304895 558358755 698769717 669112773 212154847 37192567 222087855 149698545 715663149 129113955 54249437 349619039 332897705 446293123 394237901 470718625 679010871 684657507 818460279 202057077 352633637 785261615 558964161 337692093 905191207 852654527 265661039 468010627 433233499 236136597 759642421 344543483 216236357 883743699 721506733 136783231 791302101 530660429 591703383 183359639 572684383 421845879 906719387 278240745 995341983 734642801 329185741 895693641 447739581 637819139 898395685 110224309 459066435 2946205 710710979 346164815 283129127 458240853 197396913 999753569 761384647 139385067 541670113 638301535 314546411 852531653 309813549 19706341 365991611 636698611 29477203 404343477 946819023 948829229 758203649 31937725 171015461 194457297 937801155 887431437 54944799 403993831 371676183 224572897 853108111 29437215 677938779 481367963 897602727 252169933 433993689 904492491 44978691 357148917 724852163 413704735 966293165 826693433 233253939 795795317 295692559 427457773 686915879 166811857 923668477 133948423 855309197 311043675 915463607 433617443 333431345 254983785 877118689 278213517 674455249 629448821 328199561 150096433 35834123 633086499 677768229 571636903 794501481 702888511 642776207 921905457 706380381 377126841 53769487 826487985 220003135 288136367 22865 658960825 269897043 813719909 444905835 390634883 275690687 73206085 279514841 524468969 334867349 852427233 384428419 376968565 991149263 106418677 364654771 606878295 479024975 583462501 920688673 628223333 563855581 424377149 518774503 471716895 809352491 747656367 43757199 87133355 670964947 843435541 78889985 181110489 156006483 647109365 295928981 78812449 312689431 711967223 885160713 910507937 962867311 840089587 972735105 133120289 833255575 214456031 863568779 847162895 393553323 585030371 325682459 507638149 66154169 905985349 982274959 243125823 329447089 92575613 512528301 34580903 92478315 349559333 808671137 726748875 308792491 548939263 311659519 105117025 879286039 956059893 548399817 700268747 660056385 375692063 464225887 199640845 781202083 460856757 543850129 316096473 154700447 136696857 156439445 439705991 146319741 215552729 209804549 384274451 69104493 530728615 340346601 931677221 831522699 402818399 600116909 309614607 809955543 621766915 319006761 24447173 854462779 967535295 165767317 364014311 655782535 98859493 840904091 461270461 14076279 691187443 143433799 809091127 447675047 786834571 954795019 86431211 953372069 151506039 636607945 917674009 705663457 630377643 375399621 233877671 878438835 935643715 447217067 795256613 750739805 720087681 318565775 513654219 88253959 791829457 344091377 708824183 188141765 401033927 226702005 820765615 474477967 258962717 460475177 722432423 434658375 496183991 133999875 874363697 870431669 626029215 689451613 892768465 363818633 208530953 710527935 616234923 52250719 884313939 834333461 789509773 931941559 539357947 245086901 683088115 463685115 434802863 648886363 492169719 968249979 727103043 728537647 969196901 284656497 76056241 2905019 694102185 496720893 641017117 243264759 791257051 661631019 153674707 225430335 611688123 884341225 540335939 925041239 427641265 279729171 966374667 112763245 607423689 648621417 869824239 76871193 589451453 776181139 283568087 125655381 580771307 372142117 709746393 679637127 72781149 452209047 171355185 137190011 999342013 251124297 397127743 318783595 749447783 688666503 485817999 386513647 616119897 616456831 119242967 731461901 729867577 866304845 719267311 120436021 731471959 469678577 23309021 119897147 567546283 415566163 433926603 274672731 433393363 54787143 179377419 919895613 343109143 958380165 514874905 562805739 46520165 111243693 680617627 399562715 812779861 120087113 9778007 97366509 76979753 767019211 785945413 898541155 39241411 842296461 155118719 118285547 833820599 652548815 646848325 4511645 962161211 71627705 800547079 744355825 997604651 61534047 515748183 642072017 325075475 561401527 162448109 566789257 14054431 656695463 124833969 498504653 547933479 897449203 301931177 502030521 102744747 691557199 508744461 438848215 616970449 792745045 332065079 979680529 880824171 89710211 622807721 740598459 942186221 879521605 672473103 967397525 282951543 624121325 532249149 607997893 515307985 34534579 49713451 58907861 828647019 651526583 220338433 309269691 503521371 701471235 856444167 108918741 604580959 924648585 330494641 178960617 522357217 266906913 459158171 275652131 578297327 836972943 478479751 813685273 570262593 534163577 148126561 331368137 560217141 370651763 175201853 845916309 279196115 401451251 960835413 309466959 689502921 564085597 939906059 824533801 779563377 82994681 180120815 308837311 377491911 492055289 622298799 497824027 190558325 904561525 155265321 844264101 113259975 680045681 357615199 971639351 757603001 685144019 697727869 306253577 43048421 350560109 78546391 759124165 992977559 724159995 779872743 389757047 287036859 366178841 291572305 234769811 818119401 126639957 679915745 641722617 45899617 927272223 837646727 139189225 677718793 977171921 395194721 478712597 30362483 540195753 322453939 930022801 834085075 552450515 535921893 155015641 876332809 366330207 592746381 920952533 768847005 455878215 397120869 452481743 657591231 733254253 520628817 677285501 163796291 611893401 377842013 621061631 73377709 597487485 967954873 767977431 277007905 125215409 500122565 253562357 165550447 61903799 912178175 96410795 182497039 890228985 929013783 751368121 498138143 198532807 70116317 223460161 345758309 890308189 364520525 963096789 22203733 241572567 274580621 252496487 569817345 356188739 579451619 652941141 737471275 920201361 796261319 503432035 554645563 176854681 651677393 754579393 698459199 910070045 833920455 859656195 68953581 203603911 965609875 260210981 349691303 465987111 452647751 624212109 75742833 466307767 181939489 728066313 611199229 639806425 645473665 195080141 203858593 507661523 37972469 479641465 852881501 344511195 160845871 934638351 46391255 377561607 382810889 25027837 970361441 756571225 165378441 542278681 7781359 880258235 723148249 924393121 506678305 912288765 869760589 402539831 65108799 625106393 198727773 216580077 43802937 16972783 272474545 150570803 751105699 467002059 952401169 420147435 853852097 903367899 391806833 374390103 102538103 938540923 471821549 792490023 233175637 735360491 494164935 78706541 759753619 590135381 378077035 135898281 736910861 536218825 813051243 918370239 670241103 914018367 252825221 959711229 510345349 812822429 96762267 44014871 300403081 789458087 682410679 322336301 204930007 601913619 613845005 434517695 347293081 143724407 814052089 999072703 308632731 612793427 58045181 199987329 529156953 55155477 194641095 173518787 834265581 105455371 855786277 437332135 719253795 426680943 302956567 303287229 343795047 195767649 443019711 607850491 988156369 829177067 775681895 362409915 299232033 649163777 981883013 780198343 608124093 81076343 515983281 527783495 308933045 810686995 546524079 930922451 881572801 59052925 254233709 963392105 647111743 170378051 618542587 338814573 697140535 435212003 175305621 283390379 271604313 693332411 744199327 452407387 352673787 99475991 364011427 189889561 164791835 559796261 543657815 855027435 299824995 949657855 865460115 670359613 42853921 25874857 781929053 582858211 319996237 468377097 502310109 624754975 888593283 616943603 725809769 345113489 826721807 679817759 148395899 142120009 797984223 461626157 303327417 511558843 731922055 527319207 919508457 996408263 93466441 561802751 437063427 204175023 614184973 198872463 106098463 404415009 859036255 906465685 688816003 124290867 293883003 179952445 429537433 283819619 47564859 727804825 953624819 403777683 366499881 731590305 447593037 3022869 433774709 682585141 47508621 963478425 153575413 32621343 220436153 708020033 958306089 479244817 131795465 261834641 518976311 846693539 120075479 103515763 220798193 86601817 245299621 342363713 975338443 333798809 558899741 267589301 989765861 88899253 36431383 140039157 219163143 492110569 920363657 845122447 210387103 947038035 11332251 306277751 344681671 614906365 589776533 66042635 931951677 452329177 736035051 842198545 844307815 299222719 848823095 931818933 408716371 336935025 514836801 251748749 315478973 161175449 95834605 287748757 916070913 329993673 905092693 9406517 448474151 917222263 311744689 69895479 52445 59887367 669648227 119094993 221921659 902484417 967751161 80576419 645223681 448374999 488490535 487602351 887497495 758408289 227102915 403517541 746864393 47727201 175441111 968707991 713941715 595516353 335772297 134923397 925387279 208129361 361196079 259576787 402393351 413855437 269214529 104399757 717340075 572030929 730735463 39203883 180560529 706415851 352230761 568726921 262245369 490483339 316365885 380728813 238216393 900898313 26702843 660875011 926342035 128041639 51022567 287793887 514550153 271104655 44912237 311799043 653218193 770282449 576275489 171632463 295357229 86570345 938736829 809469715 541764493 399648819 859829541 801500163 675085451 761607677 412101477 550884159 642044323 301059191 675977645 390253641 87774975 306847289 95136091 331031055 758183533 311987141 192260083 576998887 192455781 325040261 186562077 859048591 203687171 969504201 298811055 762518313 412742419 573685195 136563107 762269767 747515137 962009771 902557471 383429339 228871655 1492341 865297001 35979075 323297409 919458071 600354553 5024835 811132983 90567533 433433959 54433291 978367515 705083447 386852985 195674925 803376609 614060063 692665879 437681065 427124969 492831157 179607639 370026467 705194301 352834163 419494005 722616745 39655049 282238905 947115473 448513327 703283493 817643475 993636089 119514645 785348367 365709041 980933279 339657307 647087347 695099433 54018205 772796787 423728411 341789825 150015225 497249585 387997313 358611937 749951709 132992723 275097027 568457753 880265627 678860283 589050921 868781539 165416369 87602619 758652065 385446367 158726591 470189955 158484677 945477529 682204563 99321909 821929937 606736511 405162783 357035283 29884847 4343533 166947709 905597133 902356461 521875235 187412467 448103029 971978433 629035081 651025643 269330571 175631885 846986099 539264761 529790451 234272855 67050649 350990805 379005177 979468749 668855195 912346471 223541333 212030279 343042883 460862647 441923619 693727557 922722373 117625593 517181161 589097199 389802549 638888585 819137171 791624977 997045401 732456937 300671863 480725287 327396823 291401925 104702289 187291211 925950019 679477489 745648711 353704007 722695445 875322727 235392999 437695627 552101741 805752137 741314599 39494957 397295957 325481189 439135841 233628653 861277375 238468783 655082589 783732529 672083077 380318271 913549127 639230217 807756647 39370585 942965943 219990573 257582349 511115497 292713893 378298107 310630667 465144835 637985147 700996731 113747415 656449761 610325763 174273883 203202005 743158759 263917429 704713461 422950989 791499423 675762541 194218567 473023089 113502397 813330417 958462709 584615515 912949535 891791211 219485779 70940683 963613891 209808565 18714199 703978601 289253335 948968457 986632349 498389063 117983919 416083981 709242225 782028129 884484807 744258255 445678271 361808725 337285567 506088131 27854111 787415725 490102883 963707847 567275729 429682139 41224617 609576993 409775805 148233783 767210409 244664701 86160751 676113157 621880487 892815857 90452513 272605803 867421201 902121211 741919155 412811899 75635063 751747709 899404713 622686769 189518741 563698121 186645301 225733225 425013585 117259919 807205421 661812979 446839473 130245105 141262865 966199161 557530093 186665841 702525703 44517019 260550749 881674239 78003423 882066133 703165831 953995501 408539665 30497171 844858901 612309755 543156411 545283621 677129433 798448461 728947109 356689607 993292241 673310833 830865213 652367253 687597341 318245211 26786973 995285917 965233163 425459305 947351681 328443343 459208717 122710111 594491987 98823171 934086077 877254509 21322529 93429757 790111713 413096487 283980961 35293795 239529571 279729289 801691701 427408839 590696277 486751995 790269921 522716067 698186741 863531335 793023831 85256025 956327331 220894627 739485935 494090545 815021805 265327023 381860517 317314395 998275717 229704557 144708897 835625203 761170503 678627403 615450293 708649211 667949621 230708255 471254101 597253975 406378363 273431591 21308065 716232159 400701805 43025415 850369249 706514247 847863941 293701323 860115461 776608305 213568357 795280875 732047779 258138153 188073435 241143875 18042619 927477407 687324635 725700887 607011827 659933163 323718267 52986135 815636507 935710287 948344069 208548183 858907049 165573877 676305887 772595283 196665983 346086125 714881951 674725617 406888739 784081457 36971519 338331007 805152197 324005025 149706465 849820337 899618617 309971209 293676885 685747879 929481219 248194583 472769161 790285793 508240197 133345127 401603291 257075795 388899283 739532409 116239053 90706509 702776099 892008375 14104589 721107341 815504977 131443057 320127595 810709051 89641257 139856609 691843299 962156001 115352343 932073255 460660889 516976247 52328499 399124559 907405271 868841303 734199357 242765383 732115729 638227531 342601115 245847531 7388133 252850299 265905759 728222203 843939345 973415297 207242557 907056159 438399109 431444053 638799509 60355563 840488017 73068641 766544239 902988247 489686449 877048433 235835515 278807107 946563849 664533945 97026831 834487419 253842405 524050135 35546667 191091117 674388981 265986257 319372661 380329461 808792089 497113619 658405949 550583123 399820623 237587315 258894459 314734255 470474695 670032685 731312077 618023133 974296529 881081831 233464441 112187285 440893163 393416625 111916659 28526199 222350517 522009339 864953933 395343885 106216957 996044199 27005003 379624139 606764467 854972919 916562255 895919621 759379959 196340633 449390061 932112129 890108169 298122403 287068505 207553509 602419285 18885779 230585973 777733829 361281901 221202765 793483463 802251929 194636047 230315549 839853949 206790721 380147227 429686971 144620655 765719943 91244703 945340483 823734045 591246877 560052429 746130491 419501997 643271325 43800063 218947981 31237105 613354885 697713083 736516499 247908957 829999171 415452331 751854855 90062609 807686179 286998947 110305039 3094741 692577635 64827549 515702329 316709401 854952481 375387067 426751867 897569779 305605991 605880907 27231023 646148385 115795495 201617343 734738973 554960141 595213883 158589619 98830449 215278789 264160097 967144937 849210561 575287809 476014661 761518413 36596489 485323295 350534521 834363123 438863793 502753575 348997235 544823317 166280323 286986439 724757143 917269015 611350455 792586585 103589933 101961603 806581481 172551385 201662311 329194253 536402461 539217905 503630175 25231505 285394627 131438317 323505939 509765651 41409197 963906249 511776879 178089659 781587227 390275103 517646659 925843935 250429361 125825083 644219979 201714169 959169917 467945993 810265637 723206061 314757107 611605281 249410651 936678597 14643185 751951043 685492831 478296885 428654781 40905941 970299529 73084955 740042499 887397095 463637787 959089845 224799193 410593073 201764671 21557617 125525435 431734675 562483717 634667747 126542223 453748881 530694505 903593671 770160037 617332317 216300359 112810749 515661997 662177227 735960685 303507601 484939977 427968863 123213707 243077305 259566715 421000765 713910841 751344589 636321713 976827701 469058555 398528083 242381505 368307647 802949429 31778803 936658281 223367415 524741183 888361091 625874893 439606441 600463949 480641279 814972283 979263555 968764545 268368519 472604775 785362393 223245543 164023657 652326893 130567469 629725039 724065813 717562839 615208103 218789617 171779627 2836303 9975893 970913839 153936235 594914793 56798445 71176403 863481535 341347495 744815825 149875309 57464127 270244585 532132101 946632567 715281185 460609407 962093115 801748051 241901259 227753373 967380425 48840263 208955337 305995233 208553647 551661193 529343437 121882961 342945939 65175855 802687411 947941467 110730439 686958651 902839421 536135121 65835327 33893527 714076247 73653233 534046107 56901395 612646803 142536035 467099171 104047465 443456943 653401137 223323847 339635513 485000779 149846739 37740059 771928335 289556533 658264869 94636131 474901849 302734943 611058539 320227459 496610675 699441893 420146005 188050699 675349149 27677193 778998517 97021745 57228545 714357047 734539723 952884695 456962735 691446787 22457275 873698947 692619425 22020391 639974419 947679843 94207415 544355717 407847559 19680593 454005693 40010539 680611381 185616585 637010529 764145229 562472611 950124789 338023487 637751363 42055357 133853601 903334359 422528657 201036249 315742537 58909329 603626467 958577331 424553991 309965761 743335181 535233139 855931559 405319071 960926729 619470243 364061587 325286475 502981371 825421625 489651177 53176529 905648941 639763349 997965921 517767711 729158163 664231801 814049897 146140689 518050889 423319317 72465675 793621605 208221331 742516987 694073857 595541961 73082585 497178923 46896809 815078089 861120305 557608457 287448331 262520547 182402773 831164769 89895127 888982901 686022441 171708779 778896483 845562571 109143737 634686915 188720557 949997843 537462837 330826351 700868447 217063785 343879035 852982489 519346119 380877515 458603151 288658651 684192733 636226855 829920921 893008815 568702525 435696201 942758129 966751997 533647923 159806191 282240525 345616847 760791723 68214711 791333523 557535131 679736639 388445227 426554447 512622399 169325867 698052029 813017393 386912257 151520345 725514951 729936985 522053775 371103829 888219527 106683653 878439931 557387097 356375851 551744421 842504387 65308997 180835519 471985353 173676495 67980445 442884673 578082863 225479017 584892307 621023119 994184119 586366025 188885757 621100403 73954415 135821451 147620699 571647647 493573001 614638771 596587475 112354475 440273759 25711793 494486839 655645979 839612023 249049303 909646587 314481237 459259515 942587621 913690687 290560683 803646781 865230079 411302091 6166361 871160763 115687603 200598029 770761085 839843093 180784629 525268511 208767265 384061849 798914597 283413695 222496823 870122937 82830083 819573841 765559191 673061649 518709697 944470249 934673411 863225699 101936115 322134333 37712167 540046235 381911703 957691819 404671119 221839051 106362639 170295097 34612919 645209393 331971115 412909211 923909121 748073263 901263649 759746851 55673781 260825167 893663373 966689235 209944325 346179141 938334067 166775891 45876233 352634861 44623937 624660975 147266243 201068617 759964111 315119779 93242397 715088773 777063509 923305993 242106089 914588661 352364669 325397611 594605789 87640339 984622675 261151161 571660189 293805699 784694347 135435401 955404207 528216335 56080451 105738523 915975049 926450603 764442753 458904661 48254593 101841011 71198383 176660681 820292059 46749099 140888807 226596265 77886907 707945147 483870883 725501915 167645241 983793977 750316491 801031393 37145673 618069983 994705833 503141355 746525901 133750161 463088115 59291859 474826129 235073113 193932743 716014869 40230981 509702253 761218219 471203547 768204161 805214501 951260557 106888179 745922503 92196869 555216319 879665365 28079745 873514939 985263103 151975837 559777023 90290967 132013429 981602583 575783291 451224597 547439277 345152431 355075093 746223833 150961305 736981631 496004057 142823087 723352475 205252163 527956407 912253703 365122679 267186275 884315527 490949759 737350999 89020401 323141387 131305435 742058197 140580001 489963755 858100997 180602603 389010387 430738875 581286927 95494655 652630929 310766835 362577461 650135519 504850823 613451765 387000541 366021823 748377613 158253319 448191117 962103869 905967905 711301727 464224253 246462559 674854765 110513427 443958021 542336145 250483009 320130597 77539755 323202217 513826193 190578045 295622425 965465059 897146621 451484911 847103137 387832807 657455821 818135859 493500609 735328703 1862639 779015913 900554777 153662691 113578493 512758173 845794935 821448749 357569075 240281277 523550157 383385831 112730235 382616741 478592311 804154297 324260963 707184021 947517943 311410109 362403361 693982389 719848057 278724459 486926231 762758425 718856015 786592685 246305611 692388025 607420471 377494223 201398635 929649525 65775377 519325573 523733199 591155223 767597291 596540909 850018295 323493203 668189431 356686989 248065547 539316925 610625425 547899729 684104663 816221147 898819899 143259789 532144855 426157843 109979041 172851713 953204261 191091897 504625303 271738323 316025739 695381509 482778903 746433421 302321273 802963991 685607493 273942309 931603717 422015225 724786795 569688059 557083887 227036319 895589885 213809105 118462621 797061085 360101015 347182549 688260127 614779769 535030779 9699229 560835117 420622105 552485143 334329895 821279013 338277457 997270777 39646423 875752463 882023831 230679009 694894713 853212569 923294031 64433713 845350469 710086941 179879619 840691061 129471191 478021015 467915553 180657501 904354099 462247089 65266819 624268999 709729737 795128249 185216749 230985397 125997419 544776871 332166981 756561237 418175067 342181143 247483485 670268663 672000825 9130325 525890545 276542743 81178133 630305613 434879903 76627801 642254179 572389783 301158385 309261959 744908033 761854067 291870553 156705175 584276277 672266953 436268335 300123809 256890795 374299941 669975735 397760491 742611065 557016257 432870935 256809181 483111195 459611261 914840929 295663887 281473401 668710877 965628817 849826103 807667421 200866835 848921989 895220283 877690111 143629045 552713479 589338663 244240635 279043585 674861513 104574763 329790549 882245987 512581731 855728295 319234043 944845029 601044823 931436059 569129285 732943103 835831823 148614705 545124077 561207765 283397597 580097985 650492441 778875431 560702199 363691713 362467669 35223659 992480129 49289047 133058457 946396597 407191683 363576527 108785985 435399875 154610925 161142939 633485587 293258495 618453149 826222423 67850555 845642101 311641935 654944195 588970063 829221345 872006063 730133455 139165771 738945439 684176461 163587981 996984213 641256629 858368675 826045493 427671035 698357973 58914323 403022127 469911987 985296983 995003621 2070275 293456471 13997367 170739531 720633957 728367599 178742301 516101213 340845361 115975657 521869145 389189405 257348969 887365143 159646179 52731765 558242361 907972537 331295323 961797429 934092531 972436081 683948037 330392343 818532373 302615377 728724947 287423931 543607873 595084747 43161947 795093165 970512193 647140029 539858907 122604381 102279945 260830059 112444735 614252579 32022197 45295237 847645457 517265729 236138887 596836637 114910601 767142369 719624171 980887477 539461769 525671187 176921205 447839021 810573463 606298833 127493343 980342229 515297251 880933627 918191373 712158817 133920577 999107165 365230601 16756463 280651061 575642021 690424071 438728197 362412769 29059695 762456163 945189775 672844569 55109691 746128545 621515235 275319121 103984499 727050601 371646143 802610859 575037031 39043729 952829509 119370477 793996369 863666451 822139911 934137221 706720849 925291027 707681269 479126667 854476915 222819291 776091505 700859327 795549349 84548833 341597757 627533191 891165123 70810301 46607241 553676277 762967693 632129333 64097511 104398269 621334189 992311601 889894231 195074367 129068465 518831047 150095421 368864131 512073751 942513457 313427047 222428473 774997567 408480725 630842121 810198455 523893615 360687417 489661633 594150909 214061787 918804757 70854805 905740209 353279645 183222849 365861105 29252131 820902069 828621763 962214569 579242313 266056203 350709699 517884927 148378821 263074163 90032793 755998611 981373661 378240165 773654459 597590389 359863681 558711105 579987663 500639259 66548037 610384339 749066401 342132063 577601133 685623497 299474467 878907273 875955163 401940861 206817135 805808199 64731683 712919347 140254411 284235691 623801465 303188497 802462113 660646709 519724479 939420715 652354435 943565511 505673595 344121977 291965231 894105523 111382235 322382811 373669253 146532779 267554743 968585755 663983763 781980621 961959311 941115115 106869387 486286237 257699977 33797349 290960073 649903627 376977013 225577609 253426383 363138155 271922635 546938175 230889289 414226809 514971819 401627225 654991113 232983643 10364889 973707283 87203341 899819935 45807047 882100363 236943479 962270265 719288715 978535627 354856337 160023689 558299107 684855749 94143695 887170383 975778361 115568979 331140813 103570111 675854235 984426803 606277197 246024041 38260161 600715281 1337147 855910219 477835273 547020927 556686251 257343181 9941115 305699827 182933717 518610361 640959685 904230353 187292193 980637255 667451201 815213665 960355351 574037523 466943979 189923285 66561389 322729249 326195051 220793671 910308859 48575199 412003859 371275701 189386693 465752869 161769687 136330507 999940087 452281133 289212505 539864859 808560101 939681949 94381023 263631003 990185481 832399491 452927575 764826671 831375111 835503187 4541785 725345631 96433833 578699499 923281445 443358109 360249573 595241873 402046625 101697857 792757459 24592113 186848349 169086093 747151799 881864223 955530641 583258283 42398207 447970717 929194525 384083629 556415035 810384971 825975941 700208265 972785703 799799929 858428153 928796195 631528359 185147101 611262035 44772419 418478535 267318161 979121937 171749785 402292151 454518045 170837081 34537409 265251285 962488687 331656443 11934781 538435237 149711577 293374061 51108723 632567761 185114907 947810257 797600693 72793387 735000153 90524397 463639101 560965039 128602143 576901937 470657069 236415105 137708645 186312369 805753739 23442925 702489223 447041839 67781197 961412197 840601675 757888787 81472841 761689987 956780251 536583787 718371137 346022669 564397521 117598701 426830815 452578797 323396135 452165113 523854515 557811509 389531459 613332889 283198519 9498403 423647731 572544889 930047181 417911831 621174125 295222001 945369533 170780063 130380363 560654081 393699383 64791405 120448917 836081999 645905495 473595995 908540343 468901163 241822749 259246959 98753927 614949517 796740723 989758163 626806083 101730069 236261929 62623451 79520143 930471175 737024249 700287743 30078583 504098899 177157763 509325543 529542259 459580819 480782675 82590555 117926237 751132421 459144153 910102351 420122495 298242959 294161259 894324957 28493441 635243969 793957711 233328717 636254333 915366097 94495661 407573765 675093229 124719009 539084949 149549721 645604279 63553975 466409217 38779335 380393001 878168641 905490897 423620465 54533623 199844121 500381905 378006945 598407231 57084859 895006639 913995403 421278343 215729745 682615559 809492875 528127419 825996455 184067417 279940643 90334513 768404791 792482317 381665535 569185189 661065761 403701879 476890867 892735549 742280745 754619599 907176953 706914697 40744897 476204853 881639989 990537337 131476991 626480309 791113969 680806767 929429411 590412349 220090787 475214125 642487829 656887721 332592355 125798881 998629473 793573047 780401525 136861219 630964289 212027925 623101767 415452651 30085907 858824785 917323367 784061859 579661023 969258211 742853655 930581783 448013141 654005553 340842421 206138491 917380809 616593791 184104397 871359341 852150079 327556097 331374869 558136817 133444443 29222865 685424485 75608439 375284077 986823661 102256321 654027219 424160875 331393091 711397463 949791297 94542071 525299359 573866871 131353703 742896215 143207871 799645341 172458323 618712953 669637697 423593069 869499003 265508855 759862191 328464051 875995321 338204941 656307579 127673697 534067029 58045603 50362367 691982225 413183739 331247179 552020347 624147081 41742017 541488185 867911959 169428657 19760421 267983439 437989861 57061025 790124811 431103761 525448673 556762127 502705343 66296497 335715561 253840097 940086009 602007557 203829703 716282915 230716371 639773069 772180269 945504007 961250775 848403055 523801267 238307817 716081903 804959101 313859037 792584521 167108463 813913129 757260049 916511447 911303959 276826009 90060451 162282597 228316171 793232783 712772041 230479083 992937945 248275323 89013159 537718673 82516085 665679223 380992069 321239199 124241213 622420287 659409813 447578249 615386103 283592509 298746991 889893097 19072975 547465599 55935383 887383941 340025435 470721213 881881267 63143751 220753559 119490389 574547285 296665411 400842219 817091661 580537335 231249331 43967777 271195225 887261947 118372601 940137841 123883723 369953705 29971107 928964981 887536805 248208179 902725731 376487989 937870735 705838513 919495957 544416287 710169301 410898215 577105851 947127813 493589617 323072121 113687171 759433767 218346499 898887295 845768123 39876905 378931151 444511981 337631971 407146777 169595335 101697895 709757853 668936811 427323521 167981173 884541619 782245629 155984445 679584391 974057243 800316691 402596321 557811961 792873197 965719133 626976765 44951309 664290925 881756399 925120457 50244841 851486983 137342021 878407715 487466655 30760527 149460549 559374995 431819561 763540735 935112765 879455817 752509287 808189947 599207907 12867355 371847461 731956045 137564241 659894407 230277139 960609579 556013327 437973175 966046409 739217133 721235209 688598393 125003721 763530265 355641749 106309443 460447357 561754967 288701809 349784631 554276405 244965245 34576321 395642139 750346539 209542277 531717905 718114397 891902337 685582483 431697497 271927061 84621885 276481779 537731061 77085189 451045973 384552727 378354857 454406287 71869343 676192665 556121253 96344007 907211741 163304765 717851259 193299809 917883319 425283569 914050091 615104189 635587009 232505797 245873691 885053413 703851891 52734455 341191187 688213635 49544239 64773095 367468111 870772979 22530107 251935779 854509159 671575859 388077517 792642907 363797091 681082857 422910971 940042095 584450991 959706471 141751751 995461215 448467489 25724063 485351705 583435093 105206517 404649015 6018501 591779753 260169683 170182001 479005827 87395281 130995141 566865725 166399475 700571253 194699331 669821749 621814177 470991709 340218407 179802261 622747899 253938811 754910905 170097991 793900637 59991791 373204647 664192729 690600967 398663161 196568323 962257793 152230177 810253829 748196941 980763937 826137791 547053991 593878377 110319167 249990361 513016471 938368165 478959881 908505423 783949501 29575349 14712919 918408941 267714849 331651511 760097961 462902881 909970167 55318063 104853799 602185031 39127707 743960589 561854621 483968285 575162511 923648421 128900741 517712977 409636479 399507123 344027647 271093039 11746365 573003101 445536463 645850869 167245511 455306547 317714023 432989889 614356799 811025957 473602269 462882463 950022127 238413203 498083825 422811773 704775499 141965123 743582217 920444213 450263791 596562531 120974133 116986763 495095967 372753029 97524269 15781669 763927363 847787177 168289615 330523031 596242417 278747185 311799203 806894935 4437731 622654447 848902615 860627657 775838845 813543189 70111557 409220407 848101961 936186943 888844009 485862863 864542715 254417015 97758317 202859179 482721391 201329703 373460255 458456527 975232169 840110627 830766325 210353185 313316561 439334571 616977297 832637557 546422077 365707875 562922297 130441857 495529831 957846361 898199515 790573545 874741491 591151617 760299535 922059573 778037421 697834555 529097237 480850647 974447493 584361033 776207061 723843625 902630299 122140121 255566555 663627881 840647981 85345537 500396897 800330179 124636075 669924669 957558599 315542089 28987045 387426421 693623825 896067825 308436695 597339123 827194609 245361823 10179365 169650543 424252349 414328091 863042459 744556547 430666739 576992791 742717035 54017849 541774271 477168171 157834991 8197113 805778155 726591961 673863341 233890715 754562031 884622987 899996751 153567965 306433773 294452115 228768423 525091043 754428075 424433447 479854001 133835835 570993561 823775595 79698323 610644953 54731467 43969895 404137877 318584347 314636549 621940749 544773417 858331079 807745451 926228789 146276079 468910857 285608907 600630433 468810663 205719669 606677281 427241723 287036733 109786637 306662663 249622227 996805059 223736369 815564681 59254691 750979703 731020465 844874323 418662605 648646329 335455171 538768829 982598297 731513623 863439105 281547207 453914937 497946691 821262451 934194457 379513797 245581337 214240133 697175551 310414655 536976027 468016143 357996403 960735121 44564725 643908425 560432661 93630603 474321019 670549213 8401193 268890855 622712229 528740823 159911329 545773895 659876123 958507945 134637843 180693297 625975461 955031349 587032765 99010075 856762423 668621247 532482697 701708379 276379373 189008883 363149319 66330163 312886281 535321317 191805801 104622285 184989689 826403093 286584979 591349049 734778699 59279207 600365067 487610225 362646975 557673001 950066177 262537045 667992375 18298897 394153801 418109361 840694973 356277561 342142567 437043509 835483015 96036393 483209853 701212025 124837869 784663245 935735903 211869695 740843635 711040379 944475521 875603759 120650437 150920175 585263877 275569501 404843703 241501265 688688305 495576001 826178371 755527211 350703091 900935035 722898317 865010549 470938851 39146647 32137697 613449611 199487297 437137155 564091055 749212209 930063731 110603163 906047381 133256341 535548299 180064031 538679895 335417935 945800253 217156409 134083039 694078553 783906281 187548537 156694847 339601433 783923607 990751831 996191411 81782363 160873463 591277113 53272223 439676505 510914655 521578083 961238671 292785835 442537935 171253771 392311347 681764951 68812781 141975365 805592683 468948429 11871241 520440855 726083637 101916129 895491609 859627881 486073793 713322191 510858687 122246153 930974047 136829759 22208321 870358965 203065995 393186619 385609871 707641867 417418987 241365305 621917245 531407767 265549637 658180889 761262733 933174471 234571409 678379293 489731175 590031607 572548841 331613427 900426841 596020581 737724047 652878003 622178713 351162431 335155949 607526869 393305353 140799377 186849691 812915779 470382637 2851929 145849167 768487241 356991543 600756085 540600049 445882011 583876863 494910639 699578505 305811797 713214977 281273787 383504971 650267393 226913637 776397613 261636497 308278409 702952699 100793739 50994145 713023809 536897339 366137403 985480677 834543081 940740165 642804369 836643441 562192295 598575837 686232259 980591999 225150213 775994741 133816053 693955889 705133305 457456417 471396399 406492885 802663905 469043877 265951075 525300189 99030659 521929061 932001387 276988645 369284875 216756337 514470149 379587759 379602959 354701185 655635935 427261735 781424525 341423603 479887749 894795873 709150183 564236239 132588403 12796823 262235887 854646467 265623307 520813101 714171093 125525287 63011991 170509997 770386235 962045693 212083267 763198411 602497061 451906791 152549679 103142755 915239677 913709369 221941335 432910199 73895837 858800359 358896039 503306037 422535997 296765587 228946161 91918827 167781255 474722177 426853099 344675355 377048455 996011171 205579321 618619489 280805041 470644113 751797859 866344079 195092451 82903943 349609179 524388499 86663267 363577965 50267641 249391499 926394589 700068307 47595519 526633147 270669927 849356273 309621783 520873611 689338237 498982567 934816083 895549841 706876167 463111289 40582057 77077383 422117199 998721943 138413821 242621521 742903051 648065755 908019223 192189691 941482587 832253123 764688295 649782967 664357825 651104885 449940299 420966367 459713837 703408833 65017983 463847671 51666673 860305693 530314159 637241261 337603787 742991019 104228139 144405457 397316835 338881329 428847661 720527457 675629253 314851357 716942295 857673341 247111781 351823753 175424049 439743601 239500577 374713649 847403307 594373299 185581245 570061695 719190433 981907677 546081897 624506495 349451859 295362223 182745529 206684397 748577515 861426969 749242793 895470371 607257849 5870891 590825887 523014189 486778103 701777699 543086185 626231479 517434183 614730593 477693755 178111513 201176369 206987123 971272373 760301907 655996901 196431627 116220377 806155787 946888063 768635141 649094421 324200849 550389759 531355235 619169087 432091101 339792463 740477775 889009813 677144207 702293311 34143777 165414329 61427691 946380937 308426833 435817149 20984289 664037839 249460097 453767185 281235211 880408983 18464895 639244183 547311527 154579031 746198589 219168657 498316443 321630053 200879319 310981551 25533047 622946307 280725135 331462659 915819633 985014873 991179985 374802445 901203307 847107707 455561521 372463537 368159979 940648801 464833127 152060989 659332639 433891819 870270299 490464613 397455585 387768293 7053845 959519305 355904685 796396797 956042441 420990057 897794475 570471887 646022867 663851191 298624941 877679835 492869047 651918471 880131367 762504585 635576349 825119895 235385915 974224173 966422747 445811209 439758765 582377471 475775979 178482541 433385967 468471839 767429999 182954425 291832855 189645465 804489399 310589767 401502437 800705627 220179249 436687073 130041281 417860417 480942971 543804591 574353335 157294347 878887001 309563209 27513473 365432929 763456435 776877 460601725 641525719 860421023 256026431 927190707 937098979 823457111 657289419 978864595 971649259 709692991 508304777 429242673 147136563 534671073 818966293 446390993 97902831 444126707 282651509 96942423 243398713 703386445 349867541 209682195 122682641 749320437 277105865 107759867 575125343 707925011 540452051 783782833 218129143 984359933 700462547 551188091 423268495 310064431 519929561 476478023 480846539 73991241 503106393 663467695 138409269 512269079 956765747 883882735 765179707 2812815 102389929 535170287 732698423 277348041 432604009 990173761 939109741 209854475 965573513 96962329 207634179 375851455 83088261 384830809 713533195 476609655 47770181 674601861 764996481 686067185 895286805 786278863 213951555 872699405 500903847 928414477 970630683 137501145 555925789 720048575 171725243 401323653 331786491 749711627 932272317 552525937 701762859 215521729 565268639 406996509 21282823 830868825 976845773 827478325 23641929 201910515 155412121 462499723 186357527 875641939 150876217 652074525 290692863 143599849 51355601 502501387 950523637 685845711 23422313 513398691 7777367 807622081 206157555 254987607 162964715 643868713 733455175 179433667 601813469 43281429 547030313 592111017 961554627 536700477 861759 93138677 245618841 696542975 398562843 643032505 22243015 583495009 257243959 6537267 260445207 58073621 262807029 742416069 407358911 996536435 139699613 780775161 126628959 378502519 468154721 937185411 628209913 960493771 975498073 950971455 953688573 42595259 147718537 300820783 448915517 667467329 165549783 473579391 806295545 98053629 181236757 550084483 144493525 58617651 487459581 238779061 999897053 278042581 757922097 182089399 316433545 269617785 939514681 807794777 107979701 846505311 38506373 649812617 615488935 111919981 249176435 174917989 558531083 318002483 351855167 593898287 900936949 430772713 232022549 8990549 279390695 170790509 323951365 224610661 192950977 630339143 206049289 955983393 541532371 28228775 715397123 309311077 416764881 373784419 612367033 1283651 855508699 780056569 641505761 263009257 364563315 552863379 422000145 365758645 958096519 416877823 504029131 77885995 70835565 395058099 77558905 306885875 870552803 198250193 669217643 843634659 407066123 75169567 905683675 257191671 917902199 87735563 42627307 549329487 613918745 263121325 509444257 458816311 355378767 836611013 682586867 483263781 447245021 751059131 329117111 809984177 290671603 897332637 624178351 757010593 208082979 417309729 944675461 151837407 450269549 669842855 746769353 805505917 989725237 746836023 102670325 918043575 350787145 402518913 864213609 451784433 4432861 902416859 34461553 479302583 264435345 783548229 382364987 74856635 377101413 685805669 429303523 355560407 671537355 339320203 606267241 451818257 240991127 620204975 43024053 183612819 117697543 653995375 103154843 359902383 747349437 942540307 935085523 316433123 822073803 617756299 831838463 381446863 308180385 822461549 179550117 214630465 687663137 752277751 622354233 996950827 910285453 863790099 797478933 136007849 96202131 693503823 692349561 441093627 574571083 50458849 197365645 485821841 706014511 326135467 191137381 671999485 105146149 703382835 106468601 908935417 2594937 798771879 163543337 532194919 991322083 571143647 514625473 301995349 731121023 819831131 731320175 526506741 463321043 814619715 950289871 483388323 54073547 368564579 683296351 602984417 165551805 233854517 907734925 326431067 395338085 901603289 423901607 560039397 265727721 483119123 523117541 642730617 304486615 753410133 642955115 570439225 462448421 535095477 411739203 642959733 462280493 915279091 241506395 563191451 563676343 126848373 466836109 810278217 420528367 463465035 810873757 804748609 958375277 375322669 230623025 94985583 666420009 74144633 837270237 194623719 254488973 443002167 710226201 444081123 729575267 833414165 917998661 28150983 381426147 296160109 355021739 387720989 823936937 577292859 611722365 773381787 459468731 34773545 713950931 151853593 178151043 822856325 909307057 484070555 270864603 63715141 108502269 730699855 856325373 517668875 155073675 842307973 568744335 207017245 8988433 360008121 891608735 724991593 452808755 165320335 447600289 694397063 116832377 113073361 363113843 832209847 244779605 966488949 718893915 773262561 300883233 530231443 293740549 720345745 668185115 120148593 721624967 40730625 957547887 935064695 760188255 524812305 269372207 654385211 723549039 752684101 630871633 307978361 143041289 132701135 422402489 905604625 89467357 795571845 286735151 297194255 864801549 902505957 913218661 715304361 59851291 135310873 741313011 594196281 975256567 524039409 262291549 502587199 912185331 397094111 701576457 505309291 847353551 170933255 335951689 114006925 298851247 366361903 465743703 735212707 890725665 788164295 726968661 685849037 130247705 891784163 537139787 878432857 50735349 584417607 313340203 726299065 499256441 815705173 117141453 185386119 970942165 418086433 255933939 625487753 348374173 430973537 508623431 608498345 893258701 958700657 574232921 352523771 326532301 477699165 806534309 919143607 959806823 985096145 386983815 113336901 180197841 112231717 191441485 709008173 373689771 775306841 502982439 558498339 323371767 730585621 393705773 477575425 225172259 150449317 931163489 833711053 400859141 634163971 932448173 196334513 875888347 445494223 734556129 976545793 588843337 408843341 956404407 219670839 860324955 258404719 245965009 445296117 770375049 720312011 851525559 442522635 196850095 571998111 894856409 572552551 37048849 879628245 481584275 521772839 668094815 313369339 914593573 908000397 444668589 410686281 72114617 926429701 986708087 867792029 397646687 755184675 63572387 294481791 384561169 874037409 720842879 137367583 26935729 274500963 825402815 616819537 295519493 829766515 147915137 570072471 452964035 121167365 312970827 525789209 992002689 577423733 712698377 180627877 944036289 522780743 952285969 682144689 222090475 750064163 908833057 995754335 259905107 477240031 933270621 649056885 612712753 293387125 995240529 565296225 544660135 772557065 569164533 136603963 734396091 87712229 227053475 268603075 379534691 966366847 72562213 657697631 558961523 294756975 562085283 839156001 244923825 568390521 13110709 157096125 61953989 351977099 216051545 470175379 614867263 797222581 190087667 634494891 870439577 417449011 697953873 243885237 621403699 211584361 603453863 770800391 11337047 151016931 71515283 850930079 437972793 472936275 772994075 158236713 334320109 929383059 28000939 475525103 147201913 260305577 225595161 796589801 36245701 827616701 681119649 106296505 677658271 712601125 735376105 962171301 702363845 428072797 937812737 563245469 199751381 528076549 917335129 505220405 325641051 162759147 664686291 11511983 830826693 63961857 321162417 100005107 570246255 462263393 927597985 757953679 822727575 381805137 905168825 102850233 694805611 793318459 337022071 601659475 916709623 352586161 413905855 346534113 594282041 857766769 54750941 463885205 339708687 897036379 295405961 940597319 684259141 337851517 630825695 913557107 253376137 752923657 238063717 721091137 443912565 843547227 382558981 521700225 132008077 482686709 869696025 155437739 632433463 615213187 242646619 538308063 998273735 212242903 854920945 777970657 48526707 300220655 404041321 447196449 388759391 174092779 444649401 951551673 415707539 372437019 471677243 267159399 801727235 730902765 653226423 50146449 310333827 936571645 95005529 333951815 620146391 22515987 685676727 39749441 969043883 147616533 796216781 110842333 78977163 451643671 714574595 458798881 330953973 719800919 301973539 390121665 211288135 918865463 465074021 818886927 360393419 396792641 674425445 548139535 194218675 818221097 540501799 645938787 557189399 417023179 67849499 526017631 744406777 968244011 713139219 32922871 209760835 420204145 958346063 969839309 977518791 731078643 377167987 313242917 517066555 53619755 771812493 602954481 997661763 548758973 185674001 185028553 945223527 193693299 536115933 703504615 502660121 362297923 530500919 647554105 66768561 308997701 689669835 968212809 840921459 907331005 93293231 472528465 993545605 471917337 937259359 169827631 9843193 710278377 89131457 574849133 697268425 527942889 287631397 955543093 702759895 402378493 425961275 478893411 754756587 94075951 951037221 682713205 292398007 549471669 158435941 46644369 921937107 385492967 415012585 445840007 551439041 896648011 591577863 921384909 145210859 122491273 953580157 91386757 351871137 282526841 289361775 515494773 154655261 792953617 970386795 573227275 917433729 60255351 149931107 911380065 163845845 755212023 229115833 62681907 531297801 699984131 74572081 818970091 846994427 213062709 529580535 209902229 300399975 596688979 367168927 279385581 163726327 749121095 641128747 779873357 659539777 915103011 892946427 883948225 379236793 388016419 573998303 324905461 116004289 573068973 789084427 597739329 470374565 583928649 367791389 958102437 414373269 412870825 833801755 12879047 675644073 540258733 690715251 545004023 571054563 306366805 615069431 525310765 723462187 437929421 105170405 487581191 116983893 742688615 231636453 65144015 836899865 437136801 917645057 488845679 806119193 438584349 948051377 186413699 147071963 244533667 694442449 865481289 99812053 471968045 75970469 253524903 398623069 745437903 882731741 160396077 763365045 159602897 246125963 38649361 72116485 459020957 831807791 502098741 155104865 116917703 856977325 446440479 922140609 392622857 284923475 238627325 207404551 190850375 93377237 869590697 464767225 136263819 297042513 517104543 222068299 885361929 732428877 151033095 813666967 496338973 56816565 755751091 679231581 932939593 388413919 353461527 843495175 471289657 306924935 419996245 727822819 182152385 601636821 778739505 757153583 571764187 536456531 891974173 772223243 989047467 252233463 810197551 775218813 958449275 986273057 242709543 971676281 127033023 840595091 885172587 994367705 853214229 56236413 5155597 700968797 77323579 746679409 459112129 384024237 482853919 535715183 133076967 982443869 362654933 63736025 204094087 856240869 861329559 907066497 324393553 424135333 683028681 210685081 26812313 540533991 175024119 636688575 681857123 777049053 94964945 669166329 320948051 536985761 100475703 628025009 271741625 767937587 247320359 586092481 533045131 697197179 629848017 760153955 732050027 745020237 539461253 5940031 193824927 553999711 2961343 447109215 369527061 956914005 35516451 182275641 287963495 550608057 625767293 607096747 509241553 832634105 129505213 650172923 595396923 852451439 471662083 54730709 819749431 21439327 174116751 600283217 313819641 988232943 305563339 479857639 965224547 811665459 678258253 219728257 666506233 887877409 917733841 53742953 662168813 403786141 136218935 156037719 155822101 820876399 457230733 255567463 664694769 741548105 715402245 157389341 784839591 580995781 420389113 979321705 70892039 194425697 524347631 874006685 162609289 868845705 987441553 359701369 410655307 873218703 114711217 646087201 108964117 39296681 140403533 71043619 377266263 559077883 353779335 595203955 584027687 327385741 533022887 475530097 697669699 5455953 78937637 457701853 847514901 724483617 982565531 786536425 778141355 544715963 862589387 192257833 954757565 163112395 178546849 289841819 992963751 186499297 193504305 399448993 391763573 605187705 967998131 197756683 675810771 602639599 250335887 635474447 479012379 138642321 258057549 633785673 257097 535538063 399444641 658225597 584291333 972440835 410094439 775476697 379734177 486953451 668967585 953847413 374486033 501219635 694600827 623834569 568561655 239536043 653083977 566922367 380725399 136754957 669895813 271181475 771676131 965279483 674176467 112452777 397242993 197997565 155768829 325637231 439991937 351477381 896071671 568181305 749121273 932916203 973280733 63728055 751729769 33529713 304663027 879419133 564203017 795718977 174301089 728288135 822411447 502387563 354190461 55374653 151315451 56058089 697904449 314741097 417560325 52604573 362761937 772851137 117708203 425370191 464289079 410543459 331660651 334673327 180893353 366727125 330326639 589288793 462865023 868406789 385159301 296648141 487786557 484834117 738898979 924764789 155473553 610845779 850237291 371656865 95754827 766351447 662539043 440038027 287092583 780133853 633173945 687451221 825385481 358278615 309921861 931672839 181856125 282755751 902288775 95934865 204968755 854699793 953626855 939957199 482949579 319902015 467308401 60028289 827731459 169127371 677561569 308672849 837562827 490927791 527728273 993614287 253939507 375993937 420559499 418578549 524276089 804898431 519906943 939167395 668685309 819458925 794873539 108483749 725368651 691838649 251785047 158960809 239663641 220975209 709057249 516637131 393223745 764898281 278786993 771488011 192594371 769232655 795838143 294910035 487396815 987521815 82473641 425970545 226246583 120981417 901308087 740386595 490582003 927008207 729582041 930919433 706487595 858285825 644185509 913001385 774836005 844600857 77364057 387841401 365328857 826904673 566047455 644111309 162585697 208328833 773480901 514437355 804223487 976663953 297913409 861182459 300205855 838780943 252283445 542340107 50357331 234660575 465387047 407275289 917744473 750376527 479191621 741276931 176865299 342110995 650171239 398794901 929808267 247591241 485334541 740272253 602365685 790680951 382334303 6728791 41120427 235571591 868055081 37850019 584551221 401721811 399802341 261634761 416410169 429351445 338604467 455223837 550879627 786327669 169656663 764588757 323756073 337989245 219721283 992486421 11649333 876812835 344539277 49847783 956978937 326661831 86423541 466985017 27228137 980882475 625438945 390522855 401671073 458302333 771508065 662367151 768274403 462617683 759625773 953221951 383736733 342152107 782706083 467786787 605361631 575624937 182581963 842024153 136468709 651113689 289910355 458595263 382212369 600136371 660371349 21210655 555068915 511710483 984421261 801696555 917313337 834048253 853135333 707090173 954437057 852781281 722129899 256929171 524572303 926910353 251674005 497093081 480405451 674819405 451417733 867742369 782445003 693424827 616908033 104519073 149819401 210904037 245538039 127942781 981030441 725523265 459420415 352189885 162237687 623035053 404200281 642907603 973643107 355134575 526192877 687506969 318297995 156617267 390246471 165080525 405867955 41989647 118284449 427723547 751230277 290762623 851451097 840853525 89359315 584045163 974245497 404983729 659481625 646064157 474907309 78869715 597592827 604811853 44345675 219050819 271737989 18453527 769851351 633716403 957160169 117084415 997439093 6511547 702716801 597806067 123771637 202689759 579681747 687535691 662564815 733070213 250352263 736706753 436225825 63859455 35203701 557931643 385685939 253707655 984481171 716316677 455828469 291812159 576820233 591754327 416650491 637837615 89583901 711185357 791857033 932221001 342563399 129616685 583937281 885154917 303094305 371947683 619424375 794249541 339770221 853690565 808210849 674614675 792917527 182210959 370075099 776757729 893947953 413681511 400175409 490919333 288298233 599743515 751929679 16416833 977996751 375851489 486418573 245520897 308472641 103006291 325307115 543504661 1918465 330201465 297501457 535557781 850117611 630719681 310760779 940470659 114695937 873970685 495755923 588092873 934475375 878944365 944412553 225987895 395925383 768731571 222117233 186178695 48030919 254905057 59645245 423966811 483304657 275249001 863834241 13980731 487054703 353414185 188599425 908043671 350786197 993694821 936187681 623743179 573961055 316707533 879722993 153624599 41343759 275227251 981179177 991861413 497597969 199620567 832456359 219081605 467176697 904665567 871534323 442604209 613400449 650053845 473886267 502053899 14136205 71015791 627839833 300514393 152580647 355917771 659791561 124351569 341595269 889451119 24804277 444146057 287216895 486628167 932106987 515515779 993691673 569479849 331571169 218921127 162301311 315419219 465344953 495543625 76711173 644422247 921228343 744607393 508983205 4398711 77649103 958288849 172323459 759194739 584960915 122515167 612212203 753489341 596025925 466858945 368411213 444811287 996781387 771423053 797438279 562250929 700143799 864108613 435612317 83675933 283550525 453868113 244836663 888119899 907809085 80544517 552847403 661007823 534312383 691591897 142959029 617528903 724430707 537089581 324642357 934077175 981611439 577994317 384394039 484587133 550829425 90038375 520631409 170687967 343789155 167516823 407047867 555092361 989102035 60607707 737079579 671071311 179121081 386005537 556584379 366697075 51405747 420467511 240329453 742793877 177269257 107691989 438068269 210094277 68915881 450948513 764757281 844526969 990102573 459797279 468432015 483171467 881488081 806606531 439552367 515291715 749405567 752125415 651593179 688238671 678024389 754856395 951654931 602479809 775886809 506616983 521495431 496572185 253968797 930646111 477130185 810543417 382098837 994504729 289962897 82841715 379518707 956655785 49009607 192458361 133512077 175682009 949708913 59921001 408079587 627730263 739883463 780234695 955198749 848416701 105166627 797897091 438259207 543963023 590961159 96546545 650213915 501755955 166652703 219080909 699774327 995343613 871628095 927524413 430137573 99982883 319905887 519672783 409401551 158355401 275853991 611275895 870221905 963632889 795932511 333776019 380142633 525278369 647281147 12533481 348762045 645043867 900515095 590342055 933472797 587956395 579025269 350815583 258730241 578758007 30604545 601953807 470144967 283169169 779854287 741664287 337489525 642208885 962220825 704433497 769712319 793763713 92034625 784926709 888007415 561541887 824214999 94635407 165835551 541761313 869979273 2053163 817745887 231724287 554660917 467707703 626784645 397510557 241885405 152456331 482192647 419726049 261492653 343781217 635142407 237575837 210880505 558040927 775954633 387769227 837051963 204425107 899132223 305698381 324847383 495186801 741027327 802461803 255961689 882074071 478927945 9962839 556010481 604663819 446346757 120549737 896951549 608964791 582764735 419474149 328211137 829765365 504991921 948233969 407893925 519486785 311233977 934009503 367330879 341732989 148837983 216747497 747435593 157441273 526603987 368861873 515873191 241156971 339732459 783843775 874982757 140613613 986618919 145247685 724645043 27120391 132230317 583176795 948020209 774624935 203153485 316001027 139615645 182579999 840500861 491919911 404243815 763330607 654456415 927132695 777953567 77746683 942144441 249300493 192765377 65928207 372406777 733299499 232665715 776180323 273306425 313047417 893031291 807921235 378635061 313394921 364317521 521120677 921156695 820198483 905075085 247012227 809825963 127076473 263840245 352439687 171415277 210539781 723541875 251491499 119039863 760285575 397941017 305673813 10383189 321160313 585784101 741775187 561795379 448684091 743190007 178342107 876571241 346825753 405275933 748478343 424278007 625030979 373547081 459077215 225001347 659311057 161565269 656055759 350385757 673164741 881035847 475488941 542920829 947911175 152779849 999549239 308979073 252901227 583607983 879408143 778019251 651056041 605493489 804001095 743053053 917769315 339560631 706187089 439723515 217802273 258851529 234212873 199416043 372169043 38803483 288497593 145217201 934680917 663371465 367903241 781059041 636394855 330016021 590915347 814056881 118234033 754614891 463352913 686774015 878299207 632015965 42649001 845852499 526211105 813048233 390336105 383639003 413248033 820560689 540494405 1980015 181522445 666225407 895799899 436992657 232777627 765432135 125388337 70794851 404144479 258084197 33202867 991321529 772175839 52674779 443595575 821644551 80804483 594595927 133864057 196930159 952572059 914432167 766501791 701063349 377705055 358378955 854978361 176564299 497856501 154030053 868065847 235601479 134336609 334957633 53550843 581061481 156549271 586533455 670358599 953522967 490438769 919527085 963666505 367899747 890966447 521216029 473873817 850964225 476452089 170141837 422448175 971686481 341103843 796780557 436004469 473334875 168610021 233335257 465112631 297375437 474068063 261883221 684990889 900888065 641932187 760492811 22427241 969476085 410688205 392556977 172925563 5364559 706995465 579403039 401066319 459962975 561296213 333201755 820277945 88006683 898727319 209183117 363284469 137397541 609180067 194329355 208816297 246883523 98450991 787276367 731665379 932272611 142847457 191091711 971700505 682001437 313428541 145925089 807806245 797546675 486767287 129531373 685380943 21031815 259353511 140934971 873596995 600364077 369933137 246348049 186668311 273032409 813360859 351311833 887634505 438921069 647165785 199568421 740908219 265810541 150123201 682853297 739172543 491678731 823078135 620303971 253098247 340348701 483108549 785168193 422544815 58483235 631896281 331157379 767661377 958757955 431789261 179731843 785446821 494628941 244078115 37351875 608732469 352892857 209250119 232971757 359320491 154453925 560793221 469077977 523276077 225044441 36599065 520053373 907688265 449007045 881358373 79029505 135477747 870091647 65106865 192715693 894281865 689934021 901421999 475818741 103078609 891970561 396949753 799535733 332081143 89231169 255040077 712656367 368448401 671184701 256708951 738341967 605859995 252614737 197811113 470579367 321082493 786341769 164823481 232173877 200910337 496990609 510069227 493422681 846452831 373132739 541540231 976442275 459872817 493340443 406560701 667530945 2232447 799171393 523804331 849832593 940957623 291361671 156801613 969262613 859995307 442827233 980429711 128828793 286125467 917415409 366997313 969219857 489281835 370560507 506218269 141020247 669055849 315034609 29099717 99068141 451300553 553274473 239311553 366266273 865265449 369966499 686785411 963713383 75980493 955801221 138188899 314294359 985852261 439188383 280959651 666704565 728387845 684781609 614346861 488429 320381225 302190849 506400721 525907859 929394103 720975279 678069193 740969569 695263229 183812963 771481399 984639291 874372017 441462257 209786339 219505709 147743725 330631901 730274685 837992295 143391289 335142475 699090081 388571719 478859137 908034059 215996369 454792273 450963739 660502163 637350001 163121709 338396101 116947973 479350743 672061105 348777635 877545255 332549691 264537561 150378049 584801895 936771519 932381125 744533911 850779869 453144427 338658241 315742977 692577609 104053295 15679811 653429571 859478803 999380967 165209827 363487885 113331015 321393235 359178599 557358449 848932257 748208157 60214455 899485167 523000699 15515605 70179051 273755245 780280543 102540533 358875449 369107635 622956925 967206109 605930247 294836989 89641899 808332249 765080289 14489315 897279337 524324375 805796729 161755757 489461085 542175411 456256681 986743047 446411223 616897197 826080375 341772935 530548175 160717807 466037773 690225193 836923363 725944905 436419261 302861717 802431323 987640947 988212485 574166997 937783079 29294355 549578629 490606175 130240731 148175789 278761483 201914899 968522683 317109687 349629577 303181875 289372587 12698501 355549209 423234927 85541435 368050013 917980673 943130329 495145377 337267815 756732587 704445169 188964287 84973491 30782123 836434075 854297881 399404345 81114041 242297893 27483107 720471263 883800509 908908099 667652335 650159465 911036863 845310739 981641407 470062475 350768371 58475801 472193145 23767775 579840949 755339333 4015855 212563173 831680135 976003307 819802005 295150597 216658197 51964615 86293901 263269523 343465779 571218431 246032027 199661509 454012379 498288675 806314545 741724353 386743855 154964259 711286373 670077323 713721469 728909407 469140213 191636503 883472185 407130013 65962061 816621887 494493179 930003467 501906039 688607681 210603655 410700603 915315245 71654219 178696649 717355565 999115725 891592553 761020117 781618243 673955423 614088857 78525413 552408655 420143761 984185657 459117405 922725763 973604285 471966355 804517575 367796347 970386143 951735769 614112729 683656769 902490017 838583077 383187307 796659007 110486865 810418293 213622401 206319689 632889829 957183671 333613895 849274271 304741119 932118199 462696977 760074213 329507555 411236913 153843291 133591849 55087493 540408519 456079301 100637151 29528439 274714371 492875035 547907047 678590715 932429651 57881939 611183491 77626615 883190033 222331525 454546529 886877693 105177471 687542517 308325015 664287553 383356105 217164817 849722785 406395299 274377467 140831081 673184103 846400173 265327889 934742969 436352819 321913225 821085677 991661543 332654781 427649555 969942871 806879225 379756319 818431945 619373313 531762727 815641569 983386833 665735045 782067145 82407921 518538491 141305185 477286501 233398945 184223423 443557889 481177765 701657265 494410299 996445877 953542491 939705157 403540023 596634039 432185989 813405419 94806819 928189737 60663363 24594583 7529491 968544787 999938019 876712103 765479371 241359719 629382359 392056801 319876525 615708925 670922681 562434161 325337293 562330265 586331471 806697707 433396959 852455135 409898371 959720785 875026245 496590439 813963879 294894595 576667141 383504549 304597817 735516369 787318989 290210557 833594201 174510577 963594229 759786421 705880917 920121085 222858621 971875587 766043103 877892605 544396813 653295613 946301651 442512477 76610545 207240101 706810931 195931637 740827683 137825765 410107179 218556925 392934209 140423309 97683727 592402463 614234261 931328599 177639001 301242215 377914633 64534501 767403947 598075719 680068665 275477183 526986451 396503713 499457379 347565141 993113029 866654905 133766765 678430981 709020055 129907769 603366119 124151051 442330515 87925307 984256777 57449873 401821215 971875129 499755185 269919147 527933393 796309529 669871719 737901905 182658659 876208425 457848409 374666853 352224183 471524639 824995681 742532527 98703069 543506453 776968187 21444063 171267843 556106899 54516049 139076753 43406471 172309637 73610801 370083653 866421227 325570113 85812753 291385445 202970333 400451459 826326035 308835905 143352621 572137587 246085627 378994193 468385239 416951963 558325563 521578747 559861247 484731891 325876203 804897029 887671791 928315863 630341063 21695007 736679965 298609163 885389623 292208421 983628321 3171773 54669899 994506967 34565567 602016389 510689723 280974557 471756773 133552477 101435367 774744779 937030051 591311275 327306707 985625881 460094773 65898555 504776241 121513511 252774655 123832391 954206807 465598273 996124813 311242855 222523715 903783829 203872655 599451041 205312671 468703039 902133989 621661285 661097913 339557439 324504973 237443975 452163721 379386237 153708983 84250435 523152045 893045197 439191475 760304705 623518317 909715175 931997439 777704075 866645943 66049131 561154875 716733079 161301797 700075747 800239925 124580421 214778611 48419009 902670301 268288471 899664395 835658079 575395155 647760123 572696315 642756605 607841239 545416649 872003833 719861443 292373717 973738425 229219047 938607045 128169439 6583989 945551945 839491065 133851059 353536009 871478353 629778501 542298929 703682919 419696853 547977837 273945703 407603185 32838485 644961829 698311047 806452523 784464377 682367495 524147181 332713985 956127885 819597969 247443227 177611719 124792715 729006895 815019963 763492669 997106961 289977139 605151397 606282633 445702633 768526549 133595089 475354933 602534013 212226101 717356385 113938231 52945897 156757085 928887459 204972013 226452715 70726207 791661833 349279261 573996265 510478259 228874543 234194419 202761971 234083453 314237399 750496773 457492159 932662595 295129327 891264593 154599343 22305943 961734789 180139321 193981897 986747381 485696985 374432399 36390077 525981371 921737293 335889027 385992415 461276467 347340395 489683127 876248113 918415 18102503 732843821 397427547 332904167 628832157 826958165 805986987 870287423 810910865 340689665 484020503 198948221 178291435 434770289 960159041 410783347 657314305 623158345 618803309 532720605 773856333 332937367 818443149 814958167 410704499 753392591 442411575 170165103 700947005 94167759 411542443 490576021 736344479 526668509 71944657 471408675 888301495 48116389 84879925 926036567 219201475 301780285 97008913 256694877 933671473 233203489 122761795 400935749 275614101 548889401 514389075 675181833 216973739 801683407 219168625 805419403 329842259 356231577 628363891 714784659 774148761 372918967 139834839 644316115 259869619 530723243 802254535 685925347 685616633 885818467 919038993 631648069 94502385 168517943 59870509 55983203 678807875 146441183 324742457 507064205 390911941 788821637 479330301 71862783 924419187 434410165 981926119 904035541 422633581 706059875 537403921 164169757 905039361 822054637 890775351 396662727 963894687 257362967 814696129 63406251 848640231 927533841 599669953 436556683 711680921 125057903 667272171 597224465 443784351 12637741 618111649 399145933 386948881 446799025 755287527 323321145 591491877 492966345 188840559 828334775 676898115 867435177 595270033 885671309 356484337 832322545 890330697 73341169 866553319 827230371 603262015 835605753 655839999 296423725 668972739 815115175 423461691 418630245 142271437 663487461 66275015 987883655 958565115 481585283 481934325 290847803 276573845 793118011 692311107 902679437 378855051 235027885 856400209 113442543 365136755 268864613 98193389 679564867 922385803 620834769 628293897 274336715 626087357 449923405 320246977 690141495 868869271 834048025 380673367 756371097 242561361 996380255 342124599 806298481 564411081 200829999 397712629 583420835 335898759 39018113 408484939 388178557 751374777 939155003 775498011 338207667 871830071 886636321 806051187 768241765 190859139 838954217 420497287 710437395 751541695 734875689 879228591 269889967 918899903 279713633 723700335 20603021 277668087 510745087 991808883 296546155 27576457 834117457 253100687 936630123 216973369 952854417 510464445 156975389 107463289 525572831 151325985 639890807 757336671 299545669 536623109 269070035 14886571 878867127 825458653 568622585 763685571 291513353 31272773 764611863 38935481 603722753 784210177 387268287 368395071 509704007 233130745 943539441 241380539 297534569 945618755 71075857 438138415 794600677 86142233 697524203 350847307 814247961 336711135 3447479 173865577 784870481 715322913 545428497 900044679 514831291 675766415 359752703 289843019 491074417 363523847 551966701 143164419 901344887 453461901 877290415 460120747 329620147 247236937 555585671 676347359 331891705 314188179 461083669 936627431 550381825 852473057 441714537 260406961 723915883 234733017 816457719 250894037 223196097 70353479 240225951 451680405 825993333 394475547 185409187 534129107 503650529 330159221 714319537 94331939 435898179 446410899 546422751 534928313 304746183 237582053 163853993 834649205 314682495 688680955 944677879 400798433 337448033 223609747 431263765 782072617 978733649 191308173 439182261 68682277 327017753 821831927 81358585 878175317 403969895 692893955 303297637 165858527 146984149 329294859 467405795 79721619 619281127 377443477 688922061 954515689 132900355 120116299 872402909 625335039 604738683 55630079 655367225 674317469 690769803 624649135 623484015 858554675 158720593 16429435 91293299 533259479 547530455 64959665 879974307 233000263 396509967 351834563 121679301 843965165 295074257 960647245 168118277 331812311 754508255 147111441 75598841 650349755 759661795 431619067 625980061 471086075 332214383 697270045 206989655 560833181 48465145 86437813 896324855 714327887 127125733 212387877 322514605 780204907 532189563 210431991 554075931 648619501 96789997 110434015 265217859 364845693 456726099 233219001 491887509 235786861 466358447 678329223 795627235 939906481 603341291 487191669 688260973 851262955 815543511 4421335 332924375 924774239 829286703 470714407 1314349 793815039 493946511 890458121 427796711 882702433 820618117 65996615 548901345 189568197 412204673 504644309 736342369 295233041 744852699 452946639 769193747 891408085 745522133 268731769 18252555 783989833 510591897 242163771 934193355 410786635 690961463 238160555 980558387 818372963 477857449 6788483 363744403 905665985 759760337 610143143 99064223 901608505 955366775 577587489 429373047 732643407 999645517 878681127 694545565 782277159 434823659 160138769 756781823 959317905 436489171 661621859 762298611 972986115 670730351 786461643 744326455 630602399 468393231 952840473 150568685 371580203 571396589 933660745 992197287 412225813 560210217 178367871 631283031 664921973 935574479 11186695 31118169 934460683 469718733 612492625 306210167 795666751 602379775 917707771 210394587 211750173 874643237 796342985 47739673 317905503 361352425 329144229 257991473 159844453 41801691 926466209 252598407 589476659 245781877 338313465 529128169 993874555 820999447 734870547 982147723 208603795 518760717 663832181 211698955 200248699 3504519 282950871 843594351 217882585 473761179 537818385 469206051 211011069 301847119 627942185 847202301 331942111 961183115 391159881 800325947 773735709 105257759 184812995 454020479 820959231 820794821 828844053 361349083 867734133 1139229 203708383 48676799 643763219 672360883 724017903 381572109 9018909 628190197 571633463 615998471 525623415 863551807 299498451 275588699 880392879 294429135 811265541 825346593 612547841 938825939 469307961 160442323 685551433 332789081 150835457 644862039 918016013 757990745 240200731 128878585 471554945 28022969 228905831 809127793 320854135 697774653 415629811 258331867 354803057 241769625 446215921 946120893 28915093 672776039 188225213 439999747 950332853 241145895 766767577 181914115 636584261 793310529 411877361 113081209 276448101 824576265 578407129 407516043 34024927 606518455 448021387 658569159 824015391 91444587 153517355 116337187 34624061 62727983 186183683 463946745 622593527 908877301 217996423 104237329 796557751 399933079 349757523 714088087 360620941 625325525 615891241 19320355 678104107 363416407 189287415 805233837 266721781 487759023 303714763 661091231 530856945 267389017 206924005 829682627 297212111 738341043 529259943 100845137 918063077 882047239 761270173 701118437 206437425 437145735 113152631 903730053 652100957 106398541 461389587 821344155 916553911 818617687 437909619 917229825 745095733 729056659 480608965 975296497 775249273 120768717 808096345 831193873 960056519 51999939 591669419 988110959 818178579 405601043 332684639 796416639 378879983 171249735 72470335 319505183 508006557 411829969 170598209 973917333 188781827 527669257 258085757 272967309 421782963 80488243 134777913 850919197 397848545 697458293 916648157 264377795 409406061 634466273 777515777 54973537 958781665 557426801 645306715 424749129 510595175 757941511 633589969 540153643 331214043 699106667 111730543 182318633 593855419 281646415 562842469 26857669 137289005 830544205 899834387 455755247 912352001 372170211 67027193 223232249 544992175 168838269 953903297 561982627 977706837 199739499 668413507 970078225 490419387 773149161 2330485 785816017 875219535 396685587 445429885 38207703 84796715 390976759 41272487 243710337 573930507 464812677 103982437 159418003 51088473 173598613 528795987 40918589 502109475 966293995 109648689 454218003 702053407 70925869 156812527 807837969 567673007 663573229 75261599 249312415 61100249 165450149 45420409 553352583 314104907 500137911 800780005 648400383 25005405 777329003 275151723 43579815 878888975 543340273 770632639 730213505 901371145 963033957 699034557 322367483 636947607 600375753 637450087 554818539 646790067 722513409 304919529 469244303 48477947 49472485 156596373 461007499 50692025 36314153 628014569 546808299 129035991 332292463 351348359 393483559 292917233 252471107 329732665 606422811 437650501 730938133 600668915 813193483 775316409 204931389 451297745 181084071 785333213 88572925 660505621 884325891 279732969 1187453 253005355 451355291 419061947 584555475 594633383 882965077 138422235 116420595 63230275 280022399 826714231 792829631 864670179 254922957 743760745 640563971 488269201 974415965 317466925 575899501 233471873 983315637 910343917 380275097 713509391 527075777 318632823 771646215 281955263 813560791 497665601 925025313 838183993 304281781 270726253 77347127 907708243 802131583 774577087 525139331 714769927 884926145 327188905 435305509 494506361 325976435 468188739 673383209 726694899 118315503 469433161 827907709 977376747 417306111 560195875 946948861 814853881 994387659 949471713 662297449 950946531 784828395 563647547 201152873 170300561 213824605 175299217 76539537 181820697 409881989 636250087 583444825 895463605 379033137 367571183 37349921 847271883 804753301 71304447 88141365 611412449 39388239 897001237 844449475 891649711 125550437 502519003 765530087 147478285 30229827 240270239 942445985 729401345 502654143 42871641 896932057 500750259 950030869 518631847 577510499 704537211 200223211 497055953 402122743 419898319 29333073 312450245 999682357 940897621 338324919 112593949 803637927 784892377 120501759 453943573 504935105 643942477 348439915 123092631 930898647 360002251 310704553 423316785 778954287 939072921 645164239 331468313 908065519 980181537 305381467 37619761 903573291 513653237 415848497 746143997 705847259 481872339 77161885 297285039 605660639 282421915 856115799 175844381 431159553 391019611 677284731 103245255 656275699 162002245 487538319 432892117 757839439 288580277 612675197 168739091 243907475 314720813 795386527 401330427 530368045 897329241 695659439 882656939 220575593 383034379 707550419 886123243 42335621 596001601 473884313 957479979 250703519 387548189 322841589 868884865 216533953 614031849 261015367 344165805 970651101 809926169 536304977 753414677 112207563 273041225 626620993 416627657 195728975 682181179 20963501 220463743 538894095 390290651 237161105 147745177 226229663 361002813 258813525 91239709 516047221 247990427 387618243 412995771 349900789 418045015 70569235 863378631 803201895 322011903 257983457 619987267 267570173 311006023 487604273 474307799 828571855 803527431 807417715 211284433 31641313 993162819 825654137 536975655 868163097 561841703 224934787 801280379 129003593 674838023 733550389 7800337 395353133 473486941 635531165 157093339 270962275 509384141 315433519 104559215 844658805 535298081 853728713 485640973 752465363 115014991 444741553 306654109 79656667 379254383 361923731 66041259 940570569 899650757 639555973 559747953 941684169 561614527 816227587 153784525 25914859 331540717 514286067 428954695 628089387 418862859 571391141 241014799 648880741 719677181 188085705 290326779 516242279 781653455 432332673 727132553 760868833 539198129 690322511 762201827 482448747 986443777 805412385 66868695 112987015 602807875 372591949 482103261 742045855 561595681 243263889 943573011 408978693 360983661 628805905 457869889 580393967 342184739 299717467 12096981 160099967 488981095 408303713 812511465 669306561 663204997 707588485 167305017 454386853 584788463 186266251 206579501 120838403 74574911 30498463 506554583 194767005 415328059 611271509 773500651 981659933 328822221 877518765 520950731 655706131 224755975 616551181 441947259 207584761 222195495 352449087 99269549 627182385 4325517 147622009 555656889 800389889 472822471 577547353 626482841 245188767 431710599 313052389 317438203 211534881 396181415 123892875 719840041 126132105 59567149 842565149 741478685 160800705 60174659 905014233 723884149 285155225 243083069 776728679 295665529 556775115 498076051 542118865 60790297 842066167 431834605 674702991 706616043 467485865 679717139 442470013 476950573 213583439 252084217 511326687 628184777 763956549 31304377 755016293 45435725 957374667 181694363 13416481 84560625 229754635 874619909 149233299 825088659 187219477 211891595 63945119 524288443 386981091 750729451 189292691 510448535 723185237 661693703 744636707 326151167 329738807 866395113 848490605 684050035 32064567 324101061 137752567 998174491 917421297 188125175 84019373 332432837 486839525 518155777 493407205 654267623 888219003 889363599 204683355 483903139 300794887 278958709 758432567 507543997 60714177 182220205 235178755 444725927 154676681 818669147 588100277 104302711 731533865 935858121 448842413 672195565 21023445 79624557 818293677 352263791 672452001 547993055 538486245 43911949 65486419 781614563 332657639 166804863 512561043 231499623 381552563 216147237 140429295 771859577 418922411 442878979 5307621 506166363 29762465 536818633 26896339 609059947 708597703 96795345 183271173 165161269 194041787 303593753 904975529 634157423 864761219 784352069 96299481 215801073 571711625 100229545 67052953 746074047 475776167 37377339 200032209 314232583 211062039 905804441 545017423 264261657 394089855 778881291 643673041 107491697 764990191 398408063 565257461 519680947 551044823 58291085 126563141 526205611 765556759 54908021 658277939 25473611 888418805 856742943 255205401 675149229 179969309 432743449 80706869 512757271 219829927 369386649 66041525 767186929 866465035 812361599 618415525 212839891 274984243 819884373 176201219 551991155 181563753 741128263 79059885 614043831 541255781 687389485 371594093 856787627 85678147 118608007 797950965 824926337 384348551 471364475 39098589 616978069 82017825 350756569 233240489 736822631 928737891 349442585 305207487 374866599 39300621 65654361 211788913 514976807 487813955 787600737 241271291 868712671 971998099 806155425 11043451 434866679 802729713 921604143 546881019 791527351 808427709 895070665 804267117 373954707 416471223 111003609 244488361 76726309 634383889 22939757 539616625 51137075 239957087 248610363 859532911 985875879 782508703 251978149 378846005 396074901 665923635 867692465 506119225 766948919 338559979 700406541 586801119 267559919 576076541 562302225 174769519 525865035 943908357 87017151 41783835 797657341 52169223 160643001 298857467 293090529 170536305 432084819 364981009 793435387 739711771 283839873 840433223 310673779 955530045 777266147 837097583 863590045 579454593 949055683 399649599 708623863 596395763 282621453 545532505 901143331 256378119 69237337 298051145 282696939 507105947 631805415 296536959 179808837 317554163 528634781 273027411 344739145 508229311 140063243 318715655 681377851 840067347 401067113 468046021 672013959 696519787 216091541 975007 588318657 41791663 641152279 381842315 956578467 530512681 830061087 425818731 836267025 714085263 755222657 360527115 328543765 830702847 733489601 682897691 546307301 670366463 356127235 318115635 417012185 28354173 691808533 482355157 159770231 912426699 489469299 770770027 961480039 537835175 783299385 156540997 437996927 868462393 555914541 665401245 328157369 738584333 226201027 488295571 862359353 499310357 62144525 710996019 331732555 954444723 857490125 827052909 51353953 386396587 490270059 23814169 90947349 640549671 378149619 305765369 473636397 826841281 309171487 425158581 102489745 489271923 473013583 882697697 896070231 660954275 850859399 828948981 249519803 779711263 735883641 253600083 586222365 654130203 162688379 983373889 145356299 271817013 272134541 223091445 489345077 532828275 803776597 698340485 160750459 933468993 171600931 114344945 206470621 533849461 357813743 316527911 123434629 302407755 440777815 965575157 887866059 846067051 523930787 913476885 791874853 476287967 153847747 2040615 252313659 178088223 299617099 631695287 767440853 714203653 192183423 530076211 542541799 503515611 406919489 166020343 381088651 949357897 510284069 35330115 914006023 744492903 800383073 167968063 231707077 294403763 61222099 790500607 477761369 583246865 575787265 319963003 817057915 171217359 88474909 222052499 207189779 809483937 546277887 30948113 973274153 870006437 590618659 155314089 982312689 834432609 707657905 786916335 733790151 876054463 941144187 576411497 701630765 482916121 813010677 61787261 308955855 753053225 211674943 456457087 666116737 441187607 283556131 293911975 310239547 932136301 961463309 720890901 871305765 699983137 713839635 110603475 486455687 839191443 944154361 582441427 817387477 445489285 704086307 445443055 947066539 210544421 804455587 429409255 698488269 694080265 883705387 7032675 793193507 867262255 940852767 446450679 627289283 642927867 376058757 932314137 108524007 357626169 413316365 572642861 623799795 236845857 5120523 144801147 170146929 760348495 23049603 214128951 73871125 799769287 382324505 457291125 562142395 549489657 299153947 599660603 365533287 858740151 536090245 522424943 273467969 597278273 869076467 514785507 213993119 37687869 704692395 841142099 42625787 402386357 540125343 28850013 334988537 668447519 11316327 98443659 878433637 478455897 146100799 209648719 853119279 912137129 312352527 910868225 500679287 245076667 515029865 102128357 626731387 940695461 130579585 713360417 383133099 951971299 919338295 866025159 916914327 323103581 808519955 678017491 943866107 411515741 509053253 495759395 9792443 904531355 12114851 45592961 377328867 139104563 641729453 510460831 694774437 520526249 784691081 483844885 654175323 394727915 279027975 608420453 501940107 749595985 87671967 364327161 894963935 317329557 987765871 910600227 380234537 885396187 57594687 292075545 899441253 135831221 36476797 517248767 440198841 592733461 436716611 426073565 286513517 927678041 584455245 844711843 412244979 834223943 343858949 773432367 287470315 997393931 636669817 592127805 654199061 991859515 719253343 667331961 423394909 538808531 773217817 507034483 350082773 265627449 736569261 517916325 76537275 538965563 264679881 518868593 650391663 639549967 912664773 323163935 431492991 222497871 602784417 773909727 594672029 623819011 158262275 312998607 981858469 632615321 480207165 108398571 763176089 189922275 302146883 851798559 479583909 196486945 348331701 645249851 108718621 56221429 697501917 183801849 67976569 699981425 647935653 83341049 647743329 906035463 766029737 971484103 773287325 544886165 466827047 267155923 85682721 92116319 762759941 693238133 247701513 115483925 547676883 327365871 485535383 844974025 948580041 316147563 844925497 495496187 430198469 727956473 195800445 428710033 205469519 244257427 446972451 41697749 968130709 794018073 717314061 307541629 901533041 893981783 610844741 382698663 267086943 477572859 83091457 270483161 666548873 249175713 395238809 78063359 541572797 753913545 833521553 77810543 829477489 605382621 614064533 816561639 49939143 187680301 429490553 591837833 418417027 841608435 662659127 281505511 294037015 79226703 434053363 221979889 300606617 329366861 582147065 759560713 451308233 148717275 347405753 233551857 258760975 989416661 561165779 585186265 730772855 893658619 908144133 217584467 397754043 512544247 580459839 142139743 604346171 185131095 920297105 605856097 664811515 606400409 745476663 782323751 805016493 16563229 28714645 378677477 143763365 219354409 445394743 678460985 964101351 397920241 952952269 183142185 585054487 774556303 225730871 831591969 535628677 178368771 538971251 505035253 129239593 588991029 258309553 397851367 154558625 836365561 961399105 143126423 173888821 818351879 490136737 712523285 600549843 907878399 56268657 795084503 527689493 237196907 920444029 601496503 742056759 834377407 76041403 62753533 462318883 567004751 850336837 771548759 680663397 174564961 525021021 882197463 274416441 133148955 827923309 190155517 37512057 171477649 260634125 392793003 571453361 529030587 914861043 164561203 604394253 762997113 405092359 677680455 368581989 293446549 620622417 982957317 455355961 21914561 484883717 883734001 165775281 476841623 46949757 425239803 690170265 239578773 544802623 323841911 292945515 480872233 649053429 715741729 48009285 33036703 115246451 688831519 52090863 601063989 681455795 298954239 63462873 273605897 414611671 387032757 986686233 295127333 693208365 18431647 741675631 98408827 818273063 736900227 504517441 24578533 212687713 856073359 882129567 298114081 717782173 247244629 643680319 554888411 544029895 341310163 184850307 243885733 69003251 966379377 313385073 440951029 224937819 520152825 131408055 478967087 761860707 70230435 852627119 31436699 352344469 669296393 287336021 216578667 28188581 422092597 888551507 396121785 430756975 891033999 142205175 639896963 944690165 265743857 38085943 457658037 563263333 800399765 895280565 314547233 569310735 340695585 408443317 358847101 424893551 889874595 549495337 838335085 93743911 15807119 800157863 142912889 406812679 312406211 703592047 13661971 673540861 396530307 983108455 914642835 954410279 24802943 187021601 315410747 799486921 194468811 52509137 25957685 16208203 655676645 244123991 322698385 944017475 382383791 811780667 502333259 134007403 536187257 509471917 867431743 851217831 973750777 22888323 608234299 17118467 61944905 905142587 825022447 365786545 724941041 496398591 225012979 298915339 180160479 290846109 23924171 967311509 318516069 650957453 556294365 649943805 203188547 933172973 19479163 328778003 435142557 499029125 903777247 40453077 244585983 372717251 770671147 299568227 283243105 617533375 839916389 561028873 130791455 186491707 689535363 304033853 150545663 43919257 818126171 373574553 374997547 356058861 718334383 798684381 336300861 684664811 81090601 46788345 987992879 12054261 498972249 904178429 543300455 154414351 924471481 303988519 656193715 494834923 337957291 696379863 522281545 29870559 335029879 798596763 293076675 193405163 105814093 267177253 332623657 956410295 434366793 115426385 180219367 141165967 685114731 547386145 845879251 288341101 380647325 94566335 585781547 21135855 625085615 382021251 749365393 731945565 4633179 21219557 640692759 854424999 384989249 209109127 83760687 668516451 579865325 911542839 833358517 116763343 218703053 801315047 477306355 834399701 166703933 572176051 375593873 941405187 247686525 22301661 683301801 50125457 921566135 55497681 918438837 237213277 372307451 572950563 188491163 300141293 565809475 650812301 294454953 907801973 252043887 324413169 556621459 750673863 679563083 346818141 720855671 453135205 532089733 300487685 407323611 264893559 464369593 612099391 382667179 25866955 876492903 478498197 424886075 653982423 438445815 342863789 857922381 958009019 188436669 81844829 219095297 573980481 800041457 578172831 992898793 837827797 666396851 455073173 621619701 645660815 232651791 664953743 588748935 680999215 867326707 575809275 591699297 926692379 147349307 580957815 184834225 49627235 512431269 787588807 386032909 291901887 2197471 573059027 429116531 870488461 979499383 648258481 118423367 260071895 772339429 930524059 597727575 847934023 95262093 969384181 172153047 91559225 272214969 644832841 357644133 770920105 327328151 316145229 963326213 398346561 789999683 889272537 822631719 409528143 927324347 837404659 274129311 617831883 121147629 91859651 185642409 972608339 461316261 589642911 988995819 299394861 761504929 741795843 760570995 151519821 532010367 868606351 240155575 518542917 110303433 511092495 655064977 10625623 722296817 644306041 721477961 651562603 893432657 220897509 206242187 626184719 866245415 866277273 677883245 387062137 385697 254546175 861940589 981683849 182695627 600055209 346605677 91613641 332479907 739350357 350143679 696240485 810832135 865443811 676733205 783158325 336341441 239853153 938472331 945449655 785105027 710279679 40929963 709415447 770463973 670177053 96167517 891685151 589983851 358016571 160418043 901562697 322292603 483980037 829534271 77505971 49957481 787213645 98180687 66543141 945641579 76831249 305770169 962373135 518598309 492649585 388707697 15309701 365065503 295601851 406162901 244347467 858231243 218186593 249272747 930646725 199478145 478075903 379138079 628454147 986356997 558187607 377705671 610203579 564015101 350655829 737948831 9984335 597160443 499557899 426254607 611102405 359651193 270632119 333903585 947427531 791891161 100164027 239172429 350414521 173720931 726926497 159452397 668690321 257109577 987611421 779166921 117106421 57205155 513124875 788463951 629013049 51185523 21400685 500386129 131977553 512884899 190586479 332838671 992007645 153012741 61693029 539645741 459673127 160295759 313572297 672159673 326375451 18869797 445200445 912247591 907168849 838837519 523459729 331720019 839751943 998004861 641113523 237202567 399148841 542319051 714977217 417052781 396697409 191524923 373734653 105017115 877308041 429011953 463753429 135183373 228315103 689870597 784331481 757998377 898563787 975667819 793359813 336606141 544715387 786044165 397697149 336405887 678483657 174897311 612197131 954118025 178264371 951366889 895311267 61805923 271658973 631358075 886003619 200652281 660218523 126982103 811825289 45122721 322556387 982819431 444294403 709531161 856558547 310336379 507817447 29252485 911108913 303255373 662479147 353101681 786782321 781097981 711510261 847475925 240777381 530545303 262642831 662500365 248901263 298570763 738911087 365802461 979892119 658161713 985105453 562535541 869262025 721391307 775797647 629878887 808186335 148276865 308706175 175376307 437009977 297214439 61298191 487515327 789186011 533202037 59293307 7597907 601507447 376911757 930823207 742748075 434029667 526673269 745364895 473641311 532902303 708133987 54291349 693739639 96345809 192793965 908146659 451414111 987447369 623808405 828293775 949529325 636414719 547487939 583785667 462464861 814057873 459403979 449522641 281180503 966778183 529250405 896824375 867483109 601367823 717267505 688896661 422889597 631769731 403401147 406641337 531327999 810833121 830733425 243873429 293829037 416080909 940667567 894471493 89790007 165670299 272256181 246064651 650918063 378857409 448477611 487004497 143633813 685480539 962821797 249635247 496563149 515773941 170521499 463935197 139450789 205637819 869718125 445771965 557073361 579911047 549052903 864497757 534003823 974373589 292540599 863756015 283209219 103327181 618454647 14762703 701219453 39756609 63163051 58666111 181564977 132073637 295674299 104202667 240887515 433816345 255066613 366820903 518714017 906339943 330473111 394936557 901725969 700315129 61035199 117520671 15784993 977389035 124648567 776954637 410332971 582921723 825362355 938549541 564049399 675408015 607951687 547433221 998342579 69054391 16458233 753642607 480845297 316617771 719747439 469640783 326709679 675436105 736673597 373859257 916778069 523809049 541308889 309932775 643040943 841554251 270269863 893513789 23013873 916980787 24921073 426154821 674541239 920641237 187673573 284361141 916509707 852872405 889229725 418282597 912272471 546652033 43539229 712350809 18857071 543606485 688150347 722605503 840508563 693898349 886736121 494840551 561674599 469104271 602035171 325274445 474660601 236166957 544653735 786105493 460849085 900996319 523009231 767670665 26665363 445498849 984108493 697099551 373111997 901032731 142841337 846248815 105613033 369124127 291792535 623456959 258642477 401720097 193496013 730081911 210129925 626270721 452679597 365948461 301460569 514931015 332361011 521834653 307494515 384359971 913234237 375599783 513076235 257110123 468583317 522338393 534937147 977979295 426825197 871419875 296637067 559662565 138225373 112677029 626532841 942195469 545115879 543071773 297040295 805250447 775888757 470542587 368372357 96555401 176980953 59227151 82910631 876074947 731525705 397334871 766761371 919530155 879632105 353021683 947797845 612319579 815933633 47821361 505392947 386344079 835309763 370882691 349567995 576454065 100136135 67253379 511273945 105368015 897163919 485104375 154837857 700649119 679492293 787400137 315579029 295331203 956816377 831313677 572653525 956486273 122063269 945644027 887620337 271950151 919586091 793528315 510632991 347940397 21278931 10103189 855290105 796434739 598698191 516772733 253187463 44655871 680070199 617101197 684372277 445524963 70530061 221962187 649057755 394374355 956996155 25855329 504485553 379082863 559617681 28826019 539074401 601058303 47420361 226596107 119326453 449409139 892370053 240025661 790359781 804204897 339420747 813972227 782646285 699934729 293866641 258841937 519912371 177889873 873466285 32644675 416561281 610534857 762154465 877030171 270919057 560163497 615020631 620656197 252181341 971958991 734518303 108230229 827164363 559175875 667892531 396200197 282071593 799427251 936352627 75995705 807047211 414683001 992093611 696630523 741640945 90982801 47542923 52964991 848752893 738167333 288492969 947073825 292156989 686120449 51109515 132423525 651071239 625006753 937616281 667556083 377129239 876637983 837531427 119112609 616905877 517460807 166836323 136640105 420509451 428919941 73221241 946876015 512821361 572230385 434493297 805352445 108254755 374364747 306708793 52456841 889547749 158393595 125626029 783063211 944472293 744796941 944965261 81789223 536084155 78918459 812776067 429732331 880487009 931924453 350936095 974444039 488500541 556407823 295461337 946806711 141423131 189696105 662462999 768010591 648470067 743208525 914378781 72060555 657002019 745260729 939501857 756770029 778241259 442827091 313881399 160176991 528783613 176313707 176552037 639903463 813490477 719318265 626555795 308146605 672617911 137580443 340636559 314678791 291777347 319584665 272222743 242685297 745648091 616641761 864883401 511793035 780804085 961644045 766951985 243669795 859919217 213154137 634716349 979528491 119264401 969009583 264096201 411965885 4265219 855765915 550255763 235804959 937504989 931563609 268124489 119892667 344790429 619488451 815880183 517696547 531107623 130730597 595198875 705127445 936641225 970457707 998558483 216855409 84833845 674088621 174917161 162828869 328033421 814647467 272952463 200751299 114646357 317697163 822279903 756263495 797100921 613854239 681541017 338996819 846500429 202691035 625869861 346954643 113834641 65131999 74799573 472522969 615639915 244296947 262058213 663774243 743295843 450341255 161134451 406084499 496847733 655894193 143673481 829277811 763550201 316796719 567476505 154059831 413840823 564421739 342582525 928887673 402992859 385682805 408636403 105265409 196807163 422149631 189295783 205446837 477237525 69585261 774920107 449453737 462360715 513316293 622488181 673786395 676852783 234598581 675270761 364283501 577929265 494209175 940799951 213284393 831588403 989735783 834272473 808000005 521235511 959678927 123013793 384062935 559754669 677119003 785116709 983335337 319352935 255724359 587654993 813031585 616066469 200092141 369080311 355255829 186520843 277192025 677727949 647595647 565111719 210958455 612410999 447734403 628758765 934520031 381897341 783419371 451018171 238595537 602776145 923123373 949364567 593165619 826099275 410489825 400590957 390004375 501864109 648124107 27446803 356778545 703102625 620910041 198920389 242639841 266317625 889840027 716746603 351029295 493693035 664843725 628001871 642383179 199062043 9921107 240706599 62035979 489106193 171137079 516452627 488832749 47276541 524715183 295918485 899236635 165884029 250426899 887012763 645240163 927852045 909895913 539042173 128267069 164139801 628554457 687211763 15253447 245813233 704708027 123602471 753756361 880447439 382531717 382321317 853967793 637038549 303151709 150312545 642205335 157775371 299648399 228249785 516537661 65842273 498152077 343616881 853837317 109555635 605624561 530963385 895433987 443502785 746932353 406263077 125898475 74040629 606591015 66815153 386498591 648791199 468359413 416696771 446171043 5398393 124244263 159273769 858699817 393137701 83707171 632485399 648900871 74415083 258496625 47713069 741702973 251681275 502708931 610548589 450721395 92004977 596738809 687028549 852539381 270588749 483159059 347288971 320591805 622674809 751723581 745409147 847416681 154326981 704164297 579783357 11747649 421343723 780817461 535877723 834363189 178164621 621917475 845500877 814931419 773229873 830445405 793884399 164767089 704481613 817313751 700441605 185819361 297902391 138484907 277574847 178386617 596482095 482166303 917333295 79522865 193986659 999107485 932186325 900929063 239719393 997362873 30104469 381745697 382305699 671492141 204441789 300955987 634622089 369687773 571001857 522090895 985225311 567012051 98301057 52760151 629982419 293518403 510102461 996861395 538495617 680018057 261816487 442448337 673416169 595970343 9141395 209547975 436972147 509454537 366489149 21862101 365126515 452111427 494711501 777226437 979144993 741942671 222866637 627720451 949972381 548458705 410140469 630955175 784231923 566639955 265567327 639625841 180553489 130725515 351615251 634153927 571962579 430343953 902686591 962113465 871319801 956675497 213319733 378441727 716945963 227553343 787898165 358775287 334521597 357636327 867822819 993970089 195959525 35565787 536432395 327165125 191501129 718203775 646207973 339917729 675689581 998573919 794388749 3399739 896872581 710780203 590047369 32243517 540017835 437349571 86160837 370588405 940997597 985044005 340809365 888960603 533319177 141303425 173462075 613533197 192005883 475686695 987728471 364693329 167440753 954774163 505611257 555182363 489312777 745329001 718287509 575682301 611003981 382363509 889568523 722229305 296333233 942043303 943392413 50707639 857998985 303732255 276592121 616839171 133241627 535871261 631697461 738217049 130534541 732668939 938425805 721158035 512236529 208019329 723106217 554335293 882446659 678058293 997588501 35056257 22619233 410834189 22393795 522686269 189922837 730911765 954690261 335461609 755800849 433520511 533353933 645748403 593346287 527240101 746543259 125552485 953417517 732711693 198124947 753606777 498866231 62868833 93007473 31900429 335016031 402370675 862630747 191775465 223212251 552947521 558236637 66174333 181647055 938021101 839493105 513149661 902963267 39086527 219831535 968649933 401632041 81182255 394396319 719437233 584647257 955391447 852696109 674448281 411356311 433828473 603999535 681421627 521950089 834353409 804990113 869349625 296939201 230731395 378146281 814862809 329385145 124094775 748008407 528488585 414108115 151425413 893509019 826745953 183157591 388492533 228221399 364375137 989418103 749799739 410936717 933695537 968972107 515579699 977361197 935067423 543619031 419745247 705918345 192884001 450026241 607661931 834896609 372966871 186043291 224276523 916260825 481932683 515493727 215588249 967110269 220839465 928839663 555295577 909328197 80207433 909690323 696405045 563369997 776612393 354700155 959568161 92743451 667993269 372333637 399545401 939954203 61761143 715840877 45090241 84025121 512717993 967016223 141797153 257362351 616891433 633263467 803952111 842485669 779213439 66136395 277836005 172222035 176953561 129196961 720595687 122604397 48084241 327976499 107977727 143806483 313089189 345164983 459488867 877891527 863455673 477073859 395466091 61135223 188176929 74467801 489412763 663012473 294403667 352228963 871405217 848995723 122861677 47022257 252140621 629162959 28303157 473136893 551218075 748097495 743445277 438435689 315282607 696171669 450364733 435806971 107039957 561231461 637732433 928459433 431624573 407717393 1650113 480796745 130555207 346214339 291633311 767760285 917621489 933871119 740154015 278077775 687341675 598868213 796139299 514680303 675288517 772188377 526785071 330149621 213788221 177856905 113073013 354052551 69193011 619712825 204388171 592777387 588617523 95969671 273862577 85222353 86457075 362469497 996007245 625478229 3362381 265755003 36406383 408693047 820291907 743598179 625025039 684350559 684098815 564567151 391115979 988410273 696286425 450073409 905447403 341744053 812511559 13116393 425603677 601892667 576249585 138223069 764123067 133617087 59220893 514276857 858298689 867809967 297408835 144203137 455031001 96590439 636367613 889890595 198800401 875617575 246407181 785419255 908298529 692531223 729489119 385698423 467438565 653952587 824149509 247861129 76325097 36015547 791792957 274033017 440886873 709009479 649212521 229562623 119020815 570565307 328539283 984376375 192380807 983565765 73571055 723594151 409800937 419656961 779042775 571286331 189859847 555241453 620008403 322219337 446055509 91092727 703478409 117963661 374135027 597970027 210549709 427211309 172941737 144571271 296503453 500774583 959406567 31242601 930853403 993756449 515007939 467022365 220097681 733060805 116135677 840608145 787172467 781988203 178279931 722128031 301291357 7153215 611220173 813678603 376088339 255536343 513068075 330271611 347154557 615882801 355482739 668209283 65923249 501460401 117524653 114183577 808075241 740486691 664061321 493896483 79113351 980803775 353923675 406717029 504310299 462172193 110069799 604430483 284443731 919190861 413390991 348968901 402908685 951448755 398767847 818200063 646461517 435914023 895312165 397225511 770033467 309631717 136232165 488543505 386764077 713927315 380139635 867602547 719457181 362541119 501552059 548790257 239346223 448310365 22078807 211145747 238236079 504760011 310040451 333179723 833800973 894932943 416554279 743708403 489529961 949053205 614712533 430400073 234308097 835562163 142499265 301326201 371330373 276228135 639385291 629783189 503398853 224883539 566107003 36811411 780177469 23527305 604615425 547398231 337043345 162628217 922247987 607128489 267478477 492845893 738147217 381944379 446705443 55693679 727496769 495180965 753879277 537601511 105866515 75261289 463075505 18377727 340014719 338294259 736242967 714757751 576557219 945293199 85678327 328649331 246551623 600322169 760790087 761785983 763789785 244419795 791436079 482643861 271215219 422272421 697608437 92353037 526710993 849569761 916225297 287842989 605608029 428570463 278901277 491141029 523787813 116688865 56393435 129723273 221631455 136187921 758180151 540330069 878318829 361864319 481644355 859596913 534655827 368602789 508960317 85030311 88438981 574960101 821158277 333874733 991948181 495661703 135741865 930305955 350122949 644295869 115919707 543880715 580585979 561773983 7987319 540482771 841467017 705487407 930623231 300170705 131593315 248262743 513956895 958720579 57374761 304821223 282142505 121810893 226858787 471629721 173719707 172446075 158831169 334069263 592015127 410636485 650961689 972737233 30295143 581931655 720238827 499418959 221282431 64939013 553853341 125030373 971624059 139629039 386408127 194058963 34721693 932640601 15586441 91393859 664420945 818079935 764548313 108954693 150894891 752471303 418273335 823226835 931939301 291925119 827867857 786991567 926685795 400536539 219711873 953889535 325640623 15491385 475467459 966626841 697976575 158306079 19591105 340427443 466727595 235213689 225647943 636692047 310609207 236926109 86349009 817333589 553818703 126336585 2216313 123055129 617183687 194134175 623684363 458874835 141169305 64543025 932083955 267364261 71665641 488252913 853178697 991183253 849176579 190404667 277122509 265616281 639882583 168644055 556019431 728966277 451110787 1916403 107571363 252461343 15401547 957023777 451891643 759727887 967147671 971752289 563689613 782194661 267787645 196250903 924773411 661400089 966696249 271656977 4773159 527144465 395805739 836099459 81526517 767076113 877379039 223683083 920767115 946041423 672092683 105769647 955165583 620708319 323915143 463047131 99989841 135512007 29465945 355774053 350840777 309273839 720928171 480516233 345176725 982508069 270305487 666500845 720215549 587107111 265909825 637015455 795068399 56410003 279884711 90817301 627850501 679747061 192372167 145947945 129926523 34492091 715861913 876194341 976241723 192479553 941026103 573648305 561195473 608618181 950581985 722271717 602915193 946770805 269925383 596595263 782151693 671106909 441575483 415444643 621619481 711154555 774281269 193664605 633379273 130787501 742845661 574929701 58991605 953856189 337330747 125990935 436279069 880211295 953980033 821414073 813175655 486611751 595575055 405138421 254382245 692995227 30208869 635791653 63302475 190580513 516954159 299650307 625610105 402854925 544702529 65096373 524198903 704972181 927352723 239901897 638935861 913107421 951428685 621464115 15473737 684140013 334400439 82186579 308119025 200882871 643036997 149519595 379796375 341080085 952014227 586027305 423254089 703217605 59425635 23969955 181589439 419682933 892931233 936544597 836704087 278857393 465044321 505253799 94772505 442332663 450755805 633879907 364511411 401416099 406216311 555311809 550782079 684961797 89843391 203526493 327021177 166345033 160135267 890464059 297658699 875549321 186286913 894499787 885357889 234663111 375726427 935323871 577880919 168824301 513480669 366070199 51461671 325492685 278280219 551673335 369992445 34662173 981243535 918266029 296539845 518580353 454278621 569682765 751164695 178068353 31505361 540830901 604626739 798091151 775991387 131853867 329197311 483888899 332093081 664217691 865444877 780406305 585041871 739025499 631856273 885295631 759429733 3907751 468509291 711299551 697532145 731125285 385049635 628004235 963107629 856205605 27395561 920481525 942523645 345601623 925167761 168810213 72882541 658563037 344385183 279279629 819140013 502660665 266135351 437710853 169775133 752592217 82778409 858480719 622761275 258398099 577407469 990871893 914895031 24592549 141721761 474583911 548486241 421049523 552869131 168970175 834156853 176042313 716347039 138959743 948488281 239011935 114983279 514725039 272564243 436035921 615065917 905892671 843150555 87550437 283959921 120244235 441803337 727552839 69875993 216581589 273909283 456957707 163110891 908837953 676363091 656871473 597697353 544486629 739283691 674661919 230437943 760624187 799504681 787594143 452868967 925715615 897981037 341350887 684886575 911893343 588304453 330249621 712429967 528413609 36977763 42262959 679700269 250821017 162890145 386590371 492138587 72032559 274219269 924735299 76477709 758389589 811864761 518223821 80206051 474615515 134544657 99400425 630695461 339830139 937094533 846560929 185788099 706791127 283822525 345191789 359253841 113265013 934479489 745057065 764035603 919076299 362052293 137926681 835651565 37410095 215414949 94156269 147792751 715390691 21342307 755350711 873785809 330094351 998780779 607719415 105287151 614743495 154357583 293054353 137576789 541730819 213734093 659263699 457496881 767690403 933231303 54935409 187926359 586290035 316986183 385266825 669681481 737199649 657119873 395751841 348792111 951873865 109654993 918991781 436375765 950483307 23608505 928668139 14465719 99979761 924094951 20478767 247430383 957145129 359980073 342271129 7907913 167099473 467990911 708775603 53814065 525866119 637073419 503736947 438384831 898176471 892824857 4860985 196730803 603863343 500833817 671396551 801700211 340769387 36589993 471970893 448168719 608522059 443417227 779929949 522459711 694625399 611830957 731423223 715761761 964506755 982300191 527158397 297471869 538224871 548856349 511459521 436586819 68666115 856552459 493436149 153173513 727234337 521975411 132886711 420998093 359816051 566991371 130878989 654862649 622720787 622107819 544760417 421518491 506659073 515872345 514079629 828688107 236637989 853805117 150066891 85997767 69462355 467486125 312083905 620143477 945174593 115759395 888358269 124191209 892237459 733285701 230003573 653097397 826017747 317498841 911165059 961891355 128100719 250017495 301361135 656615171 638898113 968645975 275500645 475545081 673777933 661018783 441686781 512861497 249047673 995330329 133225007 221306525 111751961 693910871 728815845 246912175 441871587 149019413 474931561 785484191 51383227 535671865 875521139 792147523 651842153 89846729 407104543 582967067 441182623 908383997 652502257 183792975 760011511 396459567 389450457 516692907 177382383 582790625 95255081 697605033 910404851 188224957 560006817 821380199 965174357 10095003 167252581 84049837 322483531 61396595 312133379 488636649 379947257 48906599 324333679 53645365 633312615 774333125 805123081 106497871 997175943 929397503 3081105 825515165 635692337 539489713 694280249 498107951 430727721 512027805 135534997 597463739 630451477 805615279 236070051 544253603 327571335 702028537 549455045 631428333 356803579 204644793 396200139 55407687 757275341 581158735 281699307 92603913 677324107 776027979 799914689 144807731 913501349 162763611 893241425 79673709 852258035 83618909 69432585 389453827 91124793 814905683 515146175 234488561 293167453 623529065 296544433 156474321 127860017 746690547 610007683 202933999 288615279 172981611 878976323 220486709 290323385 485253235 222822757 263025727 986360471 547859419 614027463 166357323 374658683 377013905 652464045 488375871 753508541 54459059 581475783 166928813 552965791 155498627 877183273 948077769 434426955 119093613 950617935 371385459 494648273 974746885 769326623 600362035 768574507 32130565 67819241 784810295 582243899 701442385 270548317 240717145 578432457 836091125 283563675 273506325 805431429 892252961 460275753 286231445 667337483 953621811 525916917 779181991 738461659 354606767 550132305 209091779 223835231 238164029 186071803 453662981 543206375 161832627 364931611 678506297 983354541 328442893 236947515 266310091 750575315 691279467 954323027 359554005 49262433 246374169 347032767 161032211 958850887 245693325 795048005 762978797 886196833 228501087 600682255 850781813 662083183 173267541 413781431 560848223 433276955 56272215 751862839 524903435 464937461 230413693 563918069 117582467 730120567 670765565 895818687 912524403 877822977 412430909 467828937 785066547 686056927 510312649 417599921 914980801 999022399 805088851 113879165 412215753 563208509 38529205 807224985 207940757 218285785 209859061 583487963 822213919 227720701 764400957 174195071 548987909 774390903 122036191 504738093 386332815 734138117 968521305 981304303 260967851 820540487 317940043 278203197 460840691 139313091 252472963 643868145 917845411 30168301 923900915 322481493 126206885 773969439 891890869 695420945 569933447 168066457 524830735 909438269 649547905 974099077 282618475 997649751 947431791 188737521 29314141 41853763 886238173 283056091 273011613 566259023 181869047 417664033 974313491 294179375 980491413 695372175 945412807 604475905 419346489 618758355 815941357 665058635 922498565 442789257 525371105 534036471 445722829 205973807 47288101 138144863 118845445 942622259 893026661 243223101 454855885 392414947 137398645 722711993 995075821 984706679 258630735 782335581 639497685 711784467 879677717 43266591 255666075 858735041 338040341 234409567 111998463 771781999 739777475 822403807 99562343 32706553 999336375 876198605 247494115 786996765 169597365 653952959 317807147 555849607 264699049 516901555 934406301 201025993 516428199 945475853 360874561 592420699 129558761 866316697 73552327 556383901 31889107 733211535 108732547 354368217 99106543 961847691 972136825 69901633 272277235 813827729 763339851 663646191 188605367 179092241 203231309 523186913 764105791 88879581 649585013 129167107 606035639 770198325 193174367 802326823 294151539 496695231 933422167 922495747 624632815 274849667 530501705 585823291 427890635 16099581 758788045 210463063 326904787 324711429 702930211 795467977 214616317 895186659 611097395 132047851 326659425 100070211 463338633 169328123 509273413 412695355 182604897 799284517 420340753 447892551 837667733 171409787 546252635 806679631 150653871 487591923 101784031 769942173 297144287 696049521 619771517 940475625 264604155 740540861 582627649 306691661 57775491 855678089 244875361 738320979 332328605 247169133 345882933 35010019 273539353 783337453 133577027 817261655 265849199 207473263 439144757 466711655 308263357 152910661 660005853 89153853 820416715 177091241 853558073 434280805 329310471 251691709 165034857 387607507 552368523 756992137 658614203 965849829 894332691 120585983 984602529 222403937 168438025 443661303 42721717 426474355 498475131 887904051 112543421 282955185 207404319 374723933 494386339 905690647 667513943 532403461 554213241 55785227 704872999 528629671 143350397 206843483 416342593 596894367 333287697 960342077 197279997 70813755 472776125 307240011 794393687 906069163 21424953 361208461 795124471 995242759 557741407 281866865 327299887 942426705 865338929 792617417 381149171 636268659 625578203 543775701 640626147 983040317 233892017 495143479 441428551 549161833 228353069 47073793 880931855 854473625 996700145 182259877 250332881 897955157 788643275 43177217 230621645 392292365 175681455 465357401 792573673 998176285 451294899 358075741 65751989 65348549 807641121 771449631 875176553 178088495 119808095 341075487 366377699 544886379 810141699 939026243 941241769 495974515 706439367 431329493 671295727 793476137 144775821 845685643 612859271 568163411 147179109 537274755 5312501 915641767 231347581 229258563 576043355 67310523 402613811 365080247 103845005 244885009 670857993 8388661 56748801 259758865 59095981 623638907 208637395 951499023 573350895 520704171 367391439 547120963 39554251 557108053 713326945 92627663 795899237 907456879 261328289 490250681 226737159 962727509 257466191 338986999 725438247 623107531 329460947 325582431 945938525 687189249 865833529 13156785 474546541 185492873 61938235 352054683 21744965 28111459 803755831 549454251 912761077 918757107 793708087 55764571 151883449 508995591 41934821 623982603 763390709 642889427 670090141 961242631 315722037 687428085 341739613 502396285 367396137 180780147 642547659 231726217 269913009 266073273 336825143 124222761 175244235 930985371 681157273 287493195 797517223 665424731 483995535 594799805 462863253 449415321 682498143 876825143 770362131 134167397 21526781 907404895 854489537 649112629 500467707 322678201 743961197 760975075 934933917 691927225 227396617 460681655 885494981 821060281 922701487 923988063 496888839 549674745 249023141 97355501 48869017 521456033 220652373 653262047 215580503 612773061 180855377 349045789 933239757 701775707 463922775 556024819 70296871 346903111 409225287 5060117 480880445 850211155 344202799 781269921 917072783 203933741 987917377 4026907 627055683 401528687 222406105 276045427 4673323 157908381 490064505 466714109 167253691 330933789 444851915 563283829 771729171 433931843 831689127 443490305 602553595 917983813 326904581 871951919 98853091 810753607 187864327 430573299 254716897 368176979 580988667 191380139 433587891 461918295 922048083 996646941 448524483 824614189 582244267 664459639 371193119 587975577 255450053 205751627 206942079 523990081 585265295 231991191 640577857 275474359 727764503 134965443 411165805 590682487 923672477 466882201 444501169 580399839 888692867 954986321 563844711 178358329 47416147 764422277 419671435 728807351 432495809 625284159 401880263 732150385 830588073 778244583 964908647 668533097 149257487 71536983 512162663 342032523 4637467 316405193 116873313 4553635 293542435 938845923 852855969 983661421 804207777 948164017 680773395 661215371 397327161 792693677 963928399 147882117 439130037 853110703 103540373 347320525 342318601 281131773 442940107 438257595 524978515 469968455 555526531 703885715 100420305 500712097 778845423 586254715 575355633 167307913 462067957 231647877 24272455 860429025 833087511 571364011 160404111 452214777 291390087 470193615 644033961 405850247 728654105 436140217 302368929 632393893 347019857 261213723 513496749 305993435 380907347 822441869 274290213 63914263 657729775 660613265 647921039 599270315 781371037 821518737 894181523 4982359 504606587 83356381 90656519 54347583 47315791 607780271 878253031 268737007 809400717 896313641 812989523 69289567 905472071 102093139 471362201 600287723 160857919 873934367 125615913 814996057 811081949 394412645 742096291 313539795 336187695 764263143 674863047 774371059 632015083 422344015 965526655 609571763 231175283 495840045 939963619 27490425 240566475 242210555 856377129 467059731 880122533 368169241 119146937 400528823 948686679 312671443 131812889 209488895 785873889 131447641 538459649 933267955 932741097 908783811 597044299 90464767 988590273 407579411 798217721 787383033 683666525 37112113 746684215 319962911 845255261 427808753 778063959 900400403 614095113 873912587 428229847 799639783 453621329 36077089 637555799 96756493 266604745 348094393 969971621 398334305 168221877 750905929 386923443 617413677 715945721 614898471 109168285 329880345 471232549 735144853 518986917 639108671 672667503 673219515 698549559 242664729 130300857 91584429 680025063 561993101 285922953 150373475 139783023 339566313 145010957 68663999 911523505 386158817 253527839 941938823 27011517 704782483 268610107 513470321 925087937 174840709 835138187 226130449 148466459 500503203 741343707 932436717 222973005 737306433 591405735 301987693 273612547 699920929 796616457 611417825 715420177 467549795 967743949 762148225 611030897 473553047 876163423 154662259 609865543 392231347 607942359 316583867 896303837 263790611 139549429 660798797 392267687 603753595 456896799 438181891 400386625 981138713 123376741 600473501 573187951 742751363 128515199 673568451 276533017 661872311 35566795 679680009 775388501 34795545 44633937 79268071 676428637 298970743 288460737 658791613 975398549 85549061 303021681 41799125 699535241 412701793 434642783 121590371 283894505 930486159 936424757 416016763 787406995 689415935 571398209 253978659 576900747 862399621 235069819 671456833 679970809 980423517 536841599 15996329 340330549 62840109 752401305 238652689 184018869 267376899 373341877 426053405 5847839 250062933 685783149 200969559 263782463 529841149 123970045 16527149 130644229 123479875 670694735 966245113 561004689 327570643 973654511 128068351 141965345 929545155 262285335 79194725 656436261 123904145 450605991 75890239 996319021 107167775 627310371 86917251 335053047 671926463 634657469 275375381 696245091 583725859 519005515 621472445 666475903 969515367 964213581 231619117 399305853 257659413 89286121 522725631 615669943 302866709 128413169 885523121 31163571 854877889 687381209 272646577 705656859 310632147 868170177 216456267 831892673 559040881 774697585 611572667 786504099 561148969 319427159 843957027 274062817 543046895 616980877 46927499 724010953 298623777 165841361 428727781 258970573 379321989 964909449 196320267 30103945 543112775 745142979 411425211 267902655 497532413 843342395 187660449 392966747 463495331 739838029 998838349 256078705 240410017 845364737 973323579 158506553 734066113 191217157 143291849 1420571 685963835 719613361 660147521 703643039 12624809 220845573 625823443 185427321 540620051 195135657 953303709 240527749 696368871 100668137 412863643 264402117 565375479 94010561 222339001 419433829 313388675 519495627 50516679 143902137 392939311 357534801 892966783 525846331 146262023 630117443 809678211 857674127 67168131 139334199 816971611 866325887 24318847 751032941 186420601 844843519 624399425 322028491 625066805 3995947 256225141 923743971 63828433 994182471 976573233 902495975 994705271 629609403 682520817 600979133 689247799 864403485 123173531 541577703 779205387 397843751 404557181 845423509 212786901 895054269 457460557 992813473 205577565 996612073 77315877 255310215 802988115 128426977 108434573 985148785 774989395 328571645 912138865 637245741 592865247 269995201 969873959 888777011 454081627 241323483 711368301 420930463 326197021 797049627 592520807 862923581 813048413 198680189 193279649 765618297 417848893 138514469 582069779 688206957 122047941 513450335 605719833 527708117 143483877 698343835 580504695 821126169 969353337 809316217 815418461 914019403 589319489 107343799 615918429 725155359 361244903 394280005 907885943 777673461 377314299 689363763 971013903 25569495 764975607 995996605 57262067 923216241 710313531 141439817 308994649 947759899 960182035 934696029 247012315 747567571 845928109 728919473 403212929 74556997 392930853 117385503 318537655 460803259 861238395 554071719 708489555 915457583 207885721 847157113 685997713 144064831 559787343 672892645 366970649 105128243 850378837 33672553 369845749 843414265 938862929 787853221 967775899 435759147 507262919 113550695 661685739 512486405 826287917 685765281 217012007 271279729 232602071 356220527 579769599 161000701 549695499 921328659 333062277 992101855 735040241 239653881 7754297 564254457 961311129 641924787 732553471 103993041 57095675 398934527 966134565 456492949 623092221 595952573 697506655 289731101 592650339 535253755 948485579 341583593 279963105 765368045 957849325 236325665 239603729 540367849 765906101 981231505 450097779 532705399 632410999 302212021 446383983 689287233 876634863 278072999 435069785 87463195 722014531 122662961 799893351 285774847 389396993 420190147 303436479 831853585 504394527 488071539 952394085 173582747 170582519 719609089 932431181 753782545 998328913 907012307 74870097 202067471 654766427 333137657 842974255 959099991 602343079 96230443 284557205 240220375 222838579 997731527 603616015 68003485 908791911 996248021 97371931 861242857 775604495 972293635 779631127 792038685 861943903 282714795 871801677 476008389 12174067 956933833 839775727 497234321 735090133 252365319 241295895 969489247 927407469 59500467 886698435 173130801 675311765 934092741 644902367 702306357 826852743 981438425 490074429 902801339 101134569 154257979 419255187 449297983 138997449 978516695 251530885 375367013 88205211 614965317 406777501 121666041 796949823 186345157 439261257 611069163 791459829 527290687 408876259 723204185 482309489 836097599 870392749 857192583 610778563 342686975 321149651 880883421 552432233 91065951 202333793 882328307 751118155 867242979 380925779 947871615 577198003 939084477 836855435 539367271 994158937 600619203 97805777 727225527 500531543 362854773 669548759 329407903 643994933 999189753 787161141 786331007 145451489 239160607 202610799 7098839 547018413 934592607 428776171 524272465 923367001 145052375 746244859 171534533 61161993 8940879 270141657 470100009 166911563 786212405 551452839 491421091 401670163 645071523 981294445 192671871 831315903 617219925 521714205 802792495 915512853 582958005 539886223 769470799 687136063 876097233 736544389 799059105 59300823 233358431 842984617 223960079 993710553 56521665 817379213 661009841 149910951 59783931 983817895 875865277 738773265 828315071 28889947 911847067 333605451 514472549 490339823 787114451 94058741 830622953 659907737 752021273 869966609 298239987 187553391 559008841 980406797 511075795 889485939 634400101 674212801 641611139 680983695 921904537 825131365 275676573 755819667 839233079 281382051 710265195 543579961 759828925 392222853 770768349 147889955 447582925 759858307 307117193 902362073 257458993 497901433 104796847 130265803 522661085 58301101 95460405 872318549 585939693 127214281 300301483 426302649 916164771 618077927 109326919 667664155 670013547 678603137 198165739 67671697 204429017 190514557 466430237 532101907 621109159 931701033 417871629 513926787 66937017 158367545 931654031 844867497 502026009 501435853 776896295 335283509 147709947 501791591 421532919 311342787 972062651 918445045 665428947 729529299 234538717 959490509 208619313 220751567 670145289 709901995 148322349 409979911 927709717 452134583 250230931 979561139 417148155 250744187 673408975 998059001 858781919 350633711 306545657 823537117 819040779 271361135 362953425 89527381 155962613 856419263 75130045 639564343 597849397 759130125 485424079 312595013 883126929 147739377 154836667 76804647 731974641 122132837 75854305 441851761 841928299 84903119 785984073 899392667 798779451 898960891 74792611 95007237 321028545 572218913 370972741 561057531 721844361 416525791 458269743 864255147 912183881 9287733 213470727 734838577 850624473 569552789 704867101 811518093 203161151 236682451 939476841 842785703 69860259 532501547 260684937 78734163 578150493 352321605 121159363 554683207 53959651 335346475 71134731 133263145 788918235 320313683 254168307 342327677 45790993 236589213 642595263 615057591 64497783 461144395 919267153 610593329 971718183 978929931 395034173 605699371 420351079 683492851 90075063 275258317 556740769 222482817 798760609 894307883 653037159 506497945 373814401 553733947 686623863 225012105 929179781 474385889 822025649 872578819 445102725 733229031 683005987 596769065 811674113 245511419 946938367 952923007 974303519 849422775 354530465 316898033 478804913 370312863 991217035 141379795 438242347 502345497 827400553 425026533 895588013 925534841 294666509 687680845 130753023 299336437 255863413 132690835 60465297 452863667 294788035 3932083 812074873 827303607 991781953 976432645 821214069 583676917 226909027 648194897 917788655 478110789 460530117 947899843 135532021 229794155 446853673 7050225 184177471 770232333 271156347 236075481 575325483 703651005 371135695 169356765 225973697 39146231 128625247 191255503 406960303 854695449 821784717 858215903 964316751 44977261 690117607 622242223 849445533 456773669 195028769 480426305 522573891 550080601 429742611 172292101 575037837 545565197 630808769 147152333 156111223 206856999 608453207 161206745 543166619 29087609 766266409 38751181 481728581 907905981 246587057 432473783 509678433 896416405 459289235 772550667 37488519 317860233 663128985 659123879 309563895 49392139 124268473 135359441 887531671 68619891 564708363 181680181 770321655 322581765 752842195 442724585 67625295 308091111 42332031 7835753 371661695 152207147 527239583 668221853 682791435 579804107 388338159 186165967 522527523 885674153 280291923 948932277 588865441 310086285 499862487 812259183 482535939 83961385 641137579 616415615 949037423 632595221 12385837 57667283 14297781 376997587 887127009 315569091 882888525 961753037 283367537 239050759 526132819 389443667 271314351 58884553 328679827 735826335 989594263 123524245 693113467 639558355 345412173 50514527 472323871 102169591 589029149 977208453 21602113 62356221 132134777 539500235 432642889 757692093 477068027 919108705 220461893 822277625 664144745 694816475 496978923 263400539 22597549 48698677 10149787 582436723 883346137 973356245 680225631 760416187 582234923 132613257 213558243 563042195 368299267 621922181 2888319 349966407 95121903 293841001 522705459 427051271 256527265 478485559 960517797 422713323 632038131 130856285 851417895 226586357 531777771 572538033 89956781 39900431 626848691 695018607 130622935 795512073 140651423 763874111 149046253 257028251 4382759 304449835 523559903 351735147 526876403 75397803 400563777 73085951 135490251 55108507 229951319 328510663 843319971 317255231 928695301 840935711 484798103 779737671 369287387 427626055 964836585 488829893 116948751 276244073 871100677 844200505 564507523 205082005 243594365 610480007 425455549 904456899 371248655 386387709 191336683 535854809 329698973 891194447 556867815 630970267 376518193 641157275 565985069 839681727 622180607 317676391 311127527 44685019 624805475 264127391 741233377 802729583 56651743 338709657 642907287 968729321 263797791 44723985 651453731 85449111 898718711 37602863 727229775 863048369 735327585 309930109 735206283 725599837 74372737 344287475 398209775 500141983 479171745 867405803 997120053 404584813 151422263 141144621 336860875 779322267 932489947 440313831 654535611 962843631 919633489 186812843 583091903 581014799 458638727 161295225 62496053 709369743 229273741 550258101 7971621 610828519 445333663 803782699 36337727 185247863 255644961 264575763 920895705 773054089 716265117 451352073 225065201 398720337 380222409 435075347 726132529 777169379 575705725 472392605 189045735 701159749 195523261 924546427 496095755 748446045 241237943 239050221 822455865 23208447 639313083 42176153 226964413 140606945 598175301 420335241 47626115 255385001 975620857 493346099 617772325 403529947 628890787 478142839 210833887 69064427 924293429 156947607 395897243 509902899 997146057 846966081 352837093 168578289 417676709 455686795 196115703 524114513 329892657 477449969 129261233 918402917 362356997 592557403 144458135 73615395 136680663 819989525 909970907 911940719 468459149 803142609 828668499 417290003 511130931 965909681 875065727 628058301 529572859 779968823 196367493 133754631 102715201 22966611 305430583 452325237 988620165 820838233 985283081 71133293 461660279 784721669 603533083 696623169 816897001 64345725 594536245 689680429 672474323 417701709 878409157 73938253 361732701 315067247 731098341 445714865 760088783 256023099 365069395 899255619 326805661 435124089 186273907 92162275 978695521 38415957 761776985 969561933 125355745 86557285 664836027 551970349 435372039 739703461 760217079 689811733 705828839 298998395 489509651 899269243 982604987 687511223 308500931 824766659 802221797 328270985 39277913 76190005 317185523 175275667 383355607 91624707 477228953 718825943 389606373 270078021 769470125 79795395 107916239 407865597 175567929 56733231 189566095 708019733 476108387 660017749 459127237 496384605 930878335 216090585 432320949 852433809 23454475 696378573 695167057 220374861 396700329 656801187 93357103 877274655 398130979 95636537 784292239 678404727 724515183 315557077 801514327 686997421 14750629 887847715 253301785 20310275 21195785 72221495 417780999 219299 436993543 810949777 364527367 221332125 800488243 317847319 201531803 614383083 997099079 212894739 536444915 958885743 197911079 70115643 30879209 438397169 208718559 938540975 214173945 458843683 291741343 522871537 594277197 731721117 7893189 306746351 966380211 751841761 107203797 595694591 856129441 268187735 867197303 134083551 306183737 452984917 187378049 179499697 62115649 60975631 615615725 649059079 411490087 320457639 794207711 548589523 634653445 695748137 460550051 33687409 156219287 5900931 145009067 346480299 93078597 304613009 763112081 479902121 96929825 416866835 344710427 616273157 808466143 980183475 219754801 478155961 238502879 181652993 834959593 922803499 433326891 765174391 266859391 737835049 487606383 544324725 966805075 215435239 233967107 620037191 816583155 452939267 892102117 372146715 77195535 275649667 3065023 492553485 352707463 700743891 223176929 976258589 589875547 196100297 292746045 65198389 452263349 665455523 143317113 216583205 13565933 317418243 997648855 364094887 437550201 836791801 167093831 821998171 168398337 271634939 213807971 674053579 640065101 368678373 405356135 713433963 623885649 215255291 843387197 851902865 715498023 837483499 632775027 343156861 874866709 518246861 307381055 168941917 444697477 632298267 867280003 775873343 190505227 653328057 187555781 24231451 231876703 824692985 71508787 182900695 491062633 556958861 84782501 811072311 797693233 579626387 534825883 596782831 135072491 152726673 245674045 643263129 83539699 503583603 509879383 740426677 968974283 148862605 770109795 617602219 887541535 748485537 385628289 402985935 881221827 331851983 467417461 728052313 22653871 375012263 792178609 485442409 116520715 85995551 312025419 879075081 778562847 97269137 336338435 825009963 744429153 922282437 607107135 982773929 649853031 982078951 615401999 537472065 519199483 686179213 384564779 284853153 52430595 405234613 149058801 5891669 123530645 239395779 218276201 579557595 230248683 394254979 203186753 526826385 920404329 699548461 567112403 613131201 39060633 152271453 616093723 579806877 328304687 168348439 41206723 909055551 67444487 947702219 716332825 738474661 640608293 934057805 406185491 824975549 949643185 314435545 498120787 623840083 547811329 828980757 349363743 352084005 173808271 873357839 911163237 860280529 814955263 939316283 855217853 847698913 769873949 453063799 184769639 42399175 974552281 651525897 446996811 693285851 703955795 10378653 824915957 894522721 328054217 820352073 33330079 868589183 566934443 587987595 508761897 316759879 719575177 712141381 724611095 832139443 240049951 236519623 998536091 617427365 812441171 650200519 547107211 248684005 551533611 487843425 498478949 884312869 234098911 173732889 472728917 517166079 133772743 955871199 206742309 687365873 655780457 722181 749297997 637487975 148771183 365781067 488060913 72734897 991513515 301149909 412301777 978230539 55063833 452923183 724606307 254100625 668580831 834784851 987775417 17146961 312455493 265528985 113831831 875983163 897059517 240010951 365126753 402171175 699073255 702353165 272237861 419428313 279520899 354882047 44828575 929489399 276384125 197532569 80096043 36054547 645107175 421114947 772931535 14300071 613051647 876084679 727066429 162719765 686524965 654544987 356369867 369189797 392423399 159494559 768196987 491112583 416376055 516361621 170218735 576866263 235145009 228629419 932444281 996465815 803921047 893799351 780324625 472947371 503728725 77819639 228982615 315273707 53324223 51622159 789314703 418961163 616835405 105178379 223519147 549773997 118034855 507611747 884964417 722031197 922746517 747053043 755198351 572519307 183488011 991996671 645847423 887637647 241569061 340564023 681539489 949386667 979127589 3771055 397982247 873325063 159139449 918294243 818323701 71445175 691449263 181079481 152318609 888154547 738263687 682793343 404028203 985819357 98243299 796772073 882401175 512543485 569167821 240999445 135756377 906369219 130602619 296469385 141927571 615238603 33553221 71744305 153575705 534400405 714496175 323497315 85718879 125601419 292827237 64198109 842468487 585614589 791187003 5737665 72450647 295143973 517641517 608570273 381352509 234760995 718108249 166900333 97669713 583397891 839718929 851864199 562814035 420719283 837659331 71032753 440652969 206094863 17669647 147409691 192949605 638234327 245942195 659432023 95982395 411988147 935913631 566506085 85126795 538972471 278301667 773759657 515335773 732739291 724439995 77009393 14650721 372696575 920009867 145542513 875416301 151344623 720949215 899769287 121476609 218016729 265380199 786214393 119122499 187379161 900427779 996138611 423190787 266372079 871250609 482030091 972056631 634537219 248885665 27166461 782920577 96299497 250751267 156310511 43429671 444053081 507123381 979056879 428561689 458417651 525902327 429436531 282214379 325025601 604954039 583734357 225152993 402740917 699202789 654907615 539290077 209853353 145119137 533464505 476212851 377742173 924619819 161672443 316987095 850994169 101204461 721501219 820743147 870682001 365556351 891556629 542014771 783383323 613153431 120506141 576586723 811033981 826512157 974325747 679051725 541446779 784011289 976928435 546073715 125065673 475418047 318278881 9633275 633330689 640431977 324193133 60658229 624241057 585161373 803563435 698424729 340100631 480082437 363880535 278706247 524589231 442576501 503443607 939171075 357852583 859390951 515363577 523061311 650348829 699868285 891614833 637605647 803618331 238678917 424187231 359774263 909832083 74846321 447322245 524706075 986495837 177497053 45444113 83582667 34791229 78627467 84753561 158116607 196228569 638938215 940912665 786280213 193743301 187016581 708586745 942935317 878949495 562095391 62516995 893832877 806524243 86908569 508057199 814341685 728937121 202959485 346232537 446374319 156703379 196663167 492031557 458615229 835903041 566844283 378720803 785077427 153766575 377456755 59798085 957968773 904164291 245851541 55889899 767629525 210826063 61676081 892802233 542238697 771472911 747004099 29246397 307088303 859125407 334180845 224134251 685681599 175804047 171430783 230136737 515514201 11757897 213939047 81997477 974960739 634773293 257041091 384348195 922331245 907932279 262683863 215925553 169102767 64522835 124078091 741777483 28074505 977691089 435471093 658702935 562958847 199804651 479028559 819157923 868333505 964277635 717651199 741561573 32237609 390535265 134798091 240735289 27180981 368087607 876563627 763529251 335234955 650119325 182288951 81118865 215789179 672567573 352710197 709850073 844821499 187565065 877734477 106383801 457693997 378421193 910938197 742421077 377078231 801608593 812898633 383392057 797927783 748451453 704064585 932831325 685143543 415833755 317664673 412935965 466014531 665088475 239228359 873581887 915886005 754303253 907731541 593547247 649818971 227896587 426423051 623897281 294229227 29634919 275587289 825662133 340276421 773282745 211546831 231591729 102897651 666788987 803171627 820738815 64994081 413130255 206280269 578199893 777967527 309115835 232089539 242043089 953912965 500081845 970235711 393482361 822228321 970447635 931418525 259072697 419313547 727569623 181719007 729486441 243147003 237233387 453734959 948549057 642957137 350293023 446825701 401622379 80985809 782866477 304246137 408019313 179759467 558067381 684964237 495552587 375551417 335849539 938127855 76136917 972680697 549347141 392186257 125355603 405949713 724034839 67609743 307121525 873631633 153763065 528496939 386530637 216186543 422246165 800727761 59766619 97985869 909179259 951473429 732718979 864397553 439952165 249731249 890438931 483677385 766547187 143602311 307517375 373097647 463266479 95263397 727486117 406900255 717225485 230979391 704631627 230960451 698967459 546894251 245595293 460187623 445328883 105822067 705821169 392154245 965685861 880964413 54534659 93461821 616098893 290162655 399354875 877505235 278108643 464510803 591534691 100549049 459655495 859291067 20558897 178348293 71332227 773719655 503063493 487388023 68315531 5075653 746345441 948513399 818920243 753207667 928910003 767808273 332833857 47361845 658422995 300799 155297117 188144627 922320955 591182239 402521365 597094339 591920975 762055417 523618023 822370271 92505569 681900221 170004017 817942443 393189923 658873663 15304511 56662961 698466739 613258371 245937215 374707879 399377047 804785965 913255499 270611557 605834297 643279245 597489255 638367985 248334963 589690521 378275961 159043955 431175295 490707699 953157205 139723073 821187587 270096353 205049011 308458199 5284365 832670801 236332595 806938325 614481427 162901469 989902943 249528583 446439663 35944385 314836649 723063139 370121705 434659813 649285995 861670145 77906861 213613531 246614755 37697831 850843473 575194071 376366655 348194879 42259795 106131899 664648331 559782619 329445527 546769931 657997765 326656185 99322729 819202297 467985355 727705529 822017153 939048283 109499239 383695081 480153083 71126449 131448139 273172345 429415515 570260257 725747471 835691465 606569361 472701 800919607 458453593 816336367 554172215 911023913 592292053 832178997 449693813 792278071 76034831 589900167 104579577 454606493 433315333 995097203 545698099 269779321 589841623 160343021 376181821 131581653 985618899 813907283 212132051 82045091 329554795 893585515 385506655 277504443 364866875 229477473 484168175 250933471 969569541 837895371 197143867 30560185 360842677 197514919 729635745 70011355 274291293 94739287 997728295 195740091 673865019 191478187 309525377 704495549 194591409 310972121 323736321 929378601 430765641 536539005 672363945 677173041 236326839 673108123 893115169 39783917 702769111 372047521 459441845 914908511 25026475 576198245 879019103 511136881 564733279 941076005 202661823 776751603 323099975 151000709 563177753 990388129 434041053 857764755 71136351 228770583 245577157 556859331 919384103 223917283 751908553 248989939 999143601 98768245 967421661 793710439 798630627 639289381 701449245 681399503 256566605 843592245 235312843 545630527 913555239 323981775 304895061 402447923 462688079 805610243 461268043 306776465 187933517 679882445 991627625 703159975 575133777 298207753 745726611 195801899 672242225 26521221 253382099 981230647 875574379 252857841 265805149 943697747 968844585 110373093 50135695 916301677 569569849 509423587 438372071 930219991 984519697 831120981 351258387 34761039 672352979 450878347 183422441 131130109 747605317 14800319 664159071 678427499 733784021 458219793 128204187 44218257 38372251 512461453 510412775 617778635 653931865 369130787 102915513 666329821 606401649 397032617 850458025 793164023 656245751 140777701 449975421 790322861 906815903 148042367 862179359 736198651 52724937 107281927 39956641 578810695 214911359 591746295 809891135 713699423 358218091 252526257 69429597 669441399 885700841 699675515 861630343 724244013 58998263 992147851 368649839 297012871 107194683 719340021 737654255 726239729 505028871 952894911 464281613 755928641 461686349 300263633 721801715 396638387 753836465 906323195 799728371 978390767 340485241 658466551 429869963 150772735 857381269 155215205 453077595 434343259 628440731 956655057 69748529 916495325 700364489 550786473 429332479 354858703 393752073 472566089 374454241 593165529 337505257 358608625 875624985 475592979 984881823 298559945 281458961 779931131 286264845 247717093 742299489 239086709 876303033 850560573 493377729 912070863 824628945 484378545 714904339 929698237 961371437 720328715 962932069 351567709 284358733 651062271 599555817 929993269 24804697 615585057 851572219 213953583 915104029 921763575 317211421 630316965 904503571 121688039 794677755 528809553 319363675 203411013 159283817 698191451 590353081 308132169 363145057 82683213 374812575 278708755 601539079 8531741 366049059 300423341 15911589 151055659 120323333 712738569 259069871 616848697 547986859 582049281 663070913 197872245 620379941 297696341 974312349 651840117 856729643 744299437 686383 897423927 503595291 137624989 25639051 237516575 170375933 750263963 242538987 357724665 78563455 590186251 448145843 827731965 353681147 462666805 53728109 101129159 109259629 895497037 134478031 419103835 608165247 203614311 95690929 162115625 692289663 576518025 172844055 733507075 654810723 849417113 709161263 657721897 920187085 985229161 34596937 691520833 124942339 954419381 916211937 806369619 112596979 238046491 479835291 74318043 163256117 829109029 488172609 124128177 440249865 442973509 956972233 63802909 592713559 95331027 35508811 898371531 470505899 133216531 501529357 12852945 604866623 365830187 311432823 980840107 550638067 169144877 445811743 804084033 920401995 468166165 729984705 667786717 422954617 404853439 874193213 876271671 300891731 131712507 605439905 861974377 360956247 860213107 483706397 567645949 198108591 249258439 995402769 963279835 89848107 471382899 831630587 671960925 993401405 699089891 958179211 323283003 609770761 488857703 619846801 395276191 681891413 169918779 112462347 135373845 134743185 359453309 405593113 126446737 240089809 726265143 920059913 794052465 922244569 117000793 494181709 68739451 473219853 715442113 3051135 851025627 173825915 223056683 708471397 6455847 807140063 321356611 229413097 99206491 832355987 938402457 699391519 98211037 8820899 112329383 681446719 984874107 865119931 101249743 9055665 346086507 393125683 331351385 644546045 892924487 188874763 145890933 643801303 354610199 789945835 379296065 169243673 517520201 199457567 841821881 691744201 819322799 535092897 742960841 222684435 995975815 937832209 883199297 651454789 727659897 724971443 438868699 339536607 254056849 574110585 155460151 600530563 550466115 398224889 673932513 423265787 942281325 285736049 356187209 250260283 304091475 165788875 423548103 634006879 352924069 460173461 94945437 546074537 699008629 232180231 817827061 970895493 217070147 246542591 180537567 218829447 645116405 857900549 820164181 899059561 445705171 8374601 186377527 404534543 357669017 701088159 120751185 809001603 720214111 887822729 839398481 974143737 233342381 640656943 530750163 975247053 762180207 451722847 103273815 12482179 43226363 480077711 459850311 833002435 596683023 123366113 975585267 933046883 97284301 925634075 332304277 345490781 974088133 558048427 132164173 642765781 286270445 153604777 260646951 750674965 71019169 844353493 415913745 437498003 409149349 13403797 979460071 125636839 901315625 924568315 375104361 337595605 527201727 430640059 536129343 702722379 913154919 426135861 219887869 154445145 943893125 535245425 78183707 225276219 268532199 814989855 650294777 480915285 465211585 514924437 915900131 647791411 616026545 601582547 648538375 505526407 936678333 538317951 596354689 511010859 887073103 830488297 97366353 886332197 765613889 598040327 543291999 995194781 164129231 236705915 189867135 166463979 282734491 474615179 478885737 128284549 402775221 48794663 478646461 969453073 951683987 259278563 737485061 859252827 923933711 116129281 892181685 82904405 750006385 308836969 309791521 767182105 912264807 832351401 167367055 931434989 212882947 609619959 121676325 677944635 567560899 561541429 315969271 415783061 978294927 335998439 976367869 455569593 153348787 61514559 954131735 319164551 457841379 268971797 554176783 617097229 155356733 255813861 23857303 406638461 629766725 367114455 44682313 268202035 205006827 774376123 333342371 433971633 66470019 60405513 889549587 689584803 10716361 903117281 177506533 646668251 938216931 568620551 962093143 641499991 932318303 657648621 463279495 711156537 592481585 929639079 638191999 924288203 940590263 296896249 383029553 701675905 685973431 476711495 624629879 563004407 326954589 540480417 879402255 595762415 814338879 294084799 310115237 967766613 739645531 26785535 274565835 949190203 860964885 214948969 390224887 541582303 96062521 418408107 239265933 864967331 156604671 364970013 435122389 831205649 514677249 211320001 583841537 845552607 534447433 221000505 147395115 465248485 59347519 502565849 353003345 536212519 467868349 535921557 934559327 657886929 275486717 356204815 651948837 434416183 533374373 141032843 427860063 375305427 917177537 99405307 653714603 785307977 101558987 852540407 347207571 731450211 136901787 714721979 673607305 131569431 928497015 726767663 396515301 66959741 561426447 612076003 21823465 68911065 52074359 353157135 468240319 93724313 106951213 169586833 692168823 525762637 395436307 632069619 396949005 93762737 301196409 486258783 743479901 121951657 371470101 285720241 175832629 847441983 992649985 385857383 674792517 603827625 298094789 664087975 888046117 361068095 310705231 26024513 290584921 766553223 116920305 40096939 813665349 574105131 157398891 11963399 649012545 69240573 250924257 514290715 233496449 62174201 281263071 393379925 543385639 47255107 715543645 472900815 515823935 769358887 343542711 242166597 364454585 122904087 959442355 848185377 329494381 304137645 395180923 979520367 306784797 676049071 377282217 808264683 489505907 793656327 363730999 944772591 968094207 438026439 231080843 712251527 672615227 516112171 996061555 277331551 350911625 664249753 311461157 656642255 972888369 167919001 363019067 349718743 827386467 638509277 803890365 277584413 199255099 937573957 277636119 740520945 859886265 35757777 416178719 91035723 219206855 468841133 615908627 268775115 53626165 792450603 824932245 195985845 975312829 907147977 199552951 897851641 720282111 725382185 41975275 55147313 492519047 234790165 352746509 359614619 772151747 685428865 348722279 10468381 894894863 223170183 587405473 375678023 865306539 89125229 731789013 781993039 53528513 311331997 186989693 720300823 968912225 2573739 222913919 671737893 632951685 106905937 181665063 969488551 58539277 839647859 722415919 180451447 317112261 673770267 138012847 397215505 736540507 566690685 515565359 510117021 111631467 862702837 522814363 881060077 974397813 113454853 512098119 771882101 928142305 351547481 19448053 514739543 440227075 270038981 968133061 189579351 576403731 13032259 460911175 672881639 716385841 153054967 620419441 197902109 371225449 913125931 756579231 857981113 594636713 889557589 882131861 549616161 651967181 102464525 355509633 609348199 646244499 691812375 233572857 476177215 724682665 402543711 227513083 955865609 688977053 371222777 559429355 70362829 559048935 483888927 69955991 387736891 776178155 843193909 133551411 58454439 622734323 486637255 962526045 199056917 59634989 187111301 508831769 321073961 971987125 104517711 751557847 533113139 811871113 112698147 312290155 322947369 710850967 473929521 712213777 697474477 797443243 497232841 551866735 167425541 105607555 343424871 730602387 183019295 243072189 682209455 387714289 265203349 456927715 413755245 116063337 952370595 741678695 628089235 980518717 398457393 824061091 250783803 785257499 797653457 523036373 492208811 56326169 968885943 478837803 906145611 504937397 520526021 598181809 6540467 241134545 172594815 386544485 266780825 450894015 279681047 262395685 930272483 407063345 266001507 136193467 163668637 665401155 247746531 841709017 124736249 56246143 105356221 670587159 263012433 520559565 558256833 715857145 872098091 784189575 647358567 568308709 293861169 12459367 358559693 710154797 788635703 572119699 225579709 796000013 594128181 636837273 931605665 51359139 697594707 8887917 190752661 356107769 802252503 818414189 155614549 590129665 652777017 887869791 140943947 167912595 39565587 45967983 548988549 92811377 924960551 267729203 695082171 682337095 118922081 269236391 652721995 919536289 783450837 346965043 402858299 454405371 168959421 992002721 87519037 445152951 739371643 445970217 563716777 283892509 609334429 935021157 759120507 287456607 592476629 888836957 285504605 969941909 114036991 265068159 554189211 952639425 220111133 42486941 990551087 931337933 866554461 572300791 816485817 433989003 835534093 89339697 946242685 10584497 968157869 138728535 952246381 849746659 436970719 571714017 771443231 434191783 443788909 15967659 59305427 405219955 644572747 287539195 475623023 711614109 130172565 261039741 255661187 364920681 797101455 607471431 800403271 419902203 116580001 635024853 73933209 446352235 63730017 494744077 99454209 671926701 72842889 376129341 839655599 767785123 144532221 41424667 122763897 249262105 569911495 918348993 785119197 826683839 755245597 481482167 913751813 432571437 472559191 57946345 641788863 168680933 605443321 227804077 26814081 8362577 269755057 942729921 330640237 266288833 695152207 375233353 929635657 764241775 797995983 484181457 193068675 711336571 167144789 218002769 148907571 913258737 334937133 183043109 549884185 696463809 508392903 182698257 978595485 811921091 251913923 244683333 207550923 637487545 167615967 684376147 834829407 492575051 669112075 973615419 383748531 503146509 386661975 927727969 543865809 216299895 112535297 889671827 237247593 117653227 40281705 812528391 743946193 233150127 614587675 220107351 428987401 152652537 412463565 222033035 586849207 579853535 974936665 876972815 623962923 369602915 794618561 175023545 990137693 533303405 756565039 145540549 643107051 431700945 986538491 801366747 368938781 287505479 568871579 209073669 949716707 693073007 806224567 700463801 623690195 151392725 999184405 995506135 699366187 786572775 304783021 263404193 875512021 773492481 899613593 850914247 465646687 508637539 592765467 975580251 285445631 916453941 193012895 247835869 670068631 471490699 125317559 643328049 628200877 672497757 844725025 288853155 333696623 145898379 843382975 702942957 266064565 459026655 90339739 408427303 986046719 952787213 72553193 669578199 689267829 699283881 813523717 244283629 541622755 147435577 60065393 480871101 548637891 563800357 196939481 657445123 271307829 342565051 870782479 137831397 412221949 788633145 362031889 164435697 548207501 422731453 974899457 211054621 49429755 218859601 878102057 178079939 930214407 900126441 203908349 215191211 736128791 536533849 742855449 650920195 993781307 739760231 799555649 614480733 929334827 260523449 753120605 311582391 485072197 18149091 886761859 520945273 885384849 730842715 415683309 711535471 381073085 332898949 816488445 989107403 734690595 304718507 915017795 706391343 988064447 452600315 284744045 322539935 524045627 533006479 8223833 792273029 915997669 760250987 647489035 582310587 576552627 479154293 162106539 682514555 483967815 236230015 177611407 870873195 96234471 49633093 656864561 865443993 238318721 109261669 923317813 998095737 513238957 288038505 885195879 521600747 496887211 229916867 809207991 745363759 126686563 315000779 632075589 351344121 283897185 768421061 666840655 398952281 886984415 874792407 398672197 549261005 35428029 294328595 278025143 680888381 753800831 54519157 330247777 781841139 569860951 718090203 740720167 59146917 837637915 906586639 568374549 146981491 25576777 837875139 261325661 645854687 339080715 675895695 19704921 903922137 682424625 148180469 816340367 704509363 129320749 248866911 708614057 675902509 971570723 812369951 736307577 330727019 228980441 943963499 685915899 357695227 256033215 337646695 10509397 356412625 361110505 740168219 498476749 993664075 530207259 887926647 240040411 154922543 533775287 874176601 40946201 323146407 957211089 553547389 231415369 99051085 35431455 817171087 62716503 510978331 638503933 44199711 496104533 750788473 950032759 327842215 158428545 790089009 174868025 67850121 709641531 70389881 857714843 530494733 848111121 582184177 922687133 140253797 243478197 61115035 237707495 733516969 474081027 909923557 971382213 704523483 154432253 109177253 354158129 820797669 479050703 435528729 839513291 82420887 879231693 700721637 503377623 696034475 67069039 308002325 328300359 309441987 349851997 953115169 380865969 254905189 945534815 64404197 759030611 100328199 824113769 442298279 676825111 739847423 638301591 228645137 287938443 424865167 927316523 4839997 181286375 994243553 548356241 13262757 912578825 780045573 144261981 805413935 691328889 174097141 115484745 580507689 977408869 443525521 442099001 898220615 495047591 388994469 751214391 202814633 498249915 225253855 182003065 692339665 273392587 830788059 545044055 456637357 904587685 700055833 559930965 223288467 234940351 538208771 187493663 87970367 593109307 496177385 464216201 154152153 260215773 459159301 434834829 170154987 883098393 420726647 680483663 708047725 754021121 37574219 484129819 245281465 476287831 868013423 631486049 294380953 380756609 84777407 532577215 250004789 906886801 830794235 692569081 985820455 823691323 46855629 811112951 585348201 462360543 264697027 582791887 784953441 339830405 365601627 528409277 219565019 968010973 9579509 974652449 453708303 271187517 918903255 837125767 464156057 159772067 222601781 292060581 646563711 230768825 609033513 406172755 574560813 975003343 904044723 425543063 784991865 774264279 329977275 900098971 487782047 319651189 661687061 959872689 323777351 610853359 662422137 17415765 405257851 706951477 738513287 382432813 290399921 569585115 336867531 905714431 678196681 578214947 792816819 756929987 634344965 869508853 29500057 493922451 748527891 204675807 805820353 430533039 637730057 267979031 140186707 870741127 468353893 830851199 55457885 592563373 770468363 824754331 59107037 255986393 123802695 280204445 312056497 735182835 640610257 1621085 401431971 31638019 24887237 366885207 352456037 504591675 938590633 192423347 186000529 715493115 456349801 713391425 381583783 630431939 184453465 918199929 16173583 561838399 245563705 520658299 932239643 996780355 168093997 540951307 620880647 645810887 577313731 463516057 891473905 918114803 476737521 997971519 773636835 241153039 521522705 940459963 407194831 34689679 407821035 810408307 786990479 728322063 701013675 463471735 349614305 862352721 451666407 508248191 559776625 655526977 214323869 852240105 995577809 629384435 965884207 616585147 835029367 273118881 657988463 852826281 504945607 396228783 705252237 29045765 616689417 699615655 516953387 444630995 724516719 771009085 353366603 138287797 751885843 827665997 815736925 377731839 311665651 724404697 380457779 286997413 37881083 355417615 214646285 147208009 804449021 650738237 121497743 93421871 80378543 450496739 763356103 880780361 435770549 515724451 870546217 542349871 559106199 230219081 351199123 20134939 912196039 379323077 113533003 445903355 904091805 910801973 828479997 81225561 415048539 71769309 81388991 119863919 311803179 675755813 251240461 225955099 30550303 335675811 22882767 818407399 837334317 124911633 512997199 523828989 551205177 778650195 724988739 756132153 265865227 807742837 930710475 14681881 334192723 626085543 130611049 710371267 427810221 517781577 393180171 269076487 674825115 841500889 779083273 141128027 26109571 458209287 131420443 800072929 596858551 267213731 81061739 661069407 690055537 981111465 271218309 679716163 54305235 533292095 218085981 124303783 422636515 807042731 725745745 447942983 764450199 860196965 870880293 706335885 317934533 636850949 424511753 846238085 15830831 417822289 471153809 165246699 249678719 885199155 624894393 819228441 426325573 794835133 460959719 951190299 728415227 538112301 174420969 162902429 628995331 192470755 693861107 740219895 806490789 527813485 495375269 561241897 83757073 749954685 674435329 726559449 936273251 433668333 937854325 504432727 112500891 280069059 791452631 641673627 926617251 562964777 241489507 825304131 88144459 692493171 224959937 100249241 486907725 802481689 726078971 812692615 203961161 500927171 929102729 643706537 710321355 823018041 305946695 713696061 835016259 84505967 165707897 264235305 233373959 257681537 954300367 96007931 914147421 516840881 906107483 583803887 333552237 405796459 343627165 430055137 338223943 503303235 854624121 155699545 299295717 685400561 641225533 416356485 239311655 442970205 162926237 664145983 532072153 141282191 225963191 492603907 838766249 462596539 450981137 722414585 445452083 290005053 541580951 318441971 693006583 951175833 131511455 74564709 601962845 141216119 639624677 547507057 614824377 38765483 791375761 784274395 455663171 995483955 591173677 631362069 725805339 673781297 292915889 715453237 551985485 38719473 153516407 177545211 908118471 511001571 11279687 57155533 83006053 151782565 500040271 195766717 69959399 896948473 287739681 816308095 36541941 371066573 479052221 601365619 88513571 223900721 141989511 935605409 637515495 157454433 811781963 376688569 295543207 332433089 447306305 960623119 509779623 790172123 522327813 623584679 885507099 926100069 287973789 175413541 630758685 540900919 101062517 116786393 42377899 585655639 355702881 664753081 246775987 277649645 366235553 880044135 178891009 676038735 275626715 375411753 515911251 482473465 844274969 313980909 550807367 175833227 818373585 458645325 421060455 68854737 348214755 773574021 387752485 851086785 726299791 299792509 404604891 749087091 742920329 576822727 269280969 749857837 722997473 978808215 204984343 97006169 483683861 92648399 744361687 590005385 181636877 180412659 224838917 97697401 464970771 969502517 632133759 62130703 385247199 335964011 277128719 380738641 75837069 980659733 250751079 177868919 100641953 687009369 100922657 602008283 411691019 341575943 410717115 831819263 829008671 56872343 477315233 62162831 576493977 821645607 237883941 946009437 147933599 869250943 91016061 168407143 515592381 715733519 559201229 142786509 979622637 574098157 130751773 492911069 816195463 2953175 96794975 253890313 329982035 519315255 427224427 383421677 246726781 2975515 410795013 766132043 662045083 515008571 524031699 847173391 506791593 63786227 147140455 156833611 194111245 899530831 326299195 354233917 194858903 203972859 949534641 587339335 545168247 962068049 323527953 538347251 679646031 93716813 759060877 153902069 381065249 215907223 417371965 326045225 629782107 431364225 949770789 237445265 964250325 771446783 909419307 152752473 98084297 707761075 830598945 564044501 152973787 487204833 146460097 214170751 167194909 933745787 217801389 695023097 325867521 153375767 274297453 911574547 407513701 997272309 486178673 698323387 53723791 165568507 313512215 26225935 430796843 761615289 655663259 885205073 118602061 18592103 239321129 106014957 36503413 418023907 567818705 405758071 595057289 124699829 996290701 632672169 142644691 277465869 255350591 829527911 754524425 528940735 225025965 247802301 334205259 249182031 130498957 123027163 726149147 822947041 971670389 923647519 528177255 986021701 314094567 291136269 871455621 805168881 905515085 319439949 438533683 503200263 366272503 803368117 617585043 79729485 716581151 512101441 559565879 618688817 489691623 730687761 850213649 934393035 930686805 356862577 596706941 861507803 930545759 477640151 888043845 66394313 243242203 198366683 323939217 528222625 13628043 771791683 494041083 278476575 231469591 790166519 703166077 496523933 589537299 128214031 608434557 893219365 329033207 510366913 931334857 167666535 602309925 12147 887752853 460781241 143934947 499700913 48495743 823062555 549540967 727369517 796402829 991745075 512254407 578358465 224825387 358862673 984707333 847514483 512806703 266090093 315249673 297607789 606297303 967006245 313999527 768388865 767507141 479217089 634391959 394719149 250642441 958895665 890644345 529865489 15073305 434037513 104919001 896301307 47808465 386654093 528244773 770476381 499183733 249955233 304927929 815323985 145397939 258868949 73719253 226019869 959519651 889017183 446407329 263582763 192933823 328830753 670497329 406803471 370251243 961467551 455626365 178289539 716138617 806489613 324553061 161955433 463537691 995615293 277239733 460444111 424005359 685941169 2905627 818500327 871914875 723389841 856177203 836911117 360944555 752228521 681348987 919418819 233276883 964860531 659677281 709738933 984295861 193368079 488461617 946775479 87187313 673907009 708503849 212677827 364799127 332740475 878164839 155676155 393381661 351389395 125197815 766785453 24479837 43765511 368983239 844886605 329828895 528710787 962307249 509070707 270893455 72791889 239655545 418832099 261114947 677327403 892432325 908576137 720278329 918248303 436600873 339976825 99462613 387102757 172327963 636027373 501209315 602916603 666798079 595312201 884998555 520999755 203465503 77301527 88074905 232282129 617384617 857644045 543896289 548559607 134434999 666534915 170378979 717111115 78124365 361297405 998157171 580489475 364535121 960042537 703009485 947325377 739344791 72718549 677811095 869443019 931414485 804262787 558888927 63446287 369190319 639348689 694890009 409007653 400752045 887139467 656425507 207307085 651386433 183166119 464495683 330778477 581966533 260250685 523138085 177147159 50485879 694107539 659638751 170651007 969002371 71656977 590876911 243145093 756833275 894482253 875992375 302834355 517617877 91991043 789010951 916393013 163459829 727605011 286114581 114935265 331974179 280673929 226660221 688134971 869017617 861518491 468601027 691508327 199086935 514387617 155191767 898035509 772556919 62432289 301507083 150043677 32683227 446641605 943930911 555494205 219879381 421696607 343847735 534129501 698608027 970913261 262431711 429427949 889012817 491894927 14504719 309933313 980823807 420118419 860244773 475796061 11789463 831731307 80953057 454741603 263814385 103897521 907680885 58107943 176756687 892316203 589041781 5607263 864817115 354048963 595794653 482079591 882260901 698450059 957474325 360044619 982260391 490151361 247760359 879151543 704107075 669699271 19297417 411253251 470990529 957934117 497033627 790627119 708801619 33625749 160410399 533537763 445578257 552881643 777207939 437167211 573091581 219379247 302139805 335061953 497511169 705357963 680548267 910034053 24156141 520982099 482538065 769900027 624853115 767737857 53720731 419987221 807567693 488156215 960121857 956789607 901536233 367547587 974622559 278991925 202842565 826315161 264395257 251710819 386781495 60211665 741629567 55803521 800518273 442202287 392258565 206655943 715778765 565679775 813606663 75357459 84234539 295756853 617525867 750831341 205985173 39788843 728682623 279674755 845066219 376776547 355972087 790715311 755366649 385885677 132404977 183033325 564883311 838747127 344726003 284339559 246973669 370339807 391804137 935215339 358456541 69687335 815538729 432785391 427115455 561647741 97515377 793539989 704825311 324790449 612756707 697461665 684975221 200195519 480020497 376879493 360588961 399635659 652694251 127374681 105507439 202500639 750471379 796623065 270434767 325827121 519115659 729057901 467295127 868279961 943278659 605745701 330968717 785979675 312236685 401297595 832242777 159414437 254626665 959194761 872602251 786354247 615245371 261414553 536475547 220698685 155498961 666428827 934243311 141932779 402291039 535961317 634598603 504090077 402381187 126519669 315512677 293458627 939961155 127018229 813319121 848432765 870161675 656707763 354353685 195702793 458880433 439489191 174623513 615161751 294245233 328339055 63168427 726841207 470595313 58347091 398930825 762882855 734046783 178149953 833796177 788469831 650983377 306909907 889372303 182141349 87663489 925315141 771906737 492803123 614930841 793616769 188584979 170262539 537758145 694150421 774535155 10622835 227781649 223293495 959407231 623112149 541637639 687527369 863221699 2305219 912981383 256253263 736861885 936013563 463354333 940877819 191644235 90663773 208893121 433561507 141366327 108091383 280408399 604764615 231870517 183456507 14544139 529694863 450256601 170396613 694849765 971136967 182614697 525523415 429943345 213581289 355257611 212699101 777620907 403811091 624620883 992816809 9429625 926658575 621879223 657747001 243081001 461484359 925712475 457963181 983877807 630867415 140958279 91368275 854341483 409438333 445618285 609189791 314874911 663941279 158503591 503309351 537483513 58074957 722890419 32940979 72727183 94586943 102648639 801505839 647511261 656249041 346873559 10420137 482354763 219845391 604074743 74204513 943559843 309349031 296363777 331913401 47243293 476722669 888588095 763004987 931344981 557234915 863656413 662596763 404033359 230511153 36321275 356807605 719771259 908048421 838405269 89044365 575577515 180083125 825313687 780011851 148400671 886451075 69992659 965286981 518716283 445800147 52843775 751976181 446991565 396205207 480496831 108867071 554500489 519273573 718404507 615021357 734229645 724569981 576779013 468401267 614500639 444356551 536917333 373167855 608710635 921262799 649493709 120289759 364797447 20512975 318481047 493116337 971828207 156618149 386970053 393734393 635176073 690517465 657375309 233762675 395528227 488308123 65190931 853586687 389849459 969909185 269557727 75070121 489482901 788874443 257301601 437969319 410810893 778542047 512639799 340077137 265745865 708765645 379642845 488342829 690370591 101738507 139608255 366617571 698482893 773929915 599524397 453990985 788866039 677914275 9720673 454549851 534966057 147631153 951416189 730549305 900154459 678901375 198944393 362937137 585552105 241480521 538360949 537179827 869714073 958094585 144227357 876436063 260509847 6261147 90764867 545962997 831759991 910439915 369060491 918862431 631393593 387375171 457758347 385368245 50626115 493700527 955540667 575648557 982235743 384739035 859728765 642233903 477050563 899811615 403784729 646527809 887783437 739087739 635461567 553944603 250366275 518799765 8639627 32921495 871418065 169358013 623677565 902882999 783062415 252924651 949560447 507286439 540515253 489509821 415322465 371472057 603954669 819082107 782171869 919388523 16549953 229082645 254182037 35227485 841689385 585705505 575586575 320483165 287456897 288578013 916807873 540810333 583833741 149626931 678695169 545748601 31965437 647192497 910373649 510931955 701053923 622138255 434816281 608536119 246408895 977579691 192215853 242507993 332118901 444636301 545272901 505797267 419196243 1932899 906148673 80245319 785626637 261126149 267841517 578256901 165580993 418542325 863500791 383202811 451503861 373267797 751737851 67219335 559671701 275831545 595701369 191124523 947069943 993703509 742049499 886470803 205159639 883349387 376750703 985666963 745689949 22533983 424709491 745934629 586146323 616428099 538946565 19969901 108767215 280032077 125514545 513874869 561101137 394221885 660958181 326381937 527274747 388117881 677345789 551151933 441915675 23030547 779900217 936929757 367232073 125766591 419142209 82420537 249950333 31866589 360141737 928911207 397583905 591578229 320560871 929482657 504210689 691726901 472114017 176114507 287062865 717971575 300428123 562344689 136025263 537890617 359181577 230024003 413205791 277259553 576002437 512668191 726230545 873696383 328744911 384120713 815808857 832266313 306786767 131389611 659234867 885770017 438914393 331813079 153497669 769617997 999009571 155188873 824483997 740351163 605573073 999901285 270639281 678222339 199271149 511924279 294543195 202436967 761537509 903257071 294411747 211419849 360266515 153300653 724797685 921445821 227103931 181207983 981075367 54709367 287113731 183981925 305364599 380910297 497322495 728121951 585861705 318637927 838978213 52552283 382007145 925613139 784619481 298157881 694113935 256268403 841743459 905367559 975195607 366244423 688690933 936240119 63036357 628714741 269019945 891027299 627231305 105212749 739340413 760013521 783031733 326471879 294416733 503571435 554055625 371755649 762068507 317420163 823047337 605644867 579117037 100356503 154733539 798841725 233315319 613407815 592495467 224991813 637803585 40142561 252361375 262985305 975840445 928519127 532954949 227611683 471005763 136803525 461938313 381259697 862286743 617500525 476773377 31356345 204485727 495140027 333449387 446811805 602212909 626489795 535379433 820069731 941811069 747258045 785316491 552115385 949605035 479205905 231562183 629135353 923557125 381727559 429150775 407654943 407039419 50358803 45228773 784810195 380042981 532023121 678776889 729145191 736042631 774810627 619943179 49887695 146056071 194507861 943201689 993201069 577355447 323084443 122993799 202332485 811321297 272052303 981154275 851004553 928712823 582082837 564326433 859471375 800881969 243254711 135085855 246566423 580763761 379552553 910878497 749302151 144972687 935045511 45026263 815141103 777262541 189873941 699758933 508388743 526596437 856979771 323613463 724646445 935045687 165619087 842555139 981958761 169328493 652977355 742716519 75254123 349150681 816810451 422389497 967979271 814021955 597708465 752856531 112856769 225059675 13524891 28388989 611910333 548782269 881940457 234070501 925897419 359313897 546945823 354762589 483403105 678508105 196178411 222332835 992197281 568586029 777777949 554922975 498578257 551472335 969712817 816928923 180764639 373999953 306753739 29645519 464503651 495751097 128470711 674781911 417327261 765750525 357052389 245142391 786784501 76435699 989993205 520410847 823779191 445120861 297428133 355560867 52382173 803572453 923601637 87797183 955487623 305334299 47433669 490005913 726963321 602068601 900894849 144532735 791418981 518913887 129523839 796508709 987770273 157559065 172299333 488207017 242085933 117927381 652231307 594983569 521785519 903488687 849602859 670848329 69508471 597822119 650363429 197476007 497664381 626062757 675919017 934323687 982952799 885595005 271269383 798608049 307649125 843072231 46549181 463212559 219844479 133712005 907950955 742351737 183384641 314073053 118448607 874351049 764596719 574730339 628062219 99844681 880284781 146800753 688109835 70649761 198075721 325291591 914867745 557629161 286634175 390531343 526177721 292790943 111410859 750478295 525346405 393485735 674844563 746426525 265937891 143933007 459823531 288014655 536975379 619345227 667421637 723640457 782801411 841905849 788944483 191786281 760170215 387249949 901945515 628979387 130026773 501138535 481573231 847662269 907602709 641444587 927126051 775243677 819833491 469844581 687638505 967451561 917292893 863057661 526356613 205665305 850249331 745864765 698461545 264887825 421794551 895591963 380766891 201727899 195079475 536393207 729692681 313239205 669105051 573280659 623686127 703076361 992533451 807593501 93056103 703943819 836941189 236580139 765589033 246691281 245765047 735687611 697172377 823266159 198230895 282335535 59067833 615174621 840243949 832520281 407126329 895707003 815776915 608718955 104364403 752769427 165782509 683758595 573414755 175221079 812102315 328421925 450456755 134523615 844750251 227610433 33294513 479495215 191920113 70594601 503840595 215272493 523449253 964112669 546590267 566627245 55016221 824135363 460836269 833200741 48313811 625208611 482714525 553358329 10407275 259520697 525234845 924411121 521740465 60191069 124648687 665091007 149856405 228719959 128000889 596217277 235274037 98164819 661285581 571423273 462487253 885966439 626329631 291276591 204615389 822417679 642709583 920667361 503132389 854431283 396370151 263237173 227272611 890586397 700454673 448825871 261009917 644462981 808962729 157505079 302151167 334619269 894238509 613369439 167893977 616771495 939787971 211803423 8317675 624164819 530627387 407461115 851597493 845962851 458623245 95889241 518313953 836566543 933509207 828628875 175917895 140413953 778413025 832095691 720626397 223211205 894337563 13369915 867352777 659835215 45654041 429564387 236379223 500254717 467918493 652393397 444818169 309606805 563170575 458702217 722278219 94108227 203566717 190278433 255781903 261970589 52936861 92048167 732379439 165901471 628033233 202559019 89248963 357147823 232530207 526547881 53479425 963218587 619914549 53521661 779683409 915221145 484660587 177854069 688709179 634860099 153295297 178638401 934004339 337936801 296443103 773771129 227973333 720938017 265116945 376682271 33596259 236473749 566308177 623519517 421502281 407094075 287196221 750332739 412247513 344718523 980998431 18570315 862090129 140225313 884611297 874713815 889328403 816049121 180607775 110664815 346139689 764333527 847988503 992340611 348962503 688412749 22565551 333699439 65233929 656741869 415503735 673211763 939762993 102061515 988233639 894609337 166454443 945854567 164634909 307369809 450109707 594689191 255139937 701542453 692997643 779983571 71735713 138027079 613641103 147824039 114527159 170455117 242702497 892336955 877645087 778338045 337466485 49785879 328655619 202404333 890510183 154182183 537622577 632830623 144016891 334653377 506791967 441280891 151773657 655090849 446369263 38459093 454865111 798934255 678768485 377869285 295328751 726541877 718993395 101312461 248978501 768813163 783531953 56801939 948587557 612595949 783626843 706528813 367359999 626582399 226578521 261168495 324468081 739976529 948265403 542067999 631664703 261866997 828340537 550170341 816787281 344259179 750435123 303058001 107761597 734998039 24311469 302091741 238817215 822369735 402444377 95998441 13916087 933955759 290936205 357361599 803569969 440139629 182113095 302576787 989289443 523399431 165759793 566031481 800823973 815631847 813266073 518154615 373948541 295930599 430934391 547709557 441246101 247528003 490062185 286495811 691888191 734475421 252467895 930886809 284789239 187898373 827442511 189441819 920744033 418702577 35346379 271777875 785560649 43661115 710569063 418384047 532364961 980695851 603144717 777483659 623049091 613666415 512318795 314823205 832272181 673064217 485120343 452350635 638454561 204655783 650817299 393717547 843920089 238758145 699484163 696817821 366933787 861687155 930738009 591206885 811769543 429847473 531420395 643226829 46532075 745463513 395442745 612278019 207225017 558130799 824091499 949011233 990947981 7452003 862203981 910850475 272282345 116658439 640051033 533048839 508863609 7562269 543646893 712668553 305512975 989017541 906816787 54808167 250611113 533444239 830711541 865299653 809584489 13790063 958253935 601871789 667477145 533899971 421776703 740431885 52981933 630676817 73913803 534674367 589170753 855525701 520770595 184190087 142452759 753512245 259715581 27764491 564354587 851453727 883631803 317660125 345435745 809134439 9365603 788586617 31255075 908807641 121396389 186703933 493185731 203588781 650527189 174292339 616450769 156266877 849480181 577523789 278282491 371888211 107639213 968544227 746346271 843332759 453295947 562892087 777142591 121687075 202141125 917079093 322910855 351781937 361035197 490507433 452837963 356377703 544048247 848053071 308301061 45238225 860989157 943480009 328041817 508563945 907213469 441558687 763851025 266811271 992189151 655191107 790388259 529299441 504433555 435172365 259815847 727235031 972829765 996596801 824269537 843610701 735049007 100964357 159711807 895953361 981266991 86272619 476734033 26076485 987776461 113103725 252434643 128991481 177408569 143043821 512601001 132766115 752973385 975703987 699755487 642253661 804813435 595253873 423531685 168810159 933823481 874156223 515602523 395286919 818464145 28682783 530503039 613730359 73696955 340217083 564928961 879321215 826076821 974323107 150564593 391649409 886605031 731440465 836759051 176774095 536091423 145045799 677718067 341949531 15336279 36075309 599459253 298782083 891495243 69024083 649990915 268976395 310452579 53107319 53709751 542397475 866065329 728596821 65270679 574255711 298660585 145792407 373872013 336179899 363392365 321846995 971358379 788702365 713395265 774829437 445776687 474065619 554659351 876617719 463802233 463894675 757369415 119397773 858816791 849167479 973609419 558319471 9403323 837184391 713503313 833426357 518497343 880849455 244820259 642259553 500439977 600172869 462521915 459029083 483052067 228209415 198236471 987596919 625764865 563138071 659201119 214159469 717579451 998377095 802522531 475760607 881593849 874555079 795050905 444448595 54408835 778538681 936885887 684787007 296183117 311134881 128375103 221295865 213704307 435522089 959364711 736445891 420873271 516206443 717646127 401164741 212882437 183923681 181608053 74765587 27109743 949602161 787406273 67106469 310723891 486671207 143990849 57362269 486159411 258702205 458663885 873022721 304386169 780409547 301535207 973041989 691473977 46805721 147073201 893777603 912119503 903265939 666792447 976514555 405440445 341782349 282164805 974649431 753494449 945895881 623916965 483510567 71927161 827299623 495497955 52617379 468910869 828494839 678582897 574730993 319803047 566833455 371379045 372631317 360303993 975214379 926470271 196829187 861963009 671734447 800264997 829463957 301263319 909849065 168003175 763081611 547195583 958106479 689495037 90171533 814874023 232836415 991674183 203507503 748430495 596315581 151572041 699410665 656193251 52058807 154665139 717280539 84823511 434597985 881036511 438798351 578101253 423191641 891622603 476024823 198512675 639258275 176328477 66009581 722530313 109009583 292278307 479623921 945552827 991263825 393346265 331236075 435428455 875281605 391174107 150010799 530293597 337471921 986373233 809427955 910773017 149411363 677439369 401162331 908681791 399139727 527191739 408015985 690247835 345931989 822224711 670999459 586249759 483267895 975010581 360908875 48024549 76650851 183771571 787560109 865486643 352767599 577047895 38430191 541744753 297732313 806030305 361777957 778582583 377111427 335685083 365377093 152371259 672653503 646239089 227646259 795156069 280246591 672967547 849027767 386859451 807080735 759075961 16214915 783902581 203741417 516340113 427145009 748427245 113420421 792856979 555567935 678049699 400169037 718504951 34837529 994265159 624216571 440152539 899507729 133411755 734390197 756541191 979120733 684881095 17379593 390214379 103645729 148149955 77006315 243234717 188207973 675654119 74591161 734109403 840299547 163763879 219886649 503394063 543991069 500471965 749928087 21026887 482502953 663734671 997900393 140090681 21840363 371216487 1647275 327071303 585497331 124983353 680036549 8405623 832358077 764059967 459084161 914595959 278869927 856196571 796410391 837057441 567262459 165706139 202010913 500839665 187594729 360388147 716511143 641346063 394644111 54742137 43743255 957055565 809457385 308830583 928281923 183737759 591082467 292683603 933455723 370416039 387461197 738200161 121265971 407380137 409436641 430682143 88914599 778626711 407427649 292609583 731723839 453823495 771106805 885669723 849889751 360326969 475852655 49718425 336842165 440283923 136180743 282450433 488653189 98099749 91534591 470648279 31930717 270312359 163778689 22544263 204047033 632665207 202490013 560300197 651058559 150285341 887263309 705554923 267055869 871951817 176152179 122476605 371542249 816572239 894534871 709125543 887266909 511685683 641440041 361562201 208322273 615224985 556878341 534642097 672636769 836259409 598371307 355076915 650668339 523934673 791795269 545508743 413391125 79150907 529192547 818799491 13527083 837573971 786775679 546188065 450029313 810182285 954014395 23524997 596821135 578718203 880232479 192118011 3083569 115157087 494537115 373407733 417283499 457780001 116044555 977297421 152746029 880635725 398336047 189516297 644412745 372198557 255740337 757751249 119623935 325076081 460762657 636693371 851582899 338257613 135669497 200590915 895361843 851990371 210452377 19785097 261207989 456346761 197496397 227460059 698421971 516088383 313570627 466547689 363467925 86425387 841016215 592922003 867820647 953887133 728037961 230559449 186911775 962271373 906095427 983253735 404651769 128234649 248667219 860403983 465765019 909667081 6278199 193180621 34517525 837293261 467283343 404300743 7245015 106212729 275694049 843106501 926269379 407421521 964191395 969638587 513099803 788041017 448329257 213150403 691020431 935002047 5109945 679171619 702181937 338110495 352478587 475086661 395804545 677761589 405054333 728059581 737875299 576998535 621060797 128695875 153465891 381859143 184338201 724217279 706883193 227022669 587022685 167108153 635415171 571304213 541021751 862512357 536147649 349522887 859891011 740256799 21170981 382898229 90150913 746499689 298378243 997268435 934761689 253214575 383098135 885895617 336969247 722430213 81727111 590836681 348748553 698306083 651134433 145103191 432975549 931562993 537120027 767045763 639777599 915335863 440340879 265749771 816245379 643019499 369158405 497849689 883958627 283425315 319345835 921442173 269382813 528999977 347507219 320281129 612403679 192698851 720826939 826472385 907029685 403125863 387868811 574379339 471182749 25257967 861569487 576351607 400889589 919107807 681723193 466474907 717323271 925280961 442627947 461553845 791863813 98005321 341356393 390476399 941306633 455575893 586620317 664519703 983010577 145662947 206732513 294404515 82742025 93824801 291626863 278858933 799168963 519854435 791450605 186168721 868812021 87962659 282262633 741558825 856516163 530439429 316490071 836079381 145859639 586539733 863458455 862303377 159449405 951120005 336006249 689637253 177359029 222198831 401097345 956893827 752414171 432033815 878541037 844474047 424179419 151131051 181771569 43817241 140801479 320962683 689250605 522500379 107217301 427505987 6447155 99697647 162434857 656517865 401349619 886347633 22230091 182694259 354654095 890008863 12070061 4696345 389842057 307923743 526119655 868568371 226955217 374146881 407177597 226293063 592230585 877215741 193386965 389300223 224801281 677583729 995095361 379258413 998060237 442391653 143697403 430030287 152381867 410816839 411050021 435896581 953057679 707237681 478675143 780951325 499509463 634585311 522187987 476910471 423276617 715796411 373962273 606330595 81459215 829301971 479585907 886420465 254080707 872427997 536683123 946293917 974179935 940287547 4226227 640229113 929463627 621415411 752444073 285529155 12111697 440128691 997801399 450693083 129872551 430528723 694176297 285700175 675489005 241750099 664747567 172898385 638873125 546457561 284910817 663346621 812996029 943666615 624461121 513898133 390704011 444924641 408979257 479117317 309301453 707773943 473709721 28831073 918610727 12235843 21132315 138561827 165314981 817864879 905700961 616160749 55908287 475708631 618364147 759305101 884672593 869416441 276788033 612808693 871615137 472209403 950977959 578743873 628267353 437877357 314383461 320244149 255429011 26094983 134387877 264072377 87572425 319719207 663716727 545909729 590916321 362734549 87632085 436912363 675378473 912070079 940780705 899429305 220359509 463236543 482418593 901678933 97045893 507632209 537397387 172793077 648728123 830415007 598645493 802240753 151291237 535882103 966953569 214353869 313384281 60083279 176826169 974311223 430731219 93439049 644447691 204601085 319931643 654570793 966210901 195008545 663286363 109686369 663803639 386820545 456735723 720752649 792337079 244546089 788372229 535183837 439515787 952736717 528786291 940047941 591514953 650547787 279320669 879641937 960588211 644489057 650380125 60150201 798265713 211243007 586038637 840709597 865845783 249381685 582133235 361872577 433101341 469110591 274737083 839089943 688089059 860996225 450540029 47484981 860923061 250189447 826103125 58054425 370192833 227898113 181735113 867471213 284242723 397210831 452727493 364267135 63394009 247996655 164531743 986846791 620228049 329401745 652788499 281272419 993657561 360942853 827218505 679801627 953007017 752397513 104289227 130460765 820331495 102369917 406966799 959249603 831180311 153774831 377264373 376536713 689957549 246111503 808451263 980982937 25867523 586625277 890860315 990341503 908117593 74124537 765145631 804819575 552281815 330604143 284717385 770538075 421019281 514264305 622899325 172221623 173918333 641188155 340222215 897754295 108028799 513569331 381723807 671890483 126960993 466138081 133016673 994078891 254948817 519758457 569340371 299617351 784787305 894921045 830915041 599642323 99557549 32782843 687859679 720279241 424066307 386318613 345099917 323226695 613111743 434772855 803595535 662500373 617397015 398733595 660237811 271887523 410567471 511226403 945717295 58843911 377831185 751957469 777237533 994906625 36336555 491302843 467302021 547246839 789335767 405700185 25002387 518356729 241172569 465047673 929751005 108707261 792046295 462462983 579032417 508890277 907069667 827317527 465485441 458174903 249594361 490211 688744719 520847009 57673591 69986511 7279931 91958205 908882855 334385509 760965287 432808199 501746875 307630425 362362197 969575209 815883723 109058183 368882869 501909617 773133275 816093425 446984345 971357653 343464657 664916933 390270529 658435063 868686975 649446483 496025937 554177563 310466463 659635479 326726359 310572339 878765267 576816309 87878727 530585301 45538723 743609079 100593279 645491777 955398017 856485329 835324613 528057695 978271429 26691167 368020933 707792315 207151027 733253605 938495125 763547535 442774897 59251915 931378097 728630457 522592529 523263911 879652353 767122881 990233741 312532533 654354895 208973527 531791303 921533013 181732305 913171153 513873287 441682195 652757543 757849645 908362367 86442405 425686867 600289813 584756295 492771427 958239555 832310103 415533665 169219539 782428239 250061163 703412535 889714077 353007663 28037999 227474713 6581655 95631117 37062443 103715137 132195517 668799093 985978381 604886225 362275375 772971099 233409581 945487825 38764603 292470301 265675597 259921459 156048209 262082943 120587727 579757263 489049873 909396913 301556679 715383911 270993209 804758087 395817961 66922661 858108601 171559997 452421783 517280025 246135459 104072441 523495125 247381053 854973231 985880905 745761109 411626609 388849347 236100193 704649069 256743169 199949035 38264545 475664413 457832733 15002969 510194635 591026445 929246941 623232745 127521677 78549385 947659843 659942557 820724989 98646923 814922807 970993825 438898775 308318897 816769421 389441863 584114755 936360771 896690685 835747341 179868363 308130097 584091945 243523731 832071271 955453201 364517273 531887527 319818483 92141857 907755453 131185723 714870963 943622219 90847473 696405611 678550359 354647325 933162101 646466681 23515889 990463695 884451955 752288209 402583809 322153535 930778361 65057799 480633195 431980275 390188293 431855573 874109309 610116639 290236791 257706013 498609899 642489749 216862741 229296365 364309715 876097239 716539541 382485625 997642427 258797069 573066635 772675607 889505167 456102661 18899325 936066897 99685029 642487861 764216275 387825357 41349305 922074557 761898461 917067105 802232563 683726951 147695571 908546823 50698205 467302047 114387419 761715171 807123567 718393725 796200185 950419263 801802499 791721921 39274019 644009103 838144609 800517841 933838125 642041455 744020151 426137533 904976861 591840163 205643927 423659581 198027993 667713555 129377281 925607857 368583861 764765653 496680793 959961117 344645865 4898851 411357291 107961137 14291669 350042209 731940719 982278983 839326403 22453531 552045569 856474205 92823271 350298881 301758503 782075159 307856981 163646449 30833485 561481161 543788051 126514671 481097031 26431337 530280455 741913635 699473237 722965141 883790341 936190435 159410973 491175061 629832899 187848619 596725161 460171863 263993063 195163163 858503279 589847923 663751157 301950207 483199053 36333353 744234849 1200717 560711817 372871009 136647043 239017247 581419985 144189865 282339487 122042549 437722423 635833911 952007131 92724607 847904569 815840491 962058827 99079693 409398463 970930767 470132709 348890141 687943187 758261391 49016973 428516751 141442541 292366467 968158477 986125169 245292649 665598123 674018835 514974451 23190539 424146477 537115449 512042613 857787587 177367001 713240577 478641783 384003813 195833127 184119511 670300837 627842603 449061173 27766791 214462673 608826049 772374475 368696013 575736825 46004781 100163161 250463819 195769661 363168875 267348211 144124041 262376683 138060499 583500125 73009529 635631989 413361453 463718907 780335605 804729975 740880549 978052317 878518971 29250995 750646479 436803257 873209207 433984021 243178157 8678897 75037627 755709615 236835743 668207499 529357309 102078399 962197623 903232565 79359137 578639783 42578021 387655495 429402351 413944817 127281163 994193859 476032535 572596817 470217323 365357387 578761271 267300771 236754931 753273651 709306699 956390121 406955387 591113071 415491135 278712399 972976957 25409439 982269411 914293289 219329501 418102285 183281137 209136113 118400877 192243877 369340939 679400267 812300383 320656383 361236665 226295041 742738577 772076123 111078509 360727559 48687689 930441887 876546175 143559289 505453875 651203419 729211953 16750745 496619875 834564551 904263597 66871253 385496153 311514305 324094723 678133693 733874683 527837137 265421613 301949197 506887571 34117671 914536205 172688553 629906135 340833175 396063851 721876123 141876455 461594021 440396535 419524375 796508485 287091317 688416077 69843835 170055391 639709141 325299183 467538245 723078411 629302849 871623745 704445221 412382855 336029141 5596569 426336747 510265973 217538903 581500463 814829971 952111975 455903547 930066981 479501377 341048911 535618707 886481539 510151487 278006665 193587233 230382649 52970499 986859999 526049613 226863907 930773797 770676089 75141923 680419073 21701995 137101553 693699421 796623485 391901887 200826945 59146587 524384807 739066163 32558543 80514337 491379065 896898563 88638825 761128545 489342931 381381267 644524355 698457969 297800065 739615599 607237883 825801297 712733873 338350921 266651799 825315751 772035199 810512891 126858627 671265219 13175275 444665227 660152725 637835677 886148831 900414243 821996043 439112147 625013035 20633621 801353351 971926957 968469895 563684575 323122201 727065115 995730585 320941089 54316087 35975345 836434405 427624361 594446781 27048627 795042017 15958377 186661871 276174851 460273123 85624957 250729851 360617013 384612139 547831847 762630009 423904639 654491111 253897939 368447585 526929343 959069989 82187027 736787741 826409339 224981725 8747685 104808441 899991269 170616565 9138025 963183017 81237205 467273265 843565165 768781899 18819527 30915397 449327331 348723813 131345123 801178059 576407335 498505699 630089467 672721219 747926971 547922713 838663043 24800789 975994955 744791497 39532955 333430933 712348331 880124947 198164749 147019769 991500757 723596167 872911683 232503143 843289837 727334939 798934105 40740067 159261757 522208553 400008205 670904417 262768185 919915641 918444741 860267707 232693885 316717879 973463697 491833519 328976587 999499513 596219945 246421483 878790159 407489213 130907115 357411323 758570845 135394791 717603039 280807261 717676783 412720451 602793397 666038383 56081705 325979657 409152449 280923259 451317653 263541461 567949319 363263155 623063017 827948715 538395691 791986993 282175741 289164795 368582011 487700467 510242261 25801113 899979763 27357159 262480543 999748033 911031599 499985881 982200235 881492249 651643253 861620101 32219765 448424367 324648631 933806733 932625057 430935543 615186317 301614459 519339769 248003023 93027379 963515581 247901299 973745021 58316177 144997805 937292583 355581101 676543033 895022477 11586907 908285813 474902879 711041161 204535415 966565203 615902179 481757869 616174609 785233449 750213965 36229877 854422245 747948871 651512013 311636547 930225619 763679843 23268921 385330783 302247145 110307993 880278289 416324347 315786839 548568429 941591931 723913905 573679485 751022031 51709255 185355775 758658521 632870673 919453421 361488977 106166299 227898867 589881995 476783351 531622163 272748953 518232809 501974061 843259071 124085391 209238133 552188943 505577791 393032141 894041673 998909355 195163617 964469169 403293473 195042801 873375767 875700475 530119271 464324281 457259131 359213021 311663401 511049159 708578259 641363179 449536797 646606271 804630537 952493089 273727397 566917945 125173553 253048805 999729351 940081577 563164803 760536071 562634801 520195187 163117415 435990711 790356539 344458717 754049637 77587351 475956965 93205533 559489073 518463657 303615189 476522569 501460133 415712603 242661981 955135843 447557577 423224707 358901361 884177749 389061315 252137055 438223793 185887727 35442919 475824019 910006629 725271021 796541619 197106219 854160509 466181099 772734665 453944735 777087119 32052599 853814003 307419851 516475611 864150529 9437989 372294387 921668935 387835361 356172923 430108359 484211043 765274969 842742327 622840667 871529831 637739409 62374085 96195371 269852977 828820381 830270137 340602653 411964233 919772021 573969357 475452287 247689693 640616187 699467237 621702917 892961735 770499319 182950411 249500621 409494403 172177945 438331251 651023965 735223867 748215293 493693049 789763745 403366075 804600867 882963873 685510895 825324671 418779381 995373203 564788485 926778019 259207363 693963045 321715973 246134509 99527879 552990801 352345217 749204687 607689249 91087163 945961833 448903263 793888989 962345005 423424287 89813853 193008361 168030109 829208421 276971057 822685985 927662883 781430123 446612711 663034949 718673029 464276163 342505017 874670077 591811243 522850925 354263175 119906269 254357675 645787085 187318485 701042781 548765375 609337265 58501077 262610397 304267595 174012237 607428827 909975977 998834139 997850431 554248427 363984111 488853537 49638029 701415849 965921739 199598839 173905315 357954661 589615677 414087523 812568919 944445719 871695661 571453837 45381093 699066205 436576623 138393037 820363763 66168191 117831867 984269721 701078927 170846571 151411889 587171991 590978863 642713019 743844315 793876371 329613485 296488107 535298219 576397695 806232145 978797861 343277179 246688885 583433673 49313717 795730059 716878523 484500775 901499799 841765123 402957755 669383659 266450853 590545911 811221767 548515833 33902955 445283421 510442333 818839197 609512981 159525147 322739101 690530703 821599099 581432821 387114965 27377131 416598301 990443167 244787255 988797749 922079521 650042291 411182623 842118749 677912409 812572079 798267663 227069623 156805177 483725823 720798643 670263551 802911713 502558197 350818013 39322203 904466201 698851273 366893195 697603417 955132497 142230939 50809567 39285485 301798559 321514101 246904099 460618103 538249411 165398857 971061451 988040121 632150563 427544559 64167539 544430561 486547919 959180331 445716701 87499909 926504317 953957539 654482421 172175777 866264719 44944363 837858767 440100253 620199179 87361401 939670947 948953667 260224159 12138673 644246233 300345803 462131621 126412763 511886329 434303441 317119001 382532905 969887161 69933657 75587237 264772019 557719537 377341651 952390039 858677373 62459557 209863441 645526501 724692333 377140481 958001747 574789679 606197333 450018905 499718717 642199487 523778033 175312167 769637853 149171073 492266205 328048143 836493991 513291021 736735399 141841115 36524409 857677731 335692479 878407553 680802713 48376105 426012031 599169305 595419059 607054129 843042597 457039079 9864925 956784623 486285533 745390425 405855123 349109571 790578103 489988863 870046907 648316341 605049261 955726741 151820451 680201589 80002209 66353407 253134849 985976153 963307867 360219719 964598511 993520607 877444237 400688803 921108471 253229617 187154383 69810795 191292161 104058653 744736931 826888741 190495845 174589467 364035955 897020283 259894241 452225097 206861967 543034431 157357465 741514607 84596531 884035949 55056665 817155323 61395579 113360937 132270681 381708037 408958069 843270335 302175413 932223823 784338705 440910753 290721267 565808699 558846247 102693993 291178815 829790173 547622265 886519517 449515053 747176681 11489201 970415079 270354365 488260033 815118687 842777241 126134101 127669097 674416381 800163119 623455679 330628243 487168237 867638287 425700913 22827157 170448501 894100161 773036361 626054255 60007627 999985401 694515213 911080905 841828357 839843217 422994665 590134255 788721701 669107087 662921395 408584411 717916693 442806045 408451497 756601387 334632101 638749837 498302575 256763943 533520271 323537757 479397137 230574783 414188147 264262447 219123207 331519625 212571101 891235533 323267885 897419715 534384187 697724715 383460039 536455511 106956009 649867875 85723269 823425491 802086183 237700795 843718777 790923375 748652831 630664095 610081315 688267273 234841825 624553629 509864295 627216423 911255397 920344181 201904019 586999805 22187409 830085129 62955611 950062429 228860713 843510627 450376413 858667465 846225891 519716023 364255903 43022697 182576213 546530657 605334669 386494475 956635903 765208803 74104317 777211941 446548815 246094825 302259627 948762583 568391315 191822151 127992511 169322987 398635781 978920695 326898115 212957901 457220293 63823133 29011373 809854357 266974429 296894723 36746461 698884355 130938433 899298335 79215637 536059005 965842629 155073801 83207555 874297107 12731439 515854469 476283839 732819581 669951271 628759167 632201921 227272729 384185403 170802955 967754995 318943217 347492073 2650469 187436577 474969519 415686287 742608107 832213119 563197871 835551609 670347823 801384875 962990061 504429525 614180831 975567785 584851219 638163645 529689563 144481257 819926895 800206645 834783265 772871231 358745593 814590243 451124193 287224807 728496463 631853659 504662123 489896583 150548663 133853077 756775995 524990253 303857957 298437489 562399221 363610447 460410411 573895033 773670757 738376647 317448971 370106143 359825021 154325469 827569069 767409341 891775575 414035005 274566557 872300689 560672825 707820541 192422679 930983367 561406603 984147867 241124853 692299633 227174885 827183611 571761859 298697605 64162301 198012777 649327021 576655847 64593593 44415645 221797771 218125665 651954981 853052339 550965467 223302817 513508467 491247407 357104841 22028609 399203581 97021185 483843103 66199237 593224009 967801723 951514199 757486995 907856641 824902749 120192655 943514109 210220025 62639563 744728207 167174463 957249321 814307155 369055687 763966071 624126905 450286825 286554187 927075759 912400369 169290219 900004319 757321433 720644677 16346655 576343271 235866829 549824591 373504177 589521779 426326605 898718165 771838775 475796537 236602627 811967937 10993327 615879579 260998273 41167143 925109371 532826783 163198269 877855297 349216619 61440499 843803035 968143729 311650485 91788527 873642211 981843013 453633267 678584469 458751559 936357487 21913903 186873479 169597407 722666699 9119697 746939929 454237613 775009371 334418353 929363775 89760923 273588045 827315981 365343129 904151417 357293039 428471433 721084785 827571715 596807617 287472691 986590899 538885589 595251813 191324287 434128887 37984637 942167205 755286347 864121723 153701739 273010549 814702299 681507883 886188791 534125809 70288095 266892433 401923939 407852381 603983723 251991527 210998489 573740577 105335291 451272459 885026665 26555091 735907957 12771717 401054221 894339629 202222119 509207171 101334951 292067091 524003527 507389407 658173439 716417935 819583855 918254871 682685639 412683223 912554407 773185615 755469975 136029507 804233821 830707035 723550705 336852311 365066979 202560689 373409343 429105345 518440951 924734575 115040977 450994257 691550401 409482075 154020833 740931075 235525067 578497001 481845135 982734331 342085645 704366379 385251559 685179781 195945955 250946019 616446679 332070417 707096081 609093495 794333499 901440063 93876423 313329913 476329427 529424589 978908313 61705757 993723209 694256555 314483587 123163205 716491309 146410729 321111531 537341813 649843705 735458245 800011679 151739743 818189837 395215263 437786323 195350617 902588597 594291461 664283941 582152291 890792993 837588135 460293275 938359843 194070887 196048485 990162081 120143337 193483149 439691839 45396749 22926509 776379515 708062559 51323163 993134861 646494721 997565213 265889395 139795537 813341401 108290543 807208479 933637991 45471651 642336381 358324119 907667433 792619499 169099405 910915509 727387925 174734111 859119639 748112835 546095823 861533083 401740341 44324969 306524843 624656797 651290153 560667327 104344287 490156115 135742047 768668995 737969991 917238987 116252521 124618457 171491439 694604031 918081285 648480207 931549315 104456399 848025877 26303705 46949469 973316869 862504099 275544597 596644985 871966803 84537059 974711303 551869439 525237331 976312881 759765663 867350465 39148677 624729359 332895281 4106035 830389073 304100649 814893689 331541365 924336395 297460305 284601247 379672145 678147819 623710597 306751789 902264113 693414929 605731815 695736601 695850033 877353607 490301889 98451651 110735631 960567359 904872327 187884525 62779953 356093459 220969173 977652165 996371879 277857475 421539695 418291169 958800937 437848055 142115901 928494911 734721557 253996353 496616021 424115009 231128179 455848221 794808305 342588089 798783475 243248617 676961653 524222681 33704425 618327791 27433067 805236287 342692697 735042401 927096455 384148463 73029607 804150617 467452069 856355417 364556513 242408149 462795209 806255183 148747843 348765379 100083227 623830545 379952553 331066351 957020657 815098947 352883545 335510551 460413125 461170419 887484741 270428889 770274875 526845591 776462341 567940287 126719263 275095817 540791253 274232379 102172257 849971345 806348701 199122597 45608481 576737499 40814575 300812097 661200541 595937277 637752319 495192117 778664261 594042227 878211757 487414163 306269097 146135333 327481729 866115159 600462469 34971229 533549483 723911517 217846973 998611155 587381505 705988725 980501597 6021025 401616643 776309577 164643735 92940369 474862039 608222841 481686469 932609995 168354125 736541825 320319597 461471081 108006365 654583501 604898873 956085219 602110373 690421933 603230715 251152483 606114157 424786013 464325551 760221557 459721635 727053305 84961659 829319181 924900193 22813839 141876901 471911561 363333475 83921167 561505957 138692015 33704723 124265809 224540181 236979627 847131519 801365273 397442487 799295251 999915613 929954061 876106103 563273699 782723855 590280127 216323943 556717185 541014937 61068969 452157637 933439163 919825327 903438125 328055537 675604679 225259939 43137427 877741689 68738623 446712695 509705739 902957583 542531883 186922449 795804593 325407631 840204025 650538243 296975239 631772411 471785339 576611329 369850737 63220095 801081327 35450731 48411463 96793199 467836925 549873801 385511869 315941443 303715505 798742091 130844021 831907747 725038975 98065991 857607163 37342807 722944835 782496701 493103807 340500051 108480839 554278035 314134553 23410355 647260213 616305241 117454923 997437625 505345825 213520711 427419775 64686291 768906379 854858043 846114757 951331727 877629785 971374269 864059415 765456045 650855379 756689915 275009365 999725583 358689461 391418319 44649547 786148031 493818903 697685685 773562279 928199155 197368449 877221847 13958917 523859971 605774303 374212609 709165029 281794931 274233479 474929327 592430257 351016431 907166261 188741883 260303289 854008651 711020305 493828785 625292855 74245761 128182437 727215421 253361995 990404277 465991401 666757303 243747585 25167411 944786745 135336159 649329991 389761387 80115545 714142749 780312825 15798779 714695801 875784317 265521367 329333671 638840875 930221241 727711369 676951895 407133551 586172207 845338531 525571105 935740329 704318185 286632605 364127297 290795431 663457937 422872023 314637847 87106717 251944323 688316573 145024815 75398441 172000957 709583389 440631615 423571535 947950053 377953907 991151903 550603903 423469131 525532063 869489109 509459085 242491879 353488009 127489931 730463927 150605399 507437573 940233363 835777439 907191267 9499083 670313065 7220053 184997497 778461051 288199347 295754831 179512499 886548383 853219383 672418407 374262989 432759467 884681709 682073573 758835121 130215411 679245807 605994101 781161963 869159101 939177599 622697519 586773175 783747887 499547399 886477451 317027567 36109661 532676383 600259955 831985183 36304959 306371453 798314547 723021171 453559477 854348041 794257023 66790595 235627657 599472075 662153589 499057039 819265389 556368887 226558105 35099133 536719867 266544359 67756251 489933279 864571057 611193889 347493261 582878121 518143741 328673359 802830705 246145915 608829995 254066245 752673703 403723293 406965881 838971899 668468415 529922047 949529093 137413017 664699821 826082871 663412185 164991079 579922639 598919043 941609703 308970457 545087723 955162957 424675079 394432139 723420205 272011427 915162621 119385407 892684587 928759101 500990063 68868065 674213347 49874041 71191793 920646277 892502713 678019167 974010105 705016933 875661689 32686237 983021035 345653477 684694107 473377677 930225167 214347919 344499961 503274795 514734487 202888727 350874461 505961505 983565723 965872473 51170543 53938363 167783711 253186647 179297673 432768501 82011657 20766783 919942245 957452393 864583211 699134559 178672937 974125411 350523457 593440055 442089185 292608463 598793961 575239529 699486471 619494213 832118701 196279489 226253939 151760133 954740733 247739183 283250283 156219125 448257079 852298705 293910943 732415655 355578519 725040107 579927843 404770383 724569673 601837029 416053619 991050189 215073885 905432661 441207159 909453737 623647439 14136053 972421497 798870547 654321019 112902057 404135985 78720993 223380783 796148093 131959737 27307921 63699611 690071457 975639193 487548493 233102679 344433781 732160703 577399523 169619685 225393271 891329661 819181259 277946799 842521431 560463763 649517859 358452743 529187045 663430691 749882291 683350819 788212765 987572671 529354729 834966565 208900133 230244953 329836509 318327577 235645763 404231503 459342161 665374703 991678959 68951653 643554983 525557119 394889155 856647883 216092659 481686667 386966655 794512917 607553001 56474813 669372691 364355903 355918059 193406885 173203087 643509679 259268605 587352509 628084529 961994291 801461713 526682983 461011289 245627393 214238653 454375401 386604181 583565235 575384257 89963129 982639767 105712721 552995459 269653293 371483195 799986759 298136149 594157575 423660161 335926891 40646699 998227953 559090073 40998139 10497957 723817915 418338261 787306137 825585931 657571615 229708973 934953815 524843597 451248061 497120713 310399909 17026049 464360993 939031537 329513317 205344869 641999033 827575833 144554203 290279011 149479649 389331037 751517617 978270345 944268249 603415295 137159169 649226767 55687115 971397483 394491205 859448787 821281991 332649781 220920163 911533915 916465607 688761621 970831783 123637211 251526059 518879731 278261707 177177893 368198207 885823959 323432679 204918971 21829937 166643445 966766721 654464197 944446237 992747689 257316745 841849103 144008835 54940279 468179795 20100117 887128267 854224135 437825181 976462833 540876617 575965487 210868873 262015343 913232949 14101225 159377319 265539835 773879215 234692183 782571245 665108909 296856259 772142793 777468599 365902917 815495775 154095021 857723337 923874857 319955039 789836705 6825041 828579433 142649985 363201895 965634277 713010365 654339443 797297389 314322307 42002051 590219713 100063811 348931215 752761795 979044073 855480997 866010071 717765165 323816521 92723575 406612879 284909079 742937645 416347459 860072789 511518591 867116227 799339711 525995821 904176911 545416999 762604483 581200007 76695317 117783639 336986709 105877303 248596617 214452801 295076765 733699193 964673033 427090609 310484209 771369459 130505435 875500133 236047053 121940147 432844787 959568379 764658129 799285805 492977379 754903805 213599689 322478913 479033069 176709853 53706923 121887025 10831865 222544885 632188815 228781227 116057491 529395331 910791611 53158597 935796727 707666357 41052057 803131389 520677631 167793303 110495163 844217653 116789047 927234343 249923549 853381823 527213769 967655747 288329701 217159501 397762707 908367797 374428377 474991355 511556365 104762671 573622769 518410835 209607013 544215881 968903047 187426621 75078245 639116167 734641181 974763027 8661895 539968079 22858591 364786831 875771881 143931891 761293087 122180823 473850195 332607919 884202075 25526905 46437685 134489249 301081651 268373865 700139939 489156819 608273141 834548997 21628001 677100087 85771539 581109011 318062035 524095397 586703401 807665855 980500489 322935775 687001081 236884383 83745721 290544783 463749487 327334063 153301317 513412935 623471517 173741399 805932467 145681021 207932609 246559841 881420721 644941461 594588477 176296709 332174487 484805847 674473115 609608157 474420581 690926709 820659855 976588273 215419331 874673031 444125173 693042095 456615679 293093391 172021711 39452649 616605967 503473911 108743241 101117151 387313555 524647185 881652663 580109621 862278357 465166355 993155475 35148023 706589375 511839649 234623871 673167005 298082287 268063809 181527627 188925443 130238109 192654953 839501541 52472687 505914295 984714607 409651563 747062925 875299783 821299861 223624223 624945523 532150279 436351493 666539631 251125661 520859989 19098065 112999913 660913905 314339641 589356783 703822157 563387581 175385825 324794945 897736573 320991925 393447463 379279251 311928965 734894585 787014279 908419221 994451605 436832779 707577387 40432095 160524555 200837593 322816737 317354483 364327275 250091193 347275041 52054075 74579037 12622697 827300617 34133511 922358455 553604365 714094943 782963089 897794165 374410289 117886613 719746297 541789111 569108941 44057027 298510155 909746121 633165373 534861221 295888759 437485601 459870789 854094243 632034133 899024727 201760789 372576975 353978535 576778289 946337855 871739101 765241365 183205015 42643651 680534831 36214323 632510113 347083269 172731337 112354425 494161797 335324627 895964253 369149001 62320809 63919713 78458177 806681065 165406361 157395791 786003573 244141967 12674567 579505823 445591711 84003921 862304973 169874879 259274255 36324143 123416305 710589571 224123325 897523223 667897757 367665197 826563143 534909143 455908899 891748445 869732597 813493801 675686657 674509861 672321205 200234157 721727191 933635829 444163361 461219311 895198579 386175919 271573877 132391773 10323655 755744661 20371867 202355027 336031213 136156503 253629217 466999313 428512299 927025671 990084159 181715647 374786539 573520933 210957521 554078833 777883073 165445269 70210915 106090271 517984103 545579939 864180257 424361129 116272319 22697479 941043685 184395737 582780631 239568861 110710571 265637731 681876705 435188139 385870619 54138587 977434425 681900893 747922567 43274183 988210273 57392969 866524387 366750861 253971461 152859947 722865999 316419457 947544057 620992297 995858835 951398875 649719095 872757969 92631327 366299835 796300513 482917913 447015433 50497579 849715015 15208027 966134289 178650653 655404759 546349919 928294813 316684139 698171183 812716115 225811133 293894869 931105809 820578505 653802537 793348611 231705705 536281535 822412863 86435465 430208331 272848029 548819975 246312157 902876913 876563503 417288753 975063907 222972863 498420647 731886609 622884709 330044735 496253351 756520107 922768913 969029927 94298419 745052065 924552065 683989583 30462133 281583687 855715257 599562171 356231943 868890259 397828511 78327193 998714979 862587425 373501957 659796537 64837487 425774909 883658919 882580759 238874169 734867411 291329315 186634199 579423029 994580093 112064003 846480707 955680835 468285815 150849977 465325649 442524067 275849641 449787805 682517273 988211975 560738211 100515571 260031969 912932483 854186143 68748257 986979857 771894677 470497655 332871801 189130047 425898527 323292597 293096375 66591783 368290675 693265545 586478713 834964905 893945665 844798921 443385481 417532369 464308907 889052405 152782233 255894229 493265203 173027379 700672577 19914765 559178185 296869715 953740547 73350399 221806527 555479245 929113929 51680853 699455445 815919295 513132645 674884833 219943215 776530929 891273357 37363873 955062875 401677521 55078373 892165045 42189389 869488249 181907829 633765227 137334627 651753893 421917229 777116981 785606241 853090751 858843627 609378221 384107383 812056021 816904299 877359513 684250937 628637597 945189977 388661987 199664547 31713401 594089541 995987357 119609629 538432109 326248873 790651653 76786545 153644331 20199911 246027389 630491349 336989963 524779335 132236431 389020393 855393289 319679993 132102127 55742895 96796365 39768347 948479095 149314709 536113577 279649193 743236141 775676785 725278609 776668559 132068923 940717953 227191077 453909149 159002613 226510953 388297133 274455949 434870229 143193909 516218393 825080063 77630589 53501789 903322623 112511615 847110075 872831421 780427423 741417341 937326979 536925083 801642463 100252241 45439213 233494433 195446607 412164925 752978237 373937897 833553703 107081579 705045727 433458157 214042437 810248171 446656103 765561747 669762095 176526007 613294991 971724329 595634201 931763119 966044217 198032995 904145365 803214751 240958837 683670113 938901991 22367541 26449521 138008229 321632115 537563149 469810059 527487261 921793863 115383719 893495621 193200671 791889631 773255277 126970701 607254375 900527957 743890095 43936627 34839325 539564149 492519847 412529331 462954699 944478635 860962421 772762673 417155689 303284495 333240613 894916663 908149073 120335969 292859301 994451771 64857933 899189257 478933713 466416853 709302149 222931987 84674409 421018313 390770579 69077305 484699415 425246213 551576177 960167897 651410281 295072153 299980165 876419325 200643293 432765889 655081883 846675279 840586195 812687585 941474283 663235627 199871889 262750341 77222673 591599759 252613963 452222045 797943827 375823393 817794331 265472841 94896989 549689393 590304001 491852361 72377285 8652983 955187173 408952199 961980807 342538065 338546331 990982489 774167371 919652935 861445851 509472571 950123803 187265415 835977285 758762701 385918317 133741481 786257765 18765533 466950177 172038383 929984681 131394141 93683577 133527099 625391467 489097063 582700835 696916001 729454831 730758209 99958581 399879127 21046619 384022101 652728621 902795321 752942787 596129077 72335599 925905619 53271583 490192799 779424711 296313553 287929935 825006707 609359725 134858251 429110045 12835775 331206909 266418177 742807099 159130549 43377149 964221657 367473731 989873073 885221207 640744549 558624691 744214837 73288293 111102745 692287481 196256493 442961889 644000533 587890273 824290731 820257009 751411489 720880937 789300077 835881507 166376365 823242351 198705235 201203309 180727247 846137661 58500011 831545897 475757637 828259461 740845801 412313631 543849593 355074081 807250083 521768059 780779385 215751119 469765027 601165267 630610173 991607355 334588879 196877349 794986083 514626551 978117947 871637459 616270771 300252281 263327013 844002991 419925147 782738213 936007919 882736873 196877685 165466179 516202787 300035107 582072381 464689669 806778485 139784287 699835293 949145477 565910209 581868813 175372769 389487041 706117131 493036543 490877445 634616997 807167867 542086261 243711139 36472835 752979559 334180371 305901319 865358993 564762441 831300071 785362461 823365363 491761861 220905317 563031421 768275633 913573029 950085995 991387239 260770109 885746911 30127935 855051457 185187055 882286219 117781901 334584349 725748233 266670829 608070507 667832495 770317749 952049267 990240085 665105495 899766021 537353133 687266867 8501149 421677039 508786263 886294607 182823601 693251159 227018837 162215519 307776103 22633731 338519217 538193027 315328323 736992937 518512289 29460285 87059049 555763935 654474877 757281403 426218665 774219049 966998731 7616149 317529467 570948589 273227059 703592259 152720381 530129789 665900941 169883311 794010613 678160659 687388879 510362725 322822871 604842961 807201311 595880025 306250933 35755453 788373449 214580201 825298257 46632653 484360253 218330841 121069843 143727575 507031323 415857753 567453705 953821085 597264931 5233661 513173737 500020681 254338111 936198337 479127061 662439915 280556167 785596939 361196689 236195965 105466161 927401641 940910863 971686881 200128165 987137999 89742565 873216863 192085097 317495325 593876755 794350119 383170101 938709141 447313215 569541717 411381987 189674917 541247163 562483689 792214901 537299491 532566907 356531661 21736471 991510091 306339103 65418449 423043355 752860869 769674223 673113263 894354943 764397979 376119771 59966215 855147619 730403653 396196727 877048421 703012629 229881759 850467079 589336377 591748871 365413101 436628335 858155225 690427477 829775071 749314879 771851403 503150401 815021959 856341423 969015927 768333623 412291173 825263003 694368941 987230155 318070109 773024911 751341607 788259767 391220669 65942969 875023301 450765789 172451641 580911853 213673811 727142477 995928815 349880237 364360319 728408885 865416805 247835681 850620389 718521331 162592903 136757781 524349957 967335433 365434027 963112453 11688007 488975395 438654861 987208715 625765887 269914901 996758613 313709811 961075557 98997977 741894541 975037225 183799449 872822163 857111597 593066437 567691943 98389133 909270671 40405383 35591805 45242683 866639739 692044757 971549687 837469241 414417183 665334207 336595 518621259 399873037 649174269 69394367 631465817 167853637 233718509 506463561 464023929 628901931 485286807 620975849 880889829 522725771 538544299 611352067 281805313 407748253 389425279 724192481 915781721 716458749 212473617 295866801 834573725 998221489 879703307 305983887 616316331 592741157 410156219 74974585 960005255 147547181 793526041 50603869 904246619 912900873 988399811 671167239 590225785 344728927 76412159 528402741 405059933 45625913 173020865 813037701 103966123 179896077 401385371 233299073 167993391 396192953 104350927 382077083 4113113 911109251 165358149 171916589 215688393 500074777 440014729 704930423 311878461 885365133 237376727 475643297 965697701 862804061 904386057 492225981 217312145 314513009 115192745 782606023 217648063 235279891 9764839 609305757 966078735 85612539 936631705 237744137 264129167 563751493 12525375 298701757 908538737 544862069 576558593 655429457 208274959 886336891 535023787 884804681 214710511 158797993 159306423 418132235 211615675 387846847 847575363 425688555 807777349 514313699 51323927 993879583 960023947 971951517 802872993 571846859 965839021 46929897 616944379 961442807 752533497 159843871 217087203 924734357 346767841 890998791 165670079 581231741 185417217 862457037 607791261 833759091 878254619 191648261 814953273 513046045 808302363 145151665 335123695 920904717 426148885 771354161 340492999 427325885 798786881 469552983 265439599 385570191 779582215 858485075 389989951 156241099 826589935 433812167 642886711 478573731 594493613 349293237 800641279 230677295 334457117 510147467 220992995 415352433 743667521 390447649 10703583 408519507 495106373 919669423 498482573 26389671 702852989 335717855 517175865 30016035 567442275 178258877 127357133 533280619 159864987 62199997 886675429 398570247 330964463 584282301 533629887 365516135 320117331 829772291 496616769 991729639 495441891 929741369 508099837 588389833 514054883 351073145 196204583 34232115 638599867 60241725 39524255 81279543 325286657 803096429 630184685 466300367 473024623 381608787 980109119 481686747 604766185 808673445 974672495 369263399 708483961 600772739 604442105 169315939 518756181 540164719 424849927 765442343 672195797 847839575 790367847 290163701 472803197 162187409 415284625 243356727 88459771 723743451 25760673 290182461 801613087 263483223 492321123 276635969 960263397 400732823 894379331 814420067 755165553 272706957 394169435 368355759 385431567 815742101 934109543 792251413 895480367 818539129 178038223 5788525 34797681 412976993 757887653 728522105 608754067 824932839 989638557 439445217 307847045 667870725 696725527 763209273 579157591 398652449 579329053 739940601 209098053 650608649 97025883 825983107 683217845 14253041 179727913 753682205 449065005 185502071 147768965 597315837 972277605 899664545 376083227 999611705 922058551 627300059 277606965 631760595 762466723 895022075 500761293 869801907 171161049 46054207 196815745 92949933 51337001 70156873 217170329 223452537 635205649 463460393 748358659 136249271 381784369 955524181 400588889 868755443 723149911 761811881 772554199 655849883 570706293 366821737 361692263 152601867 394769831 470958147 673795991 593142915 779743791 332698447 351003551 332822315 944675705 340952325 905330779 23602711 134322711 252888143 261944407 425023807 640574919 856692601 315727295 706526851 209913449 189395767 999507307 529565359 284922635 403944871 726684637 311848561 215333601 940139343 347871287 930596195 498503233 911665179 505943883 419321609 260766131 74298463 508396691 529493451 911337187 309107677 106049321 887245303 363461023 197058741 377542359 454507211 253851879 825368695 54325005 981615973 444649437 977603351 101017057 751499727 980815051 229194741 644985619 408505341 881848869 427961555 991784201 576708803 44929927 580749023 8005075 745993447 922726579 31068079 816423977 781895695 866019479 663155777 227777641 114183119 21594177 400926201 583899035 764512925 218676721 240037795 830893167 644663005 844892169 880607351 485389369 649221593 52758549 175198993 250485245 472579775 647535557 494095989 733278045 450646441 245521911 323558675 228159405 166399643 618324911 303999423 17243363 345539195 677944597 139111093 176163483 399860253 195429503 351546523 57416993 559633207 596640103 409460607 411718241 121968493 94752113 982973909 423567603 400698695 476164969 1215867 198454039 730946359 878688831 639307447 919513013 716599445 683903505 94546741 148371289 296210597 378714403 249811723 654405951 775039885 653383391 917366199 912007233 732839775 652575959 328792347 45869545 432499991 115055047 658749063 898246503 188098451 207741587 956074929 61634705 236571805 933031239 69480885 298258663 606498791 353530387 330429463 550540431 873589769 717231191 427223493 170950489 361180549 170787219 117016599 545308093 234437 83012721 47590855 803276761 771709979 656553929 125018107 201519733 709744829 57349009 210892095 555926527 997362127 525687791 701334155 285874065 637392985 462344239 247067707 97079271 962769741 37435331 689284373 126422123 942918275 202398535 999627077 112469035 24036285 832554365 81772897 731224285 799422885 671780943 973397861 995197923 456974027 827881429 511315383 45906753 477033641 554483527 616039463 597511849 162253473 388384263 433128165 836989555 422409979 292480163 556464531 711898779 859270121 765655501 213854771 762822601 766191235 663319905 423964723 977757775 481613259 279660385 933041001 73276193 724853163 746727673 356144403 399518431 34243059 886781307 912876245 771157201 56694109 103557477 723405755 982664679 763840651 811929433 444662077 616245175 413222147 870661409 848476727 503598465 48280635 661820593 916432877 266199339 185855113 338597157 663227151 822155845 391160367 419675071 169927857 881891077 588901463 486779115 767416655 606331213 516382737 494066493 209111503 965093795 703138135 598904431 669475455 323000887 828222473 764263013 547596307 718344669 646081779 417845289 963172009 418428697 949224133 236752111 682928327 82463501 271807767 830284051 560507481 280247949 176584043 969631001 795295157 619450127 446796329 630124201 35601049 184874927 198112165 784739225 89326887 423709753 830092055 752167139 469967601 200213017 460434847 476853675 37992423 757772135 663761225 794262077 979779947 732632547 805919747 358622473 925636927 649680885 282900137 669184941 293892243 5110697 786934267 768330221 835220217 423954873 504027555 255667889 508102513 480878211 387510577 896452367 808539487 616842513 264940317 760643907 508484497 460092429 589380045 59772845 609270075 882357971 679652485 857596889 371611899 493332577 658829947 892614525 187807703 145775197 112580547 634894193 737961531 604989975 512130147 467352251 936701 900279175 847785795 947787141 155669081 271960651 61321521 386504225 817651957 128859305 497043947 200693259 738611935 833151125 739869455 612424935 785457805 820334241 148919593 428831105 433704409 524364049 325458087 959403723 868714251 905381063 409177317 572379359 608030673 247353431 318442785 141608963 777141821 861981429 717122441 999900065 376342991 612291459 584409129 979332941 857919083 333438855 491892735 444795839 382563165 986397231 849855465 79980511 693444701 641728851 150743985 527794611 448014983 144672371 711245577 826102131 738730847 633964981 424695947 709007993 620692949 52947691 659082935 368442439 317145917 144532105 162086645 139917705 369235 568443567 377112729 851843857 938809917 308474405 739353561 662525661 342387081 155119963 763188953 423120655 608935723 845472103 501209761 469787377 31499651 886710535 767993891 783913975 361017683 315196837 843415353 422929085 368701129 209332303 746419105 121715717 878867579 897896637 53562887 310810043 22731365 495205965 715156221 272450035 546066159 207469319 927117305 461783015 749756387 935230105 984473695 835446521 676251001 174130525 165675127 542210489 160603469 904187215 928278643 890223829 712038243 857111833 838905709 350991915 921701675 625259271 93205091 687879101 920053367 857142805 694206273 67332791 638186119 879891677 933597657 276264045 768420095 573342379 930820321 827388249 996349165 842742379 381819133 361565727 636275653 168318389 221914549 531454089 60183653 779955145 771297915 184014989 600231955 226665613 16216487 273731907 421831035 885426065 105372539 511859185 326052273 946560269 817116961 709419263 515532087 339752161 49882027 632863491 282369261 864704401 836066575 912057783 244473123 458941775 174016305 984609023 764404879 310156527 140822745 507982311 917350731 843380981 748972727 790708639 813201377 457759877 826507369 618291847 33025081 4271215 772114283 773587741 353517739 991346731 327555625 624680209 530145525 563926743 748757747 303337011 694027579 324334137 497395459 807179135 856349449 107357637 391931259 946955801 39572567 710238605 581738083 323095117 980386945 778163539 840632235 295475853 752405325 885213567 709306415 529302131 27133927 939648543 580138671 411634629 957598179 128920553 930716373 222612845 178954305 563028799 781158449 97400445 451597415 628084517 733260605 869494579 35517215 61307469 946134107 535251951 982780319 921477645 20834515 755876927 283750533 2968421 958539733 289155541 499005655 712596987 748500349 982824843 633815297 538542369 933505483 900694119 656073177 302461131 152727465 790832787 675724701 111538841 311870439 568859747 705740017 584652499 523134015 366233935 886103009 149455721 15989843 62485247 343758053 143704303 617860265 989757499 265513433 284384169 624553399 52215799 44520193 547814523 932971731 278462543 295355403 578298869 595437375 627156357 258809615 472151373 951586595 554925317 542004615 284826469 269325459 976113249 984938841 510874563 992489607 840962135 74426323 172465557 711121887 830747081 661982377 537957045 874655847 507288769 282370297 189859487 164769741 277528435 530513481 448168829 294069933 81887035 527725445 664139547 562523015 254402971 909641731 649563637 575130051 95373121 304395391 262519845 880049845 243891963 763296287 154780279 60023957 507427529 687311731 221121879 558144387 405881549 392641387 613074909 361187467 648046161 538612841 901616839 15282843 808557259 458161455 877172097 24655759 828344531 975332331 581041941 863254311 487355693 564542773 167029053 252421131 50681799 885424901 67372375 371283151 216335537 266677189 759351147 963485417 874844455 53362497 390343977 851476415 610373261 207330733 708693735 454518165 883344749 939788967 357165731 297654431 118998653 548002867 830950663 7324151 143349141 250986945 889641569 941711005 551363769 137171749 971458473 353330809 19688215 210441115 536450939 705497437 837765631 182098121 264859427 365161989 873268717 884808637 629116301 23469839 154722181 390265837 120629331 215471621 625425043 111168051 896284849 84621915 602627849 850087895 663388817 755704933 867136001 702331781 17790335 379895401 193861313 564854355 367041973 437539213 728091059 910021823 10913555 460759779 384673641 562399661 435004445 950013031 329137055 293712745 313795845 361463 263680571 997385387 65354401 396076125 910109251 194160527 339157873 896002635 192757487 481099929 642799771 607935323 676312217 840505785 568135409 477236491 54800835 822462273 537140711 416241607 960885271 444500209 876931229 696031713 760085869 974939885 927583963 219620495 829433019 877465795 958224911 516048629 776707369 605389415 666451027 706092827 627215615 101891895 473687397 813771507 350472369 788731129 697503657 951496533 17044441 587165401 988449075 386002693 297409085 152312941 444880057 391154601 984076999 196239025 165974681 973124307 271184011 727728397 750242777 249101565 757922243 764231755 286594861 207719049 203584209 990249379 486159335 652640959 183013699 935682991 163756809 367829713 336400077 146043769 812830267 346158295 716433989 382574953 369726153 139147989 957532341 15671383 649389743 993966001 503344195 417299585 995432839 960788029 216244035 697545355 522176411 644978739 368426291 335692419 24011995 507510581 685051829 333626077 584132573 15834059 658336147 652814711 627436257 31021669 67278275 674766997 885150925 897671265 37446749 233444839 847153715 534440187 687984037 702589313 663776837 886690911 253570311 539861727 467147753 136093341 461299223 346080231 558978209 428621999 833108367 687344615 580384157 800518519 548869715 83374229 798588599 497372859 635840111 1527563 515118443 415553073 109327379 692857553 480744931 622958191 688303261 780970707 976092653 46589943 764102033 963719785 690025473 702219315 415772055 342925899 92082747 709982323 478082949 287728547 445879655 614179569 902669141 978568955 787646961 655105487 460597549 661291339 423351027 755990035 415358547 739557103 876187945 158759603 342898239 126259883 788360187 720139653 318487433 687321775 546125435 647226955 369829111 50422671 759711325 353639855 586572401 412476231 925078785 597122113 940005389 335856701 811060849 623827833 667196679 650680383 277251673 779951293 258940095 711712129 151237905 478158931 409120707 317848993 197993111 397035627 226092229 286079141 220186007 327840289 368468383 254450681 954025051 618500213 803340375 556574579 959419869 424016719 958906903 361522255 131115195 132348547 858625073 492714549 868764733 135949513 186236193 181924399 796162897 198010561 496393101 147907509 490780561 922132471 480620349 838772129 223659577 893849561 162048037 499374395 411728179 972071107 973649247 942249265 928311821 163946229 853502001 78734997 37878525 736035735 288484101 48015335 550332389 10393533 543263855 471155723 794592587 488333151 297841703 351954767 503006045 679905373 884723733 874009191 629159155 498133379 908682561 23369585 139917965 212061055 8708319 749876977 32777043 936558573 166914891 805363927 24851985 320618059 164279559 87194999 362902083 394093319 583086015 433026701 552615683 143033965 604923719 868319297 436437019 77121979 499930263 567450653 697143035 988410895 837741783 519872023 117394361 863163765 115309135 475970447 904398869 853099483 969763701 265369159 430556789 380901915 522258401 920973165 799756521 591041785 520818519 146839191 111546921 471434267 294086851 441938115 245892243 647020821 254551865 716588883 650613551 670522461 379394291 888598297 61480107 333823577 573879381 542937927 215650913 581648461 761412841 561062523 684745037 169846125 101406819 188528569 198446873 209571281 764381601 777401201 363106579 184070525 696220577 928012405 532567859 81479511 670115985 580373253 207197973 482194995 479914181 866382277 282153733 657122759 693525945 771686083 693155055 957096887 628836109 62514293 387396971 200043659 753060749 832710325 984948921 603454133 113785391 857908171 789005249 699546511 185137931 220414819 434360591 788433495 905442917 107694483 568613341 957397305 71206315 447700439 782240011 401139783 913593965 448506903 983304733 911259255 847331175 526739869 916078661 955223725 241694591 42091041 725160793 544729265 607455931 345594045 115478233 548916277 110965075 83778299 52563691 340076497 881344159 443822019 165439839 612632585 903359013 820558445 839397037 32912451 874115215 930848183 246729971 993462225 817945775 773694149 591837433 449275117 977966723 431019557 802140461 143657401 703646763 895548107 944246441 601685309 811119349 677374741 998151721 939572843 287828563 902436809 480236823 61415707 653591263 983083283 534785663 649009935 7504223 718038919 592618013 760667889 773535165 47420199 537100109 579093329 93799435 379751507 647047189 433817515 710452103 216780507 893371943 193230683 756159889 745674997 617458139 761044655 663101623 730251835 427156781 354038743 313312683 591728821 914586821 772084715 873154633 846615505 754354419 591902189 507673235 551945057 598528689 654757319 708502965 502261923 49972889 891593033 55418627 678925119 574017013 414892845 461139703 402915905 542045109 992133141 79520819 672765213 351697775 666643337 165859973 690950831 715144289 521145593 554864607 764006977 730254967 950357697 957801821 291257469 618485563 155047713 197259843 323019895 978225381 66466627 433857785 337768623 931798359 298400823 221059091 652226057 896232215 810506743 204589903 43927763 975736405 522507877 970287247 943897027 300199909 891726919 556046045 425228019 711999563 234949203 353225071 853206763 515387561 178510367 62733469 112354711 213395411 37055277 702401259 604230989 920472383 328791525 536141319 332558281 293176329 129189531 315998143 720963891 647914493 185995911 447428885 731957013 284599431 901854411 260985639 959029095 19442111 417599341 595172417 185686405 420811109 91993187 978411735 385550643 331833311 607777921 184602247 38398369 987647295 578348685 495685903 368755297 121015353 973257775 836349791 229663859 562996525 363420919 451182727 599853883 419705123 430043999 574882499 25180039 106489547 751031239 805642871 12976267 361319291 131585401 264319279 977041637 608701491 234247081 720733339 709757337 906938009 789963883 413149595 512515863 398380541 420236741 903835949 402760755 155617367 91697311 463960961 736303913 235455811 398003655 351317223 88097441 850564877 320561915 724330717 710161061 787193251 103991257 701982979 469576109 692805017 22143725 590508583 284138899 292903219 218037413 329141049 185518239 715998035 821823581 884594265 536339069 524400781 827107667 871017927 445815109 622898709 224343477 460643567 474564207 725529293 175927695 890237283 131597285 943704635 158970847 460566495 638188787 671437709 77395843 405169993 253417293 143964315 629514823 763526569 426055697 679427301 15533529 791593267 603057347 138791057 400843987 662367553 181247571 101386095 519343033 636912985 162588691 86219257 862312433 155008549 55596229 821639241 913871055 127078009 45191561 605799721 40496265 962661455 971678447 785890057 59635523 519738313 976691691 959282431 379764741 651648565 645982427 549723081 694420929 494121733 955517061 826452689 44942417 942673621 233053973 53636901 374564211 639845479 921399585 365374077 134740949 114893735 844404391 185287735 902109187 167360169 305508875 505540699 355896187 276221607 788186905 810479767 59869595 634937605 17844745 647148869 845288109 127569485 624106101 830219873 430550243 501639987 223394407 407890579 330240853 134407571 381785415 772416045 447328005 525352815 888546031 90385955 590553053 12633589 244039833 713347351 597885359 753828981 762039275 582721615 211498289 41098603 714904561 269992121 968462087 486677371 429394467 789453293 749239481 927916655 656981855 109766955 755569593 653744699 800126181 932863577 201142879 233421819 689512295 45713671 945758447 190019315 85249529 91729773 7340175 307983755 968981783 624615787 170135633 840104537 969947561 525964165 131885615 5742361 407028217 14872043 724026891 850998699 328118463 501718903 596937901 893589275 242719253 16368295 609624775 609302687 66529923 93015201 177981937 393849999 787042295 545695285 717660077 657491313 691982531 264774361 553954405 273059053 9644199 844082095 811005033 381590745 561699781 552053373 680003827 50498609 608268719 433905843 636241189 496023573 790822487 351152229 839079175 993190099 376958235 706271061 241303689 211612379 984207807 703229419 296196743 792004557 431240051 79928373 18041795 724296041 287406027 410123497 15479265 454450329 644547523 321802855 329661561 326103669 250264257 502835129 328552959 516067123 41414547 296001419 891540693 317673273 924840303 400685877 961407559 293117459 141068015 893012407 957837699 470613363 502168859 569838263 804498085 878013493 344995423 628713863 324842415 507131739 440133009 7679513 258321797 38587153 227968751 132745235 645806845 960689065 528575771 176209847 911388623 814608545 338059303 910417653 744265629 681482137 774965379 652810855 342416621 638096223 557931537 931580491 636068917 49790181 599462165 555886983 483983563 108937799 2614073 36504235 237234673 34459591 568614039 907241197 646215631 735083217 320492201 817638703 209646201 806734585 105664853 203109623 755236071 598534393 649880039 620856691 66657785 905116595 654273049 724492413 340008315 905692981 596235011 270464401 433487643 39273907 72625707 590046937 976290165 270936197 730108033 328520225 271149833 308413231 603428697 842245091 323318593 830562397 854824305 374364223 831036779 698314467 925809131 26553337 189218245 623785659 788360023 294418307 196218479 132883977 408665259 684230133 68740719 733274135 951824449 496651273 107280057 260751449 795578083 96757037 754133799 472704875 298666681 952052331 616876409 253116433 236148315 671134077 941752407 222634547 49085895 706372545 515548245 439305703 311201633 458049343 687732971 564909671 243119863 85939623 216345465 259330327 48416957 203316559 198164041 983403651 817899087 66074165 636761997 581412699 220518839 248270595 797149791 106665853 858015839 593521159 305486271 557559533 442696733 990514743 332790165 733156563 371669549 165731381 742840245 888645253 214310965 161344839 750882517 129623167 126708035 546122843 456002969 919466337 34696395 603779851 428456843 132151031 558801325 138613907 912440857 770517815 686021931 936529629 533193629 452542267 789323763 30801781 5597275 756471875 332423451 525381781 616109945 872848063 732929825 680081949 817342475 260720447 741376231 824638609 565870087 6443905 379713727 647084579 947215185 346975077 479957851 670105001 701840049 653148665 109308631 468215203 627809497 929948783 587436477 593170743 354513251 180279585 516817909 357336887 31018445 258205333 189983705 754325781 600734851 185565813 213819171 146830327 221947351 677931155 931437049 133961631 618069247 86820333 795123177 192095101 637300511 721163683 463700711 547433387 34051647 454988803 396251729 60144613 897880145 883471743 66694125 509974677 179110447 821953459 441144039 7417801 5845143 428619361 404864725 99687481 923525429 939729525 23482035 180164675 630039961 261972225 181299689 238850797 612742719 381749827 595221313 437087467 834314627 787175069 853810161 593335183 448250035 78499225 372930201 178598363 853617407 295751915 861248059 610670455 467356801 253602671 762146119 430414255 533454135 220949543 423774863 360845949 311189005 895599423 419810387 465195393 809961427 466475275 796496183 372903679 594705987 146266885 425822023 171671785 730821375 252915921 821499131 364612565 176502927 310996793 695915055 144665603 787141989 32377137 544651049 243827801 231697113 581102293 282332565 232659815 841397805 915017319 830800265 395778661 926992779 855996757 98191489 912912433 427930883 908856111 584069219 579774547 361451919 535739057 981371517 444311035 348892177 626526911 403213955 250926335 522275409 54838115 170767765 645547741 297821695 230671057 14518069 928435135 14988727 737713767 668073041 254834547 889703417 170101667 848790079 104233071 875019823 222698805 468789181 487655637 580720041 742120429 212498927 764882795 903388833 998827975 20266849 848192671 172330809 547033319 275898635 500763017 383380601 961874071 981388105 189620971 508890449 605489741 965425887 352887335 639882653 681494689 43956733 643322449 635827997 134163033 108863797 568441117 656223355 288611679 29341319 40610283 296963655 506912197 507126871 41469637 744662523 15125703 111701619 898716501 795199223 970390473 938073871 363655671 194033543 751229783 842272203 407855785 749246937 412468259 83414695 527616529 156149513 314310663 823722775 956832897 924811799 854328073 763706601 688602859 479875821 661610579 999166817 605469685 814649689 123380023 960713247 170396385 694930969 227793459 197504565 441108639 70787021 538410983 985544979 539154121 528254971 464707105 358640539 208155291 543777305 65353939 301629199 72402943 40177275 947717913 904828959 977435779 331230055 660611637 935614941 140719197 234242565 20117651 842593481 994821999 839295843 713099461 324447175 707018303 441470847 860623497 562268963 624756475 31271991 596991423 493438357 646883451 109089879 213943669 960550201 806527295 476261005 616884957 894516885 215362671 504160885 311466067 410778517 829233367 301518223 591464537 619796623 213032945 266223171 354947739 365482815 724911325 991033061 612027629 541507019 622977375 896912043 982345289 622374849 511780073 937273529 124848083 749289239 835182481 286369049 116128213 11738407 13090071 775653305 705735875 551474617 302304225 444315509 690655801 882676219 307027455 855218443 29667321 693112191 605080617 579208743 63536367 304935235 821132477 64020059 480748591 520065199 371735747 675627039 271375347 748149903 62530281 526238163 680328351 707380757 904361609 894409921 850127293 492450275 910418591 90387483 929829635 953414909 609821909 139043323 734171465 23680461 85369465 636926559 540068755 617304877 132466049 76128307 945638927 217594199 952787343 462363721 917638413 902042353 987598569 700013143 180707337 483158025 944230269 332240385 941169319 392219411 330544611 566746575 184260529 281239023 560778843 606465075 122008093 166099677 866702797 218235015 261339139 870358415 810118853 399392777 410850729 757504025 306879101 907936485 474415223 771103225 780312533 872611629 761030147 669180689 434783313 785335767 245282057 62974131 284152099 886166471 482603113 640309903 101490721 707422405 999732273 296060871 595870409 869959811 352442513 154329053 432783687 391562649 870289129 225601473 23070053 642390667 14036663 5889221 131247515 773012159 351937195 348874153 197602315 55510919 239861141 812382097 137596283 627724573 593678195 698624779 80243291 313913251 614476389 875419403 693121983 235986465 881671609 474463727 782468203 995486089 335971553 417521787 532035011 198748083 74226295 533506783 565934805 748129889 137648449 198722479 539050333 217444413 732959017 114360551 512304823 70158809 576562243 695534831 285200105 638526635 695673799 364723089 563551653 404904469 68977437 759974147 629960001 865184867 899430093 18348773 822160317 29548485 302844299 114926905 931861441 205160787 100824881 198700909 345300889 659289103 164220359 520979287 988512319 776537571 638832243 884298805 974693459 367372959 500456073 865556907 663401753 313129213 766370439 959392453 110182787 75609503 703075599 392439547 643647783 608848397 919223787 611267881 228526403 258426295 418108687 48004757 796246465 243492089 238494103 891487721 65339441 445582355 464446149 765487167 153201861 272084527 519926021 992911377 329751905 430819933 275774699 248404037 621657227 644084375 321835057 625983785 351553139 991843007 869573819 444097393 526847469 319906203 235575187 213955901 514965373 790556129 349855725 508128013 164095557 800385319 85002277 769530581 74991385 850124527 813689023 733656805 657817965 204268961 681592675 947002107 7395427 624238993 278322663 956100415 782229953 99180023 92705605 882873147 807949557 735810037 403083937 589634791 726815767 786082705 110251589 362968477 992307943 114813633 520789159 937500967 823469003 117404763 863616351 761911981 97662165 535423263 87240243 46278601 944757433 780465851 56583179 448053107 330767831 838595773 583303165 983190293 317844791 407240607 462341187 122035579 269029769 518783937 482485057 374561241 491875363 329401455 117158531 133145805 387798021 234554071 596016571 157687133 349733589 386633493 682889155 640185333 969066979 333270823 568375201 376435051 312400677 456886779 79354749 239239675 930633789 130198111 571219887 76146253 41673073 574474763 18564013 492696171 824509617 44765349 461130525 652710091 254995089 762064049 831021259 139776845 201626453 444927139 12129705 650589235 608006623 452740053 270664145 872168235 329536195 437396359 558908297 26201163 683150133 706170849 180088379 364635921 61242391 711637751 426212217 307191137 364412141 759766975 330459649 337526407 188311275 747704605 756419763 667014203 898640355 25117915 219592605 669769113 416290647 76165799 589399793 397112359 574049133 407478555 457146379 653830351 409175029 493689531 11186797 462942955 578451303 948894445 938281667 137972021 925228515 255155973 620214751 255242963 884714029 842683193 143393215 986804307 588545207 2848685 805647493 264610987 900357269 223901035 625795451 71902773 293319819 541148513 278116373 787242425 285051901 354132841 196343023 14371171 270939643 395725127 178696907 865004489 308947005 452829601 16070549 944460009 839733281 304813833 864772449 968714021 94093231 747104507 664403815 915325519 789159573 992174805 215897871 159612567 747366187 238358241 277422305 669854623 771097971 418225489 40142739 308966249 261626383 989966141 208802557 614899045 686175059 730825129 66063139 766460261 587634739 353944699 93676337 164361897 10534737 131515781 311664251 877095637 560302579 390059393 225412987 345531127 111589639 738880785 911813333 15656067 550338085 427986365 469347923 182578263 794284173 371364087 96585707 128737721 926783013 700277527 525825205 685690197 697378429 227895393 620499957 905301057 902902733 714443771 311321625 968790265 69069813 774278391 106703281 954714725 261339513 556128079 971772025 135058639 58392201 721534181 102606933 620070125 289282047 880286849 15989327 778033375 290407001 340541653 639757725 699944743 168627389 562967417 668797079 85190067 703732219 874762735 340592067 316528347 109711753 35173025 644868811 991991895 176177289 684371423 20626817 380146769 628116673 64420579 53027553 699556949 41434015 187847887 432843791 378615895 38344509 298592683 850496343 11197877 767757655 41549673 609291051 355425843 162491479 319964385 905964837 985987841 933489225 482616021 650627851 211353523 491981801 932833519 627021255 585415493 289759633 387534527 890191979 610481437 488603725 23807679 682370355 990615561 966362313 120767823 878038149 625220925 858870877 869694395 967730153 308950873 4548617 568577331 596019475 852672351 727534451 504420303 616157 254392253 330322923 566234513 617833549 928699721 476403561 152831329 245731725 953400383 486671757 918123027 113498351 532141383 81259163 361762655 758554609 628574827 443161219 370254055 735766581 819359267 487609823 918458163 634476677 118080075 354233069 282105523 56509397 277881639 143735955 630282947 77989951 46027879 745539937 597779619 5244937 125937693 811429517 515850363 22129311 455445961 413264633 980880991 276978063 264900431 268532267 436318023 862969241 199255037 68123473 529877525 579391903 886798727 397593669 829678735 942560683 521832203 436788867 751915115 376609777 261547023 947801139 700317757 754283469 805471615 223332647 345290379 180861121 230831281 114153939 301604029 810399097 80550497 894709849 125652003 22507209 711604663 639785853 926770933 192206507 948349757 775112113 208419161 242263875 54229995 175693323 202253907 426999259 554851867 124350795 425060567 158285801 161796245 797468377 955488959 291885573 873899399 274332097 838152139 670959859 970036099 727842237 175207075 246610591 171596425 296052267 177625051 215241501 742129917 566017299 355261675 747052969 987776683 207023141 808825139 349327267 192139211 815820213 468538621 801997719 30614521 49612743 700545661 441062457 590630715 160734975 762920647 849238887 75644669 591126957 616101089 706500383 602899219 418554055 309717681 195771537 500786877 433146095 295440907 218667789 293873569 812262763 667717029 193642767 309758153 28770601 86354467 742401339 587946923 675252675 369093903 86809949 899779877 423641205 784078807 899367271 387268733 877666087 284824789 777665651 226429025 319691115 323791437 848741319 599700963 862658421 914494309 963547595 778897793 871330087 126939953 793079575 995903523 322958085 296274343 671621985 673484819 97791809 768753323 501419151 770361353 327646385 54408965 262168493 692547617 804599765 64360295 794613741 73856735 851745747 737363819 288207785 861513267 837280123 109543055 555844455 24310383 534489157 696387905 602610897 16024915 618217809 500617677 82305467 179959045 701788259 257856879 86455581 77463309 995178219 845929801 538413087 731746663 659178755 7992163 988204809 999640427 434081895 969962927 151455823 268116705 780391809 89704711 100391307 63615221 62135391 539595817 977198723 704720187 444257209 768038081 813710369 469252789 382321645 800405599 450694521 321717955 359799297 468769663 17007813 178874935 89501353 278731903 381645415 671135809 932441911 136929961 318118893 464543107 547568301 302204717 551090441 620538111 175031987 711858729 678800023 460420899 912580757 967618457 10542489 192699079 272739917 249770601 452090429 61528611 24483707 346477417 429793489 994557921 495691363 941803603 129591509 905741325 755519735 157842121 416767979 90956571 612339661 757355347 796038877 74340585 228391717 352351843 576872097 557524925 504696805 394309969 381396303 700563777 457058461 639995231 945657131 946377103 692215429 438215863 218566049 451960865 836700795 841445225 995523653 700688095 120413703 772106351 382909393 183569171 228896857 963326123 683003177 864518771 109406023 493087205 823890007 402354207 20693071 577392077 596452241 146284953 674362779 514374399 187500591 715708879 540157177 993919485 83072439 200407063 950381279 986977835 436188881 202521389 305091951 909059295 264460883 914401337 920853359 713338449 223070263 839202247 905361229 606035619 202907297 205323465 465884193 172495069 157269213 237629857 2419373 725037551 320098395 328495379 797643859 449943477 133547963 152230217 126342183 451143663 236167611 546564829 110835677 864369991 821775435 330712009 197691093 972445261 242568059 482052211 973780761 663987835 809618569 818871977 594326611 873051441 708023509 765563551 119246047 45938363 729693933 618466291 197322427 888550215 220969857 737877675 387698829 521672177 43192945 416036403 765427879 889916857 481544125 235064417 666234875 58628745 891671695 713375347 467232557 532481585 920377407 515566091 887049091 274539369 369331523 569279545 308570605 910165207 791788611 293896307 908845569 423196159 323207943 712300437 249054461 404560983 602918273 340915939 937115851 377483827 422220497 833113355 993547513 956366809 349590071 434583845 860114877 200899185 933351455 992187305 959004409 784827147 830690587 256709505 277318451 480216479 331870441 898033401 197280409 789064723 931659627 694780101 698733059 142190891 430906795 470183683 712311793 485779355 962636509 284557881 790019979 876631293 269103965 84214355 102011805 515349201 973755309 554668453 321137057 50528127 542848377 195613681 694460599 108293979 85634195 823868759 378560163 42760603 645301241 43194727 887389399 849110373 763762893 955607061 243603305 613470909 505427801 973084865 539261465 79648663 876352017 539058477 23569229 831814861 410107537 805594247 286106901 974767389 744520861 485555813 141775913 173164085 4294429 624201669 317864679 334186913 103065895 539725323 890682455 311243743 241358069 454149123 146375463 483553613 494885099 706483429 242763441 181367605 4357267 98416973 488176625 310023369 271597473 213873215 727114897 66200099 938055409 694087211 553770975 244128577 916941191 829313509 884353489 560730383 856590731 825362345 119579657 642616415 424596819 888917021 498543821 221227751 739053657 351670607 170257931 552728651 345828417 887039923 466403419 78099733 797501399 758773543 598700029 637435827 854749707 981468657 375103449 502336383 99092221 497705405 127451259 730138555 774095083 409911457 920049437 559922323 566406981 14369819 75658911 391646739 301292443 285017613 118593669 990186807 581217961 707976135 180118529 988276449 416881491 556609279 447700201 593898201 250570149 804676817 285042875 400189649 431889361 901809857 836876705 831084897 282222897 859507133 418170731 43973389 374445899 876148509 823912587 385500987 862530761 472146843 338440997 904267581 12138621 946857565 600767487 523719501 648617571 917018095 740224393 97882509 796424353 319677257 371979479 171815685 276609661 984916167 167974061 773669031 537297263 697315119 839064687 859972171 63966737 610694317 300855595 428027827 87081253 779683799 565015197 147319177 478507671 875885737 75183135 218863711 529308281 226199433 483721661 191424427 887012873 255132231 531405603 70972113 199215783 898951443 835097257 68369943 896028897 870384525 967061583 102324147 944459113 768375741 774428349 452365499 629938203 962168587 948583999 782874161 977209593 968855375 570964943 291312639 578256175 666707911 901416461 383893493 416286225 325277717 385191997 604901069 858899991 751400267 321490257 588959529 445899753 28117211 846193375 556807313 479064399 761077155 336561701 588733045 352688701 985942759 305845005 435634993 226553807 938334039 634583333 414585095 711414087 567295495 307923621 108893979 418254611 718934899 469182315 648550019 24943553 22489217 889783295 280033591 732431633 586807679 478359697 974217497 508345573 866125601 454405621 539544305 506764359 63408005 693508269 126030703 840893037 968256305 384259041 979633199 815821743 59171857 808725599 760081073 606273681 416838267 913965469 968835935 742142655 249480749 279439549 590508169 791677453 521600329 857987461 818144615 512584565 455124833 560444259 762049823 232288283 159309413 270142575 370604471 322047563 776867255 776091241 786900767 661762165 723689241 182279607 517794867 86857271 923786171 980865131 564719539 248306517 144738607 730894137 104175943 114183351 996604533 88306305 12237443 704733045 857750257 274809163 847564255 650141125 144059249 149465671 444733371 250114061 976245545 315081419 447859043 442345431 448334519 91806679 325505029 126687961 247163681 652976913 310623677 476435947 462212307 135096777 560327819 467275795 140162209 788745205 524412247 325027707 388737741 953563447 730986229 791375477 373982199 777817045 543434011 543104125 4590639 130283455 286624623 93365049 839745003 361446281 245459061 67527023 302010629 803672949 125629601 130593815 433242053 333587051 121532749 976538955 129098201 413023481 219789241 434250573 960054611 863385685 335103501 152079751 463801779 369761633 906248285 975076241 329091291 894746529 101083551 925757985 400455709 295566407 269159097 329695775 620496171 581935915 386669423 907160467 772502307 841505225 64478069 273962161 591203209 513556553 837570917 861445331 655069005 479812731 286220221 772955007 121862083 724795095 57117673 476050783 417974695 91441021 757444411 531671879 625440287 155460401 125054441 699695919 350439865 323140195 772515865 280375615 842898793 499137581 665137871 584771263 134310287 835446093 550308607 362676003 489800941 128625449 455912577 4758791 202131889 186375889 96402713 183260973 375607921 953305597 746161517 703561601 315013417 612913675 263177743 917311511 934439489 856221441 602033275 72483881 266185091 402634387 654059023 588398875 473265959 545963795 669387029 775753079 585684681 257366149 596222399 15427057 953680493 147904907 195989797 387466853 112028035 744392313 402534987 636890325 322769373 27327555 895051543 812281455 264118971 618807179 576416603 434610817 215254465 681134485 310963665 869281163 195579389 873292627 267765019 759130671 349175011 275388509 703780033 443807289 917277009 887089647 426647093 433804697 862947981 819898865 72904145 776831341 884780867 501193203 283473363 942780665 248162439 640920621 961183591 683152037 722205915 102870653 777089437 380286727 800234783 118731117 783928943 11041753 608766371 797280039 93434815 614825215 347608861 309860999 9859669 574813573 257345447 531679243 101895907 214912155 854140875 989053657 533216001 301612193 385315185 652267969 457001521 134707221 160934641 189534265 666818781 415773863 617540617 401540451 695207765 390736935 414952669 293406981 309211349 537811857 773202169 600505997 76695673 796107787 613349461 180140565 843082319 827234779 258926157 530825561 384973383 865033081 349923495 260439235 914764601 500972159 612010127 726937695 631263719 84850349 434530201 440404713 980920315 449747699 134378693 950882491 453465861 431780961 551067513 839386337 880124287 835646773 689408127 435936263 766807497 67637199 715955981 568171397 49108271 875235773 224977857 898247771 866578145 624298161 846979489 526294063 555787511 843348359 813827353 682575441 376842611 820002111 579209983 66497209 597183295 892998665 387373969 50797831 131582763 652833847 428237683 684844927 467431665 67848515 505191601 403187217 88705585 248966863 51114947 552970071 821735799 946383785 67482243 216060303 400754993 913187011 727561531 833345439 182438075 380354617 468859283 336052759 388701525 128221261 321320869 65618477 723951913 230039659 364109547 651203779 656589895 774662183 56335691 195234655 851575719 915614777 642430995 752169775 227747887 869669769 156399351 233439757 922465699 527518239 301808405 815337333 70229433 113780271 858033139 146463119 868161799 729058069 241789053 82271277 677949453 24782933 764792841 638147011 965402169 730748567 161089875 685973107 940503257 587719345 116906881 765486849 901121575 417216669 250460451 902613471 535199811 571755133 400054569 46560291 213377079 41381793 634024437 322791565 252045559 497742199 319077961 297320067 613133399 595101341 190509651 863978775 933199389 75297749 22066347 672422909 580538609 400878349 415903049 520465045 987869537 87729749 907892887
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
