1
200000 1000000000
271773247 676077215 370511021 411679545 602513975 95992663 850326599 950967571 12079041 324412613 977693743 36541037 115063137 86838169 587439513 539051471 782462523 424801647 908976867 895592229 379371805 908106695 805629579 407720133 42157955 893072651 193245247 605332074 82688647 997628811 362538963 463631423 928641013 923644545 398349377 863710667 647293241 572584717 197425325 310650631 952168555 424757051 790496611 125083983 327702347 368581881 439259859 161388135 585360449 409824035 799691419 294565757 456831321 829233273 425204351 992331305 273859405 917357731 905204071 529328485 564472443 997490485 416042089 971026071 660452333 327848615 606168513 672822411 408477261 456203609 191213007 508402811 12094199 275948695 470784543 950310143 203587817 157672847 61405287 560661789 536425929 682204253 854797183 242577733 252222695 590854401 806529645 265339979 424471611 502475363 624741723 402301035 645114723 192262999 331862171 968015437 805126311 289723285 608831401 886864379 190566389 511611069 734301739 203977195 622149605 535615833 341172455 578275837 998674617 260623323 588716245 365604467 288239954 504030621 303127567 211243259 761985095 649036767 232451285 7522221 333887691 869468873 851122327 894441473 938120123 107336815 724533479 396760033 762400419 578111431 388428925 165348505 427848879 88913335 864764993 31023069 844119479 206253059 613846585 552611017 726609723 744087135 275490461 569270503 818273121 820768613 317983943 823332641 489754107 708924819 700500025 389116107 956550525 43600981 380544415 957648037 238587911 744940285 34218445 990538709 634586209 957922755 516409531 928209637 952196859 312581831 239543953 373237451 602104043 439582483 418783383 583372261 135326447 203580313 910971457 618984185 570353265 661716017 564358699 321838131 765103743 306370207 193909015 37040681 841168081 960594825 845698289 361003737 303367877 973983619 852086221 107892901 153522787 172992003 421785317 485603167 158433625 720941165 406971291 134491449 772638209 506608393 907634303 161467855 44615255 674588681 340278335 694307115 346086661 488356485 305966777 54991029 722400343 177440641 82173423 799265351 864375113 330979043 762679565 314858265 140697717 904839805 328269671 72352469 190552359 585499915 923911031 880266887 402909771 98464041 199799265 955173283 292886393 73534053 413612145 567197961 744834033 692180527 994373399 159736825 406274457 581876961 734322929 855837477 820502019 603827897 362829123 602033569 961732963 34651875 272391285 353106921 971466137 119520367 48014621 18630373 233357101 479405911 420237045 5268191 917585999 148397949 780539873 243524237 792494547 699373481 184474349 114665487 14791741 214164621 219072329 361193447 120087217 3431361 995320149 761351685 971355647 401530055 629971343 473667259 592031135 877659657 576434599 89827273 719807663 630365655 229641581 399279953 506957557 319929709 517617117 716613349 179370469 550118375 860648989 601089655 501714833 732816211 871134323 711086949 268286907 907886497 843288407 167321971 129746123 633082793 136592993 106701265 11494607 485292589 978270551 663887379 696358013 563757783 698711843 610152245 202436663 826684727 801652439 161389213 858489601 505326023 360766641 441513241 733823373 541377257 748879121 592845277 682300209 391973859 452564357 899358601 635256045 983895531 221494207 249234207 166628967 914934039 216323737 625187085 25567985 297482089 369506073 765259817 394723967 883230155 642919273 427864241 400209073 402432269 367483357 896512327 60197327 247314153 105676781 859838973 875143625 562578175 19692865 374492995 385886003 838988763 763570849 918698235 335495761 434539499 328635649 259060071 657030151 291959435 409386621 66165815 802775269 913372923 787866455 393211773 823389731 695613285 520801019 76338361 447386269 947010009 335951099 483781583 484214751 735043407 345714197 183662605 980242197 3830957 959630635 491825959 16551961 468888503 99122759 827664445 909554279 136991779 625737117 480591055 319233577 109028999 195719817 582425551 70017323 169296739 825516173 788958353 553091561 74213925 762094167 413824467 222883965 648772635 515104437 270852279 103947187 12510079 974899623 508213197 167640567 804037745 409568079 529112587 376639585 627468795 642710775 303588811 715970481 720944401 912568853 918340567 867801421 524083079 787931457 336945239 904916549 838457123 208797503 888496099 174197841 582294157 443740157 217403001 480241359 648720467 460816267 266898045 10072007 241938931 335609637 71216571 950343913 141595339 737753647 375766635 670392971 667826471 871492915 326290985 508078763 10285365 342995175 397416699 982435827 976990223 229293347 62339661 712896177 97729209 584754669 623918067 35508701 327210777 676686445 167692591 589500435 672590083 253516793 994830753 201924767 994278191 470832395 95257177 507537007 353168445 2640457 937108683 260565783 287415735 73257337 367375319 833606617 764262159 510850707 793287871 460609693 97709215 159997103 536838705 526608623 135515301 923818771 243691843 773060363 557174861 348175913 430755443 424041163 165513897 655753347 22945955 32084665 311623601 703023069 34180133 417023237 451435333 937974301 21096873 11599493 637920815 72142409 374670161 641605561 158322977 710547865 340763553 926993351 555086259 645787751 934624387 995952513 518241129 10745653 975838289 182717531 182696105 275339693 544276165 275417461 82891717 166434215 777091589 299372183 575597561 644112921 77690271 444552495 507266147 642295339 507355527 794945879 908458765 126426149 309212443 710400205 112202217 96142971 355165729 425389559 825199055 15635143 49638341 896608995 744871809 263391441 516028317 342812237 505009833 820957053 20555429 70691985 594783961 471849445 213905989 314382519 453168775 965397057 538459463 718226285 676950039 507673843 5834977 253473803 378212561 692522889 682232243 465401745 944605671 123050935 418679999 739183015 51317105 79344723 178613877 799484313 317821809 405644903 20373927 87833955 398871249 164539929 151348373 224007327 749366369 770162111 920422371 638770071 61504989 130032849 943647645 228615227 871809249 776657143 253911099 507749153 808601594 113664761 521516441 617052297 748610459 662809549 694474237 704877401 680578329 723869579 692571411 429503011 216130487 367543415 75005679 717990425 568539551 109125117 659059987 276036641 304740065 578267569 849684319 254448573 745973881 458513997 364770595 470469149 667934531 151318197 616264211 259091739 815601933 523716341 947557199 749680179 187942791 217610557 662933081 838056335 533944649 312915691 120807967 134980349 234844885 374295939 558083575 503023861 502501269 913054637 196072095 877222291 813614809 990007359 348934969 950936995 385701083 744564531 299225687 144679313 536495035 302000815 442814699 654636151 163388037 627121657 290546003 948281105 662382631 926610057 152240723 880129223 325386877 722558199 622976539 266616491 720292167 900625929 339127101 275167345 127469359 83830183 233047481 774027129 904348357 172379111 565620211 45330381 228810627 719515141 298407865 400198937 870078153 772841825 326355263 503093173 14023395 461126281 746087973 7434143 962448897 436671535 538907755 564997507 319649593 951729197 812753283 737247147 887486865 636277385 92824385 869696273 314764529 333410413 356412131 602028115 695242025 141382443 86600715 859136697 490556659 106614081 679642059 234393905 455246063 954808655 61584275 188899669 993031337 846112035 232760901 96359521 705938831 270539951 526182179 582778431 470609405 205148429 269080797 29936253 815725619 93557123 176106117 379234641 905215833 171107963 101194395 95451293 548022915 952717449 562300931 228252391 66821545 988649317 474873609 97714269 229515435 448601335 523685989 285994967 60033619 947748935 427768883 551743957 542496597 188990601 973674745 279306623 911221061 515861529 859391651 828254625 368866729 860276601 52090247 933843895 332146407 247863893 936083297 149625563 540266323 364038785 436299351 531457239 494111269 610087671 823800823 340472091 793077885 906909913 246537271 45955005 201645157 987652213 303926897 291513981 772147151 67597375 328082029 387536321 711936405 789006799 254751575 55386009 67407991 407364329 118954183 915278013 298586141 818364537 24852405 567112587 58322459 705079699 820761995 957255947 410881767 114711153 719833363 70572010 264308453 630525303 800844165 147336069 383453021 126108719 895954301 964387031 105422721 76887117 552227841 429682053 786741099 233321135 608034171 151579875 89219355 235128403 652398789 527964391 21205369 18151271 103851545 832724781 20228951 483553855 135654429 784544769 318351473 738507863 75387103 219462479 734246501 697145167 762213075 785793967 324251581 321589747 696754135 527563617 463891179 962260793 654315057 796308813 97790279 553762617 210656653 575775231 693278741 96072247 304908289 591143089 355869563 203995041 383248651 299846723 940193163 12145415 553908877 430420025 864083777 46864677 36688857 507432901 290810233 169394913 750637215 126066877 974691331 843463233 854860289 84741793 783697033 964712829 697420161 238850967 396639147 464356845 54150159 652787055 780213221 315001111 778854141 334018721 370298019 21010853 782134539 814822731 969510197 146078313 448716637 727832117 138507223 687266657 9020033 683408845 212068005 364338861 557348715 937727277 225236653 502408091 319432313 913925905 201703647 46525341 580916847 480510179 569583891 270683981 671902589 883897777 234694413 290235761 194087479 682318129 833256819 712906227 642983065 284104901 760975063 488877797 661838603 584416881 621622451 287839621 514141527 708394983 831671913 749077299 325010355 588897663 732502593 832626813 938286527 325642037 929562219 275392533 387733373 895556017 971839491 462290903 72517723 744954693 986423307 262948293 122906671 167034085 654662759 979987723 904378423 116646193 672832239 551168253 929809431 612975473 789284439 857223701 820535003 975069333 633600321 831205621 414245371 122193971 187021113 71862635 573652051 259593099 801717679 209783147 785836839 583628931 308588283 256901643 54000935 985798315 903296351 959968405 586748263 642136633 934584837 378900335 16432739 562977551 479194109 995598639 841598721 797218227 57784129 796707727 794802575 931417685 695475633 646471281 254216897 517801417 442076697 5849317 897703095 284466835 378435879 312303641 635812849 787831253 792301175 489303147 383264867 970092643 651432841 621666909 711215197 559080371 655519943 219797917 543779741 297418977 55471233 134290427 575464523 791744953 453395441 177473139 612361201 260276646 462732343 817051689 487555719 182495939 718207839 404820839 91337063 794801357 573375319 614345889 192279643 267278379 953258235 269147509 822879371 483347695 858588427 146092961 632389521 198247885 529549615 327946261 719128677 175021861 750140667 918578657 835526257 10791935 4411623 192919873 504288385 63663883 93406035 188954265 183690697 817717663 693766027 488909173 98861287 778471611 718337725 951706501 414106849 426866693 935800581 447721897 860460579 43510989 45597795 27366623 412182915 60948747 620087743 579029847 100484925 857194589 228957165 581065057 970332151 35778825 271761573 138549371 683149761 910653699 312754567 501317189 91343115 91474141 670253341 478245773 945944503 25605339 178789339 557819203 651210247 230670303 459481365 366129031 383482281 618611837 897354769 537205401 205858995 532903913 80583413 511011813 489580195 746388741 176333781 106839805 757914461 784508759 69771177 539465375 797271085 964467725 387145553 583617963 752441035 936680191 640905879 653431855 33467475 35887533 798550829 407828061 506428491 339508797 854995373 973481871 180594077 386582145 915857045 634965323 275912611 655296749 216460115 221304379 781012759 692177825 861155123 698678067 425828127 880438629 478260339 584624173 236505161 87590057 128420657 635109707 416850827 861197443 787418231 628129243 407272767 686630833 398714167 214972751 105339949 855637917 746044747 872444995 705923713 525203285 430863985 49751417 839017681 758131345 272020309 616765149 113886489 536079023 475406985 503446147 494332865 228932023 824513923 574022565 777536147 339759447 939198375 572660135 692886471 729429481 977905981 960301331 842907385 570346345 998161527 293181085 374230061 720639617 424805999 149993505 910007507 659502973 822674979 818669987 921125565 911596377 973865342 631441995 445565739 157169327 592422995 840189295 508108737 269037771 931600219 10047369 588034957 104172697 763898677 767567677 412952067 698798001 63560043 891221589 991855617 983388499 204028271 403711173 271631565 739397989 664575897 51165611 554863379 383229303 653642283 91428421 114921961 607625153 647412303 86704897 107354571 677369891 296406293 657177715 439246751 367748385 992775289 815705175 754471861 633678573 297964631 285833869 185522365 682538075 577566589 831072289 188771033 3203567 932665499 905179721 215147659 178059469 254019401 80068957 144337345 865028548 949076235 596284899 303257809 366140495 200505413 367257987 486705529 547113351 226710863 577999891 467166173 554146617 199740765 157499023 703249803 829293267 927723921 715357719 770266743 897197161 650934775 266659065 79190013 516138429 949846143 114823589 334967783 458396471 918269441 736010683 678480735 910764773 401060671 405484283 778469881 911033213 869031395 224919119 501558455 770829153 70114173 728622799 623851769 772071317 287435911 223466673 191922063 723129547 508456803 273653339 9969069 294416985 571598679 225034073 962471409 767131967 552563609 576019805 810312545 384866083 418121279 790473027 425115755 540458839 267644235 602165261 14013409 198522831 40862631 202460135 515758081 672036395 395990563 625591587 313448819 423231667 40553081 604978495 607695937 330102103 144589385 108374491 484049635 9903787 378783263 911850437 962130229 453801203 507252841 158337519 50646907 449996563 947475075 276302453 714263909 508875163 317220781 743297433 223974149 544934337 313896465 195139783 221332955 859394151 596038591 111543699 415767499 332437267 550006705 594182327 177683491 39591155 818905799 231188245 572152471 442384353 485371085 357867195 859295813 869079897 812929393 217491421 173717683 441385349 862516047 614054867 678698189 322652209 928678119 409984033 496564713 652933593 795453857 39350131 463534787 670332567 281037521 672787613 937545347 799306551 459126447 627291545 721772467 45919267 211905371 360919691 18176329 543795321 90273761 883459773 122340261 434608881 669536559 333530019 668247433 246641913 720656673 169143769 429198117 2248603 714316661 307648035 692286731 818869905 863845081 190753897 24588603 98826553 190448601 466082497 914994201 72978331 849224691 561828965 399471985 153092967 889936005 518775481 801942395 960616691 949654491 817427529 360397267 653229629 919622691 943231941 449856127 910502383 657778297 742711051 884592873 318994007 240058843 496647711 787422443 160856173 96866871 753122345 137195455 859087564 378288985 905577089 496216333 65170115 685859839 629396381 372405215 791314235 257106119 987205667 5724075 31487439 681732923 571639775 451519311 832519611 439691469 725468353 143815697 759459561 909541335 902829545 737021087 955050213 909577367 964905621 151248907 145798633 482597435 279102261 708474067 802968533 384829903 691714649 233615839 803801389 956575569 202549695 33523065 654790691 671115423 448634695 92967513 358805389 356013187 7017471 648508571 675422186 938604975 843734809 281676995 248882275 387809723 740834031 82791105 272269767 13229611 154997767 911505127 916005771 359056741 514630667 536989941 221651663 639729083 943804621 393498383 945981787 454926953 769544011 708760771 757410973 766955661 982599845 966740997 665637551 338934321 502154025 46611509 836850511 358727 934385993 484608275 588976353 20853927 99744417 886309841 811694457 863470355 79402739 971283971 487493069 134482999 544377131 560797863 205813819 424620959 471174235 62588191 413628873 67962823 988644545 44145211 270625067 841214225 755252927 398198577 260640691 254887109 657059807 667374237 953621603 553759765 917126613 58924419 150825187 939910937 839190909 922479697 142867071 952240083 996446681 702336991 55503667 686147373 173407509 257352805 386618521 298224633 789135749 505829517 23948027 51657709 862941859 70202467 968096841 35956909 866755603 634912858 301137177 188590271 461199007 339415123 958813611 751282841 142027067 268916369 711524069 300867985 388662275 349081279 231662425 448241387 846126907 694380791 24994361 312064715 641472587 423360179 755035755 215940425 533855945 71946203 735185777 817950553 857927535 89508793 444411003 214437341 319179041 339707395 270085987 546691233 308770793 489706455 423236517 233891157 853213693 935392955 361551723 750107793 687605941 20071837 531845763 513108183 555155349 178154447 304105829 999028113 529216331 932299791 303417901 907643407 412045991 932069765 289160103 231264907 123623845 617581245 110496319 403527461 397481577 707583657 158705423 382771945 666302527 454613419 761335507 136422087 973133463 304470151 719778547 36197015 810091535 138421095 511684737 16827931 143169899 513516261 655223089 533987835 118751381 184663803 464880227 635416267 287105951 356200463 975533089 162338819 652210629 52282863 460534295 539534085 822415469 876996303 622869661 496058391 767356445 633926733 160470961 903178607 587332493 948611695 920403965 814381603 446643861 567284385 784671697 848772917 569510715 422356153 847740449 534089869 979292841 115877875 434302349 840702975 604270129 311130103 294542173 437057091 939459153 446894543 9255551 341783033 963685801 813571315 297398925 468990637 361463303 868179005 175798979 373768141 288529245 655619319 347371275 210073525 577108167 296056777 578896115 578895525 76540295 8500173 260406449 504715205 400036361 875497339 858993191 15633449 710847711 195170237 991520219 411369417 854923207 886059231 497358331 847553157 526439585 203749269 120274783 633377575 696264827 654167549 62704263 407661667 981967495 37099677 983168667 293733837 742487841 449934689 814427239 70371051 637517515 149403805 704476519 412138531 765796657 77374993 148529333 56716233 850214439 198966243 578034203 908072213 752602279 750259613 19837193 265459495 949431765 299339573 248915349 848531977 328824827 493919243 891087231 41447855 498849677 1363937 121268525 351785709 269467687 403144165 694428847 590909577 731071371 136117165 494250173 880498217 618984103 857909303 604724149 216616289 570656905 609959143 600501407 641983655 149213041 683822217 800247849 360644191 481378753 808151124 832732589 759998931 907701509 447976167 35690535 32939057 141367533 468574019 986063169 654071187 639893079 993710553 813555273 933992957 838164037 984525179 631200055 925010517 774920933 373246059 153581991 189374829 571395719 520000329 56774117 238065921 105987239 294448677 400376285 748351151 734005481 870214003 969458726 464099073 963170327 854374673 21026051 808430185 597746983 54524741 55439705 54376511 327203377 104879035 446567349 12554695 5682043 266345097 743728977 648495911 532673645 491762987 934421773 741612657 140668575 782125449 675918957 113980065 907293895 455970029 454452387 608729237 884928459 508218639 590408069 788632599 598918071 803252491 32789649 584688857 674060475 677336165 359254002 695511411 375019063 936236555 778470773 539138151 774553003 971137365 692527503 45121311 614399937 841154813 111396965 296419053 40030033 150210089 757804727 261986823 63385169 166658917 47525115 401635473 329231591 505208745 63977541 737502099 723344479 405711185 433175891 259862013 843508267 109568291 483105679 82277293 143196903 630321483 53314053 387254879 594480979 933262943 481092209 105753791 433420639 56475739 571073071 596455773 835755293 471965093 509233989 718423475 56183237 839933451 419550053 809509155 46268095 142456259 710007015 750328309 641840275 827344486 790812103 163677275 25545205 734656511 57844397 346355053 797813441 421115897 792276457 315844653 98863865 628504103 627874419 283052677 302039497 401208777 437474027 86001221 941033603 310072961 24236181 195861543 273974181 174719841 295562851 422936267 79166929 508307931 387329515 418207677 446869713 828235469 125825643 517195885 175213209 59862395 981490639 119203123 796010565 400473237 355543969 967882833 711448343 989998893 309120025 446192881 242235259 805312965 278253849 996170275 396601349 336140605 692501799 675213281 558012015 75254757 619892851 985135115 690752157 136644209 485361617 942510957 170057113 645854463 611052997 665382069 312665239 33404949 188027249 706567039 755918323 278520735 267963817 344443211 222858801 252176371 762031585 625242243 983486201 493205199 318131515 125860727 165107233 470355029 996793725 334362977 945292963 113507863 703454741 244452193 334455203 834245125 11210011 871729027 312974699 984285569 248260687 105702325 682231409 936463437 42276887 488934611 612775501 557139865 281364101 275748253 413202629 899245815 663829581 157804477 881916097 194764135 836094927 145118913 290797399 525833293 702348307 852837671 876509377 165448311 730778569 460944719 950939493 331299609 11528263 378276991 688579785 798595793 745323661 869550571 254385829 680107685 566960705 491047853 348147153 813138689 720409267 122415557 852770131 188557497 468637145 632579355 519216467 983307279 450251093 959995523 883231273 609487779 86327661 798705589 807156555 995209605 66082321 869012049 926962271 677617707 262495701 296951523 13492785 304262511 795318525 342626777 250576307 436978585 987318891 419607181 824583423 400176727 916708531 199193667 571954267 529358267 475891977 94132513 411797297 294675269 163091535 123477819 367344915 515091671 183573003 714213769 487789247 152565699 669923691 683534571 892442901 512313275 697699399 842813739 909102627 340314077 784995871 735853051 887437851 719185325 919005465 571433461 186999385 581306907 791780101 943513497 192450143 115493499 214545499 588440655 387312857 504886665 606291259 829443945 118591641 443831403 668369001 584026915 383208861 724914607 896678487 491089819 50226183 311160393 690172955 55812059 850570529 878313625 430599283 694869717 853420639 31074143 790966473 464119395 496376413 413782223 541556779 281097283 317889501 734429049 685318737 498441505 737367243 832617819 798538393 626093967 950114107 658581725 730182923 917852419 383873637 527328201 710234965 908403425 763155377 266411607 690273745 282443633 91732903 816653347 908453499 152665317 709215485 824495921 256618491 912010327 561408395 519733999 582101155 424495813 515297109 300537141 802141031 556883995 983904647 24424253 277628649 858246187 939804533 284023981 145573999 409711531 605025177 741831315 341654247 782532927 273699991 573318243 376054249 19279471 824100409 920691963 538985141 267797677 316180085 932541857 503135025 437822545 372132963 829385985 410967789 508057501 404113735 431796783 64672289 134563771 287986575 765814701 347926189 651015613 168761291 70262363 741741845 862670745 736234935 357848713 473851273 938809651 740258103 220457709 285114083 663098707 809187159 614036385 330388897 726253225 318104903 85506861 394152169 788815569 441059173 193838975 154016139 355452237 178498101 736933097 141334268 411067011 379213665 669858603 635461217 321984197 844822715 674422889 710682493 75296589 194243903 883786799 672071617 812176189 387050513 116585589 210230593 307099291 489308029 230215831 530093503 862549853 838112245 844181595 11376547 866929753 667065107 208738027 158299899 906419793 137428637 859422689 631323773 924215535 285077373 846153783 793657993 145846211 393849541 992228691 743124521 948381511 399319219 605486083 395615753 174040029 691053479 810434941 313578881 368402637 349660463 165827162 918030737 718462279 120090365 85689765 232344543 956635495 48314347 105455047 586194363 824625453 715599615 264189335 45658909 940880771 599031907 30139219 797222821 566508345 912871019 949967775 280307607 429525513 968145039 318003847 28526307 383671699 441514615 706172035 201787939 575296611 538603243 668803949 830544277 835399913 707073247 966906255 435949087 155514491 842627181 75199633 849504849 332348511 93976029 54425741 470663521 54630589 539458197 550964989 369474097 958722469 189952041 889407943 829913159 801856528 232425815 544902713 914175185 186473697 76628737 197160967 471314345 906276833 29668145 473042511 382243403 33846975 70624283 730868887 778587361 19086871 232195355 650720203 404551479 820463209 740171187 644697409 851512263 260069661 408768143 591585204 316281521 825122695 818689155 125668429 676997305 8551391 710175113 139253145 13274705 193449541 653562821 887444617 113110671 745108421 602815105 436927871 699019827 254829389 340874035 478276925 680654501 505124537 85938291 880671729 694871793 920235975 40089861 511487027 20591313 77156133 981980886 68024315 152578979 384014177 307568631 712961459 450318703 888216563 774061991 122095399 37880805 640308801 565071173 556803211 395762009 99152527 106747229 849234813 160989647 838911249 186301093 976915457 602247659 615465697 560953077 589574535 27645949 476057341 517731409 572837347 684569851 116947795 935700967 37438545 107578759 787498415 814523143 383290487 393080038 723580111 723797549 115623267 112416777 827772241 958749693 883566219 402709127 318487231 897545795 525033673 767177629 79338634 131579121 11038053 988814131 661789967 117042465 843868427 854162139 507897995 777482265 900618961 432559817 885344295 437652033 737937717 389420767 960546549 637116465 22981403 969307041 815522545 563822495 110230735 245439297 980092921 704935537 37882121 935585941 911081175 573428147 321586659 154288157 550125117 909800599 529441255 58018559 98465219 455927673 841857279 18030605 619981549 791083737 991719295 171529401 840239137 33922151 785764135 330204713 337643955 454807029 490525723 634146335 839849177 445707899 678662633 141292555 953834167 744546081 895048837 629326855 70882133 43368495 818163021 673953743 287406757 58721817 338635271 263910349 15506303 898527352 308347871 936232975 647804071 3843349 956653163 215803213 53669315 608511703 287416999 184221669 962185829 361752787 951519227 160959197 424333575 406678851 261580593 111178473 827917835 137431689 779413889 526779227 545443001 940394035 7904645 883948853 291371587 662851059 529316421 786429983 343210689 353409189 786860079 656303973 883925047 190448971 212867605 623059713 548252553 343768594 845798967 159394451 22164367 918042443 938751801 981353055 143626237 870142067 581783849 795319895 43555959 951947565 407457403 573750033 973865349 541349955 948402445 529922253 943836055 901491883 637730083 873834097 126084105 102008957 632000109 196161677 765038109 379185661 634188543 41584729 63890937 796540567 691654229 46803123 302390191 561552351 77010517 191700771 176751161 275755663 2077773 975502041 382388855 20732811 89959411 163492267 13860405 209434333 474650209 809427223 992542499 538659515 663315743 200534343 135416281 128945789 31423257 303928329 579242713 649622953 463158693 487347667 657543053 579325159 568860033 711279815 847596357 40004365 181446097 614774187 681953851 369961493 867192097 865194733 146467985 431380003 328282217 712204709 838473549 994275971 178345989 766731925 648161125 322268327 662110905 723254559 573472943 47946537 521864373 496149079 182353645 105920717 849461387 773389809 44799175 407183233 679083067 562153293 365570769 84032341 303837739 913830005 263165571 645022599 182223907 671696659 36977983 842022775 653786719 252607363 524354891 265501619 303727735 100707779 607751389 315267307 711056499 806548089 467925771 779848959 727564735 266842103 85999319 216249327 193412145 773168431 648882729 928632037 734889733 174623943 919498965 867591481 841235427 726545921 937798547 470774625 284168149 957672909 954280195 463411205 646230611 320090565 39002289 771080941 322834487 273978661 223179275 351179787 972956361 348315095 124759917 70585983 426185911 68477801 991936791 63606153 825087763 202770961 930175025 682180501 12856413 656841649 892679631 550244663 520734585 988214479 530907625 623154215 472158901 94845336 206247007 601683021 351068869 156425959 8971261 181402801 603271111 170178873 863228785 788242055 982244415 317510583 141877335 738922539 649987613 47698733 882275373 477015071 437308853 453105429 327650145 607535119 809832643 205003407 820685375 160574925 169468269 514908511 732476421 814852695 187594051 881601783 139599313 302676175 379192373 414808429 354292143 928587135 535127459 831313537 573425037 505788635 296866131 458433177 132251717 712071807 389877875 859367365 422124187 242291759 472195221 111792317 746293301 312784595 185402041 568959967 772168871 755870593 669255745 57314867 572919399 815904371 633213439 288372839 696816089 975153165 455008549 604926421 341103175 789725145 204768335 256609145 826235615 374855051 76619399 987214077 611002299 96575487 956025911 329983407 960324831 51248697 957301299 936060293 810959665 463863393 935777467 116794913 336791941 116280013 894413427 135184329 870232465 852672759 75853161 797730411 76710649 852231811 933157905 58326175 143765061 516195901 915867723 229364901 621972455 897837333 723872857 298231141 33098041 722514219 413439465 232567659 764280185 724510909 743315729 634960369 580976339 883030331 638760781 191977431 694495065 625211445 309677701 609684641 494612481 699200103 443548163 565855105 542624687 96977589 349607295 731095117 886330923 337340715 280176659 427339907 430912807 317231099 671014729 691611215 633116987 544887423 801872393 630392187 436777705 590987325 465839019 881425535 105612699 968458207 427567853 277357437 619376803 812857399 306918131 855613243 307013687 37029697 129617483 594816041 335176315 114091299 258053609 401547611 26916983 318645029 870224939 66722709 520497437 754847417 24183767 314978363 644944965 696417919 641930009 681102939 572934065 819140406 665591429 654293425 409817099 652894413 723364381 630716311 173274595 175104339 131785281 600097817 412604083 763813895 337595073 514098915 135778780 404216905 299536339 571437133 687495593 126622375 220598033 443672151 969754185 263312339 997892227 903893929 626915541 900094889 162776469 241659535 438228047 177284139 490755615 621267459 206693537 100761221 551711065 110111909 698481051 479948299 301764333 68582841 640167415 375999285 888327655 201227825 102018135 965120171 8715193 865486755 460381761 947692085 707822405 779244365 746098987 32447431 49275343 436168985 905679723 603318909 450627075 231379095 22572867 94606233 85657333 110038009 536437725 960277385 783693605 830517539 951516233 35633883 392117623 295973019 784396417 16225103 313621049 585268881 352260197 568112327 15150113 210999257 494892225 700517965 134664521 961003767 508876869 792707863 983102009 586993933 539482249 46656893 347730653 97058031 311296271 31601667 374448523 93228561 6370879 989143125 123642879 977116565 595400301 104636487 64073825 703773505 404981969 646013139 710652475 877587587 878398603 87813405 760087941 957215091 896779175 857244529 129422747 256282577 578596371 429503039 236654657 686637059 441456811 151840549 16952485 206141979 927022127 641398247 78886495 386700493 809815113 276535663 158345321 252833401 262010505 875327695 880896553 938790439 422619495 183544387 890731115 662788231 162129225 618907695 754094697 625543407 513277811 814616607 187606203 324039263 387644699 518302147 484296295 15905917 765018197 749302267 732302813 22637209 360599335 869942725 222731761 595335337 429532281 847705937 56440031 301763663 457431833 343262447 306834767 452396497 514057925 5073947 450968907 731456287 66609947 735379067 467686217 809886925 942675623 555547349 364687657 511140125 290741207 908828705 730430765 831010551 784910855 223926905 5102851 867818729 335472757 96238111 668046531 923249705 82615119 377379965 427484133 6962073 252525217 303932715 441850963 977367741 498110825 744944863 270729049 901737671 284916357 807336577 877283499 375214991 390775231 60289049 476563301 989859985 506171083 119460827 87913745 481281013 952988733 385861921 932547225 729490827 786440347 834514801 110998353 857480651 794827595 515070325 239495673 663475413 287694241 494376961 280893879 179451757 553848787 75400975 296748308 849068549 520024581 322627265 965091593 577808817 986862399 817370725 411479025 306335541 735206515 882261869 448897171 574735861 491828091 625750645 225341211 780448513 83318805 323697215 89714207 608186385 87742703 186286775 970592669 245117059 945821333 265359345 179266551 411715167 724102275 766923047 400561919 82635603 21870619 859873725 226778341 376539063 265367463 127202365 651951947 179415949 183793491 936282971 730545205 863478135 336915519 12726003 665604365 568564681 552320871 208486663 835128237 624512887 461022903 860608197 335503693 939363619 514040833 282787707 31445911 336872977 864293883 27850155 409772439 979963187 429570377 771950577 971283137 729967649 487858547 509345823 454141939 395916823 212099051 533429795 940881011 299922685 751349001 42591003 453307629 204751971 677745423 850430027 904034423 12819072 399245095 80076827 365791629 643087671 167417443 650009377 346586391 103751945 515955385 304393495 986562911 235816487 919501837 420231649 166258459 587938155 555856679 288767627 663234155 802277715 86837943 141386823 523031505 63784709 150534235 595107183 556610365 183035729 4181391 278362759 16996609 281501613 875269311 937265469 899255515 697524539 883685435 141036897 167017203 777700289 895611197 742887409 610763989 267690157 574194919 324484109 749929077 420999193 712768321 701498369 830433073 587905985 848965691 389675587 717547725 666508815 23284401 951535213 516564601 399809807 257744739 59286079 722414537 932176765 497768955 187581097 657141689 985102771 363662345 439448251 294376367 684869821 319066119 705380019 317661817 773165383 850988119 681538801 626276683 30000297 137013313 562225923 518863557 58688483 207597813 103078555 320614889 698972315 648062607 192114837 597381925 91401249 747838735 177394675 24438607 593482349 62801247 493235935 515399845 191968031 456356943 974484913 287673801 947179643 228565401 405728225 19715277 805786225 815351007 632676113 16063009 226145691 604793511 860473359 160242599 489181751 16951143 336301005 895742369 786171179 445235317 243731559 953001407 565890311 900581651 838676511 745424403 720713473 81276777 616891489 72412701 916863995 979966859 258480833 608972225 54669179 887329905 3072503 905713741 482159791 113884411 332179691 634008949 950352241 10918133 254348197 791934041 644839229 150949389 9379929 571137657 964909115 741516511 238232675 115119302 990044733 557787627 747955527 197261975 851366839 522449561 515886509 977491623 732698827 398271037 862778475 412342297 918093885 469093647 258132859 83068797 428734079 449002287 415679743 216674249 633616039 412399017 592292423 473428823 56317301 709917035 290033857 581008625 616507985 972478033 68688139 369752255 179266631 341688347 851113961 960808281 824183057 960559985 796203331 911684285 786831885 48680167 887712559 189099855 135766851 800840691 349172967 614221019 938127459 85514235 57543631 721612185 636944833 440822083 232987761 71601445 561903457 284162047 480356227 553456005 667640295 817895241 898336989 488400933 147418019 674628641 675399813 638556889 704191371 537357935 665990563 194668259 961168961 61763079 525448077 517597155 932562699 490619295 953424575 812131049 276088535 921267163 90643929 405132649 608711999 805097029 647558823 748605507 930397567 421879371 710701855 732088505 921941887 904700999 276656729 631283065 4334289 971718781 90962843 552730009 552522665 839385619 18627919 795684757 442322921 987312155 559202823 5821013 857912853 563599505 927484289 145018917 207839839 414956371 462651293 212489143 439208349 492946219 650874729 948087597 773554255 203382987 2349589 763471627 658859419 939318733 829416961 38445883 296541777 363169199 640886189 449746455 981439977 240440029 978308805 320371545 852470147 33556905 220433691 205102887 455449315 798995273 26874285 621346063 515032953 217463009 206059419 393124101 614983519 534863993 682290483 281097831 789912145 937080323 145157863 50410235 267761849 164469847 612744787 835357677 386251941 935144505 331961145 467673811 294165709 90392399 492586629 743298729 310029711 706167083 666083657 899517655 760042481 353184327 856686531 706605095 432601253 958959877 915566165 132215247 33579779 314059437 638046345 362560623 936671239 643326065 199531539 835870985 516288347 489381481 474453455 873763341 448290891 431009945 754723519 770168397 738300625 865731047 917121295 41975817 659048589 223435557 363325203 520924645 817701827 451230733 961157701 696251373 964757605 20066881 936244295 965850777 419363593 741719113 501471721 880067013 883517423 574427285 721765401 218502071 943987709 565767299 58645237 755421723 714413507 776608591 366521535 404586245 717066361 876900133 218361061 590737399 440389885 518032405 578857717 458567377 222664919 647253785 583281073 423384803 121776951 119773971 691179509 544243169 726068723 847122377 15716307 495735531 514112137 114587889 627874681 948232579 210232099 211496225 875353669 532255895 65305487 497084635 409707451 805142909 464840259 643013513 828536451 916492531 492906849 41164923 844104051 42960923 928984495 75759083 347328647 241816967 587932571 636479995 711747551 873060393 684295229 272591281 213650631 338007647 32228949 320114691 730475189 217621229 388440395 32206023 786627137 963299330 715976237 152669631 63038001 132505139 734740657 587143061 458477679 408934269 31310391 554336473 645465357 397224517 623698631 212451077 365263687 593047641 675630097 764761977 823659649 379138541 814188139 722900609 619928903 624223393 409903573 481599051 549274186 511682677 4229877 248124915 285279079 374514395 262128155 698266233 843121313 654321063 914353215 869299653 212930851 249245719 89449471 964519851 416187455 828909005 731224739 256344291 360341619 669644763 115086107 687558159 986207327 993032113 611072765 900419253 141865937 158442033 674677639 532455497 269179067 626419869 888560803 64400677 482302521 142922147 799715807 146418057 74617227 857628251 356590449 384220317 392212257 900389183 738883899 84902773 128086925 683454773 317450179 971916297 904302729 523953801 457691447 393399865 549723127 562414579 810305135 505290961 232336101 948879759 859966955 51294847 811997829 778972643 227938515 297852127 893327155 687200987 933038579 658420591 981034865 218361037 552657605 974288541 499070699 43612021 860889705 99159735 944767349 964090105 621683363 625889525 690716169 197895399 6395109 846469243 705848265 535726389 652473157 380570963 838777093 273689405 99498371 870532971 3655723 818069703 405507589 358321053 147635929 503474431 76294363 997295789 945824977 583118717 612655293 364943937 268412671 489964345 943803401 394500077 672640119 197339548 641944519 513947689 880626547 314042739 898493093 115367765 32429143 963384819 966252541 190944955 636616877 765703097 717496011 160104333 146339371 681865163 842145977 784158179 916214697 246288019 620453141 297441217 641454123 489443563 201436629 269148685 446093791 727827725 848114843 354664859 103491349 210815902 326492077 918605857 147827017 466628783 486128889 254850883 15200287 455930033 206424343 419897225 248524897 532438915 816298567 323506533 984755973 559301483 747180913 144009265 575579683 341393941 444805921 669122347 3061249 356556695 256318609 35361407 498069511 531934063 951499425 522587199 434489291 619676543 429360853 711242081 764183561 29882137 669479519 980229321 222666657 541960685 395138325 547098687 668871327 219755293 694383221 553956725 727506745 88511019 920319145 302940931 871604937 258647559 592432513 997360493 45995215 287116803 423382895 366926361 848340987 232496351 114868375 234608217 674016029 205513151 22462911 252727911 693109811 929860913 256167767 72760933 488249181 895640105 20112499 904869723 190404585 289751301 352642519 728310843 606293321 667922057 902152421 822895837 700841495 196207333 733548721 557588227 289587993 826802349 306994929 792303447 189203513 336277981 497788672 950956137 879680395 219926237 620485869 85838261 728230983 193353591 445078625 683150487 413892053 287579105 5135285 278571357 591601853 576714171 54888169 264831543 516464563 623646983 223542437 490915389 462808209 369381683 401669941 282729585 115537756 437345301 364371859 806573245 707141953 331431147 281399391 782395633 413519249 946296665 322092253 385765319 113528519 729988715 326476799 946049505 243333509 279647129 390119259 400317127 751809947 663548351 93562927 227102697 873583863 731470881 550101093 407170979 254388919 739130735 684141963 219187253 428790813 294389949 724835289 398906569 96605589 799971975 359076653 80141935 860323251 573093811 56560143 760982305 773269553 399655055 735837359 714709697 615223027 707662799 451346401 348406805 57628931 208764817 739221543 349616083 256101269 224571483 750468265 833761169 569811205 638675993 221195829 696281297 60226519 781614881 745729089 984961531 244170675 755313969 705636847 601533795 63805039 203101805 824398597 614266433 874024709 46783073 701510897 394515895 765117081 904649477 599667659 865069003 780944245 893531059 387069267 75408499 532168207 295306805 188760559 465624707 976524287 961156531 594867121 68784833 425413897 208138693 31742285 843974869 769872411 272375145 28837667 470849103 485116485 919534595 453469755 826070953 290819011 7069281 582090053 638475587 352673529 374558135 231388055 273526887 672092019 984881827 595933743 647925833 232062179 21594667 823862457 404979965 384024099 830540475 67728511 659179145 965573177 383095081 158645625 951742933 114520397 744658353 938511177 203385263 586704821 364108537 150253621 591890901 431246573 678352657 391445037 860177381 78850709 326172265 827423685 13886571 620539771 257780963 255891775 621103061 894034577 119984833 223477123 384036223 109595633 702802865 393037599 128400551 219410401 123043273 585047881 919043963 701091275 895185031 917752035 98315783 13973313 242461647 115264881 57433417 173177089 242472173 316916773 369472031 634844139 934640025 354957527 743971925 656879117 556206831 495573763 640578969 987506073 603565685 701694161 631866501 799450091 961521941 2698769 218025373 252915845 756015145 176062267 701102151 660180499 984486507 34670703 882831319 496769383 43818753 534509169 606100099 746110079 35185785 585198001 95426159 50812795 48335817 64097609 92471459 421586859 284060491 921205751 572949523 818722941 650753479 773231905 343265427 311585421 929566057 438358999 893833190 50885795 169771207 922255825 487808187 772361893 459674077 149803117 193599899 531488935 695266579 165661105 924423685 40670183 703081523 508970833 332138839 863848903 47239541 730751903 730534363 791328977 157283445 503712927 787426243 954396089 317425975 90935027 86467623 427815515 239631659 107328751 494157321 335698107 414376483 766701959 545738067 293055489 653836127 408830813 81090007 713718147 21983875 948693941 798144587 528238011 70040221 824343425 270662995 255821645 791157537 183926361 26388599 65073155 854434029 146486647 835860265 557623763 744361799 971432137 685083585 278363605 781427419 186120665 314526851 330622797 661852863 422458593 353632917 786433193 695430511 471966143 640773897 338997369 541334481 82576125 328277977 61851257 701199413 956520645 987068647 910697613 80086859 647128563 873803003 919117759 180995893 3641605 814853831 579209029 267389045 380835105 1506787 391654263 519666937 15394071 928973777 608723675 658124567 58028125 18402043 528170777 24799885 275145237 118548401 526354953 142130559 325251589 89053997 346606241 47814011 636525979 723079825 215649287 318900339 877575921 50231781 245516423 196297161 428609475 462762265 556100243 567585089 610139771 512450827 688640453 651248135 161387301 661083255 184893923 3244975 649305213 477767431 420693975 776894267 759856861 393082449 88431283 420458507 920593233 930906825 728508595 493588207 228362373 262227665 165689917 30163227 416333777 171806133 377354457 159673133 450289717 745089189 313077305 299944491 544461143 609988537 835094333 933614723 694257799 225875187 574752997 282767623 850043837 278130491 886448989 977211893 553882263 727524709 95204087 38367733 919471455 860016937 805580081 820110609 146551295 343929385 115552685 218094017 766687507 814370027 905197875 737838561 982852825 180446693 988375741 725059509 124188215 627205741 734603359 262276845 579126717 512391109 137966689 618220443 645416609 327099925 720771117 493368127 430876613 314228593 234630999 638468029 314928303 331818705 127218329 650313827 990486669 428618519 603872471 490629349 846125369 737831945 292234267 810345057 612540463 934544731 97236633 865345117 744999319 961496487 400267693 98588613 821864259 135197549 825607385 647846383 935933351 618906135 517850313 441031575 192066277 177090291 766239313 264108517 823287745 119379519 65625963 345950563 752865965 858764827 126153275 564977415 944790207 64440205 864565771 817658673 215408823 968407433 288170575 968900771 962150907 807643113 947252645 496498061 951399837 375753837 194749131 397652097 215101265 141810109 151810991 146656127 395190391 114288749 160166501 843708649 192286487 917556725 23764519 62076049 675646177 98222005 587161177 728332969 815598633 787557879 782188423 15846607 626637043 489975533 745157729 934208265 426200547 532395953 346994375 823785665 346614601 114742083 125701815 113292753 898159131 678833035 344270177 832702323 206959355 782618205 933258261 829970255 149115695 840475247 798189391 230558831 617255845 411766885 675876787 814986313 183463415 467570121 469476621 94014907 896406881 745596937 503720269 164745227 170317771 317175167 298010003 753550309 467367110 973505135 805592863 348379233 877107849 86066687 354525275 329084919 100983027 978878275 285983709 626081681 927584905 627669553 535719265 87893369 648228733 773947565 707752647 734202983 695594661 890402175 469558045 210849399 869720193 169130329 915499925 475163693 535731255 162636245 189211273 549506937 162072215 515736689 426287743 338983085 939822873 626098073 304865569 391743369 91055835 224650143 180780097 683196977 270390693 470286265 697368797 889350707 659775207 758617867 696279575 339766147 201764023 272908189 700954167 470460801 162993363 451833697 680794549 942003693 77325733 601899825 982765099 397009913 627591995 170773451 77593435 721042233 567331405 13111003 684865585 950684331 707482935 256794609 607179201 736495025 653781765 206062985 225013315 604609819 197411939 897014783 10236959 97674271 402994347 864149665 794323165 749817689 142777049 565825695 15774769 472996301 279981205 94981651 865870583 515394025 548995889 13169403 396089905 173338757 528894113 998482499 185290763 740976089 592228999 624278715 59054297 263635087 618552615 207908381 134419989 511847603 541976179 689922571 672442723 515492025 512650497 848285453 28525965 555418239 982803729 181662101 844688775 79005769 374678921 729971963 744642413 223888327 827130105 415740545 858123139 156880141 863051417 384870993 380134705 348946327 805743943 747520123 973590541 91717453 426749579 326709241 172431057 444140921 240756629 783755693 346615905 89333201 804825659 215210335 747822279 957402483 672833531 831615167 355168825 568974821 135293695 141122665 644603407 258814485 499344661 261180125 817613773 569040213 750215859 291238277 613864481 983881827 339884027 844826033 434828251 323931239 412865459 461110683 149672695 354317805 799530569 472354149 947663257 532254183 324521173 17158167 996325133 450123959 216407063 196469921 903887555 834804513 392201079 977705183 616758619 952205135 248029697 564977297 639381907 438638555 45376369 899352161 140837723 75884223 745312033 491293919 224543427 565688417 168102683 101420933 669153545 881046671 395689231 185490355 957266829 544380285 498410323 945879477 725201627 403893961 627640807 860863417 98534313 865986681 191820657 541925083 315831761 160912377 549413441 853963803 597137747 693673247 69350223 516076387 453626719 173211943 735683897 676917889 786113351 845246393 184141639 476388403 636717443 491571679 475646057 287138073 876276923 909631761 474116661 669697721 351812277 646267945 961161193 339758729 254242153 354170993 989648751 108924125 696344049 100550801 313765973 673515515 958604687 766022049 512388817 590120715 83785391 805596191 244427973 405540635 502580707 606633199 77455031 699978793 350618345 991449695 442973909 745973779 416782755 305014051 128992759 12671909 719527195 954728281 297736861 241724301 437287557 628231559 438012911 594820967 713480251 148076439 362922169 312899763 991076549 827367395 855415413 316951001 116067785 158299173 837899331 679769901 14232347 728798853 280390631 726232549 33948601 244282509 304015059 425051429 436873413 67731507 70748445 348892407 102194825 85425367 263843973 716636489 240317305 57876539 310631793 804410615 366855473 143922061 101498865 572799167 744929139 45322339 772299965 933049935 614393645 554603451 254527027 163195187 244491631 323608313 267610971 226681833 450883701 832084201 832361187 629674191 333665953 25565891 727569957 74217263 253449091 388490019 919656989 110364730 414744777 889298701 310570613 291124749 721068369 496187633 613591163 673540771 435216927 979023777 974100005 940887785 312923483 773144413 754703637 494916529 287230811 181008587 126321041 497006257 630142873 376111093 711007111 767970701 135959993 303154001 28173711 878825677 127642247 885863613 694704617 801451235 929512691 739163262 794730877 796650793 21770523 393284675 294825687 618579677 840107331 86542879 437491505 944916011 662084821 477947279 202552681 101504293 195554659 886708859 544711945 100353729 323340201 125813805 362080573 749023715 466999435 882118749 779361243 409986643 683005461 625400871 379527271 203484099 549262457 990066959 730661637 116030155 303141649 923189763 578155397 985236463 182033763 347661914 431004255 984991893 300614167 665652433 666215345 849290767 294241285 321574539 29362755 87307415 365694243 521913877 210738309 494590543 409056153 87659623 468702603 523524159 821614765 360685021 299329049 5817177 735203287 443306813 272193425 301055861 506971569 372567219 407131911 447849045 570431741 902952149 945297457 692059299 200999335 477266335 856343659 39211761 612687297 315015031 34389441 538903221 745401993 192408619 324750815 734359377 256196447 59192817 672217373 147543313 701145809 294107747 855518587 693575205 704762257 76202889 45861793 624786853 8795003 403262161 120481243 478131859 360122001 356863501 416008995 52727001 33067519 614373501 798689817 739411015 696904983 695148483 130644993 405770135 515119191 596988145 587132877 709589355 616860769 786825081 785642769 84666187 516058879 376745017 771663633 768172711 329440805 844610165 216172465 413156827 554979055 159503581 185698433 538715431 733864607 147442307 594222521 646289845 905387425 720621031 413304631 656564885 928875657 143146991 722677635 741385665 601011985 974838501 58217675 49707291 57288989 280382335 83539433 172231529 600245687 841441755 102336857 577968481 676832789 258246783 512589893 21538969 893411983 336830807 404197755 472856211 210485161 416492729 742646897 166173111 133784847 468318307 626431049 471499353 102325397 84620407 279421127 390585777 103214389 695597703 136236895 113196769 815122963 557681795 867537443 368953839 25332603 302617549 798757589 568910545 67261917 835517991 734993883 695593565 177008343 319422657 563566919 77915477 189152301 171961133 144219597 157397345 490451655 379225707 988866509 270323221 52727739 130883551 450055247 13712361 545071429 458443351 41137155 13937981 183396805 894013703 49986623 842820445 415891655 439094413 301547009 136278903 645038593 597503983 570672883 417939879 924897355 158645657 185337443 976549867 136929451 297915487 336562760 370203953 321036619 472737411 357590083 159330375 418973821 852848293 965971097 675707109 194684861 476117204 111614777 734913201 981005489 877578121 289264829 157166639 526655519 395514011 642964833 462252499 567652095 83479635 87730191 317999863 27025771 997818975 703908693 708709595 991459747 165271761 982450281 246235559 556645655 105983785 115222573 905240943 115481433 980931401 845235237 977825577 284030241 89216131 793626499 174747577 519717207 591801993 894002717 361585385 668751361 873105529 428641651 19964007 914790231 335420887 504762797 660262605 564640947 345110931 396312727 463010975 370493335 313935617 623670443 942549315 279274671 850085085 692872711 671845901 215607503 908699213 384933237 489724723 549535727 262640607 224859999 507561177 833282615 700902023 997555937 653457929 445696751 611556003 574052025 31127473 898619787 500446457 593889357 173674923 443992231 545618359 601189549 118758331 534380805 751104879 612983185 26905223 253216401 462808607 77033047 769589409 1641311 776171055 746460421 499463045 291530921 510535017 322660687 241560209 75600849 168796677 593897351 532128271 319451495 791314847 172655023 718808625 102418457 860513339 429340783 538574863 279191493 903632711 968239125 298778285 43942509 935910043 916184471 721699825 672487741 245415793 713252759 301835181 118464393 997564783 207300441 654696091 245325259 790751139 790618063 650304349 727853223 628204929 912159375 900625275 608510441 572703719 194090713 246533223 789384065 200762395 889904277 388244601 65078413 407778502 946556751 49577973 283657809 356114693 674049345 122024449 200830773 621204305 204065865 815032751 3483087 449154189 956311279 965735673 730147801 562343177 843741539 879499713 667944247 558712699 49373307 507272911 980765429 140607997 501176503 420286677 725175875 938629911 940208957 884447595 937451393 729762487 124463325 274118675 891463469 902620463 125251341 924979511 938173175 195881535 790548207 814203687 111703727 446243851 265050697 613676829 819025 137411103 688376969 749167675 398723587 334409843 269696457 810303625 754096907 703628387 449574853 137103864 123972833 826943413 10540263 169098083 19776797 252010899 609386811 372810121 399434629 808031127 917908349 932155925 873707267 466886843 712482823 203112599 453231785 799359077 653963749 204741513 524994741 119422307 834304451 959853899 404862855 833997547 103569145 536960297 359997101 926862231 13243527 577587283 409524697 739245167 528522771 259485409 460930533 925713375 314352877 637120213 494877143 838275773 583272717 66385175 729720793 549902151 59931153 272196219 601088575 803271199 33582147 728148665 378252417 167245655 526453133 565184883 332875847 936767329 207637643 89842481 589934681 942218265 164182907 394174563 623728043 52313545 441414465 820517989 732023897 217119769 391206001 579919991 580555429 653288739 655357505 84216001 674998267 231074913 961329039 325516119 677052397 801781689 619427299 711929137 467108153 509675641 497190507 608343345 617355457 923600469 125261055 546199837 283148943 941753451 481141537 325772459 568504023 964181569 743889651 961418863 615943413 278008003 335105609 556276975 315070059 969393991 157564311 4855187 769749479 792944777 385968895 979337131 918396471 267125679 864101701 767717743 286853979 412105545 745725147 422555397 332268917 302559303 5728983 512620401 82495953 866525963 13856761 383011751 271613919 514794583 53672871 995031937 713284669 160453721 88134899 898867903 926051757 266785705 879315857 539108361 87838237 866596415 602343137 100616691 797172125 504574085 673803499 279263221 465149289 250860103 2960221 850588015 565022949 50218425 403932305 984506027 418716315 251216505 885735045 783455709 619055425 155313291 197448671 265530905 720215215 86714207 805146863 665301605 6610667 775056073 483631787 41978023 522687261 286824965 462107061 93532851 583046811 762850489 918302035 446776639 167032287 148574707 650714227 745306353 588333455 887372585 250865325 913324877 831227761 302845749 77639491 88653255 483115389 337617759 216761879 449458359 936533707 795665491 894995645 383667297 770403489 818812199 266129257 809936875 649184617 306152537 675540477 140472425 175151541 737775819 627251453 383381457 400515393 699952847 4579995 324738567 606079475 429989655 341759917 532504533 729109201 253989823 958267571 597614569 742855955 523801937 984053459 610618333 573658899 431859637 738180829 512421683 339488595 363012421 78829641 132054615 329518461 388503483 297355317 237274517 985493353 301858621 110301801 273053737 811461133 826178393 904420437 76673333 83066513 204596227 28189711 697500865 501898045 633417369 660885845 735148735 341639301 916382945 49779857 153427465 799283717 461695495 587373521 252214621 245539711 652044193 281078733 889770087 83677663 862525099 791274721 173009081 827154999 850046093 156425241 583676617 29228741 701630481 418456097 954943739 982286313 359039087 206647891 840789655 154044722 298730561 62937003 844241613 70505041 856772751 776968145 807279547 670562849 343442887 605635095 68153693 111816101 119936699 113470065 237116575 108364553 16874411 426349697 826430033 280962721 238422331 220304523 237030957 370284519 6310777 421710464 358452693 184171133 750173401 246872825 760277457 260828977 685913913 150724147 363510931 631720183 927276253 807508757 258434931 235119079 251493749 626237999 762839475 143213125 331937557 18779321 700050301 515828093 853842233 542495633 705562337 253186339 169123271 702112319 629930201 615002097 804356621 279896563 672132167 712690379 402452417 195559041 167240435 614864829 863063549 121647469 803353229 254337783 986811977 429919451 855987121 85178839 708109713 220123291 875113185 625350625 736831787 516331299 647567745 990912957 462150613 524693141 725635815 491950145 679805619 546977719 756896586 922155369 997425745 260043511 635833039 866281813 565489575 421146989 823310459 64525137 810062097 387024857 219872575 889414354 575408979 121840547 513999607 769227891 978060957 878724567 244497763 818663671 904104833 109856305 719759149 673166919 252944895 439426058 456098533 604087419 678304893 360846703 910721541 523491017 11289795 653687309 991963629 534326423 802633997 308052538 817279209 876910705 921537267 455295481 671620903 481780489 168960637 150120429 206589891 334096441 98388759 787964519 823023549 386075655 329601175 925635679 619500287 682222493 362717241 140549747 89582937 761696333 692426661 12073963 571045763 489365653 407999973 775306679 737775139 136160021 50657903 263320427 963293885 357241755 237447715 545863243 153568455 697953305 903408707 254016059 398510741 808917417 474001791 193073355 254732397 735431057 961897705 350110769 451015031 739582011 876360961 492651087 59820739 211287611 24665259 486961065 971126857 974089033 926193716 609171059 822089199 898384205 516412499 818793855 439524985 992793935 64420643 998970191 295203483 167780995 679754025 833087753 114218479 827664709 269302357 562449791 929750005 408891927 506631419 554436645 181954837 765414565 294246103 668836381 888866723 617589443 480906767 581726507 162388693 549520235 550640179 154577089 126448593 243994559 306249011 778473205 151098011 941509645 987304559 653318533 84507431 720949449 158487981 590348509 305189455 110098827 180639259 571652871 755709649 156010519 384026443 16373949 329649243 899243353 161439293 924862045 867391097 703475301 66880595 787282671 602277289 293404533 762542175 753009441 91316809 200471789 153968531 571082829 294333347 85555799 902697611 543379823 43284713 959126377 414486609 852713521 249487925 875197179 328377679 238024161 397718917 310188049 524627545 82231925 826338247 305850583 487464879 714040719 419535303 643745185 935895541 371070323 958487873 459845099 621132089 957034517 271213015 357756245 509397487 506770951 568160275 840509611 926833655 417722251 723066979 503631075 270979475 492547463 511142433 726139925 722953329 113787533 734346895 815320197 904711335 528811473 883166681 917566881 124240305 934702131 394227211 595712249 815043959 743316285 427460641 648980297 531605827 582075929 326675197 666203511 166921421 559942819 524110951 690397065 380908847 388118105 841278993 435911095 555541489 807035233 755804309 667850585 292509697 381507467 703475825 870728693 141062321 717408079 124776721 851199029 26169025 443114187 930480581 53820139 403054421 177004231 208995527 968861205 937741563 278834611 540231225 355395027 213355175 706413731 924464931 413856627 78907063 744344667 406241399 557262439 992983025 42601533 584481805 825050441 890685057 607884637 710086569 115700447 859452667 264208751 745875951 607699219 368640865 270817749 367883639 746880503 46893075 844520085 342379957 252443337 940090593 725769565 691757581 932163817 276537345 874948229 618912965 570975973 942024973 145911821 352892947 56489839 621897229 681334429 876755725 10569827 276047981 287556225 543525557 49010115 967956485 292823731 625628917 119078587 256466957 698243537 671707037 814946463 409863727 959738661 74324327 240552425 728273783 797477785 188485877 968624955 844101975 406155465 600202703 818946659 828230321 986746355 467723109 671985493 426340553 455923453 764331541 670586151 886675529 396821367 432464411 858858787 124845643 158023065 181726369 69818799 923720521 602827073 604602043 78338913 486859305 162356983 391703649 400861171 989177145 990383849 915373429 530467655 551236911 873248241 575291071 489279085 886364709 635121291 284816623 549534355 224822947 528516577 995343265 995555351 960294037 709370561 264665685 614325627 212861521 866974369 855678325 494556269 412045715 871275683 761844049 331124413 34465923 749471883 691991841 107842407 488991403 501628875 123750411 986073999 879394819 570177147 309313045 743788927 202820071 170128983 253032751 120857005 289937947 673477063 956994613 664492465 141038541 278595803 150536679 997665103 426284181 260359243 748737517 687303029 501138285 727482487 730980315 100660019 234275771 71963747 696829993 832647365 571785803 532130497 909901623 552302735 824878167 353477863 404954705 270191133 269233271 821680595 518458021 536286495 927590833 725600559 451166287 505786485 458888309 603576905 621806927 561148701 475843991 137137433 574497421 118818119 365966163 445517629 277703901 244457283 784341073 155051261 298429943 874716815 1869979 846952519 226343291 285602507 216723623 460017589 539742707 191052485 788830805 635563907 412159953 881074029 38501863 595053211 295828591 402036451 214824203 131592587 147767565 291543399 705916889 834565513 227651027 178009701 896227273 68294007 557953749 885696367 361529541 65436377 656024329 829169987 320775193 279322337 588475733 178566337 295796087 258464101 173114749 116111351 840737281 814026725 474886453 536650519 573917499 635135625 260316951 509787517 289876497 242999581 4336545 169452203 167768535 193292827 265033279 718404939 15807309 329666465 481532483 150795317 922973593 740967033 13031397 699242337 472357701 348240141 456761669 678601969 122164039 747345017 292303213 201860659 560677885 512502139 162965327 58282137 50686509 474339193 377534147 253857983 152911875 285551491 335043469 219173223 380023829 725189455 922721875 248781439 382176865 471626303 903118247 168188949 590541641 37207641 830894341 256107881 317673631 345518413 913252811 385584093 774254227 737670511 174519875 846254587 242909383 486590657 784400031 788503671 815051581 907767275 849987063 319891757 959685989 648768827 175863119 480230945 758636817 50885031 600092301 970155642 103864193 110048209 868390787 341605777 299087961 988255485 98539245 138379229 640021671 812685853 663828839 651865091 966222303 628503239 307921534 976362445 119451359 241611323 182793637 850491183 647216365 768355425 231208755 687849287 986646197 146833093 264915815 259080019 628644685 737984417 685886317 466857921 701061937 338433235 255159893 770962725 43674953 473371875 154677785 81149755 220513759 285126145 984084123 977428451 479429033 21622019 774742691 302883881 866057414 990233191 395046627 954302275 967897531 516681047 351108851 381426057 714033779 624764577 603008597 438399361 564646727 45005245 891636595 303329491 953880047 854865353 366292125 666347349 405193365 748045965 298876687 248702467 223057093 692779383 152720357 442080765 505312883 706199713 294890797 569526161 668882173 398873543 844762327 649683759 99103783 874187601 58091451 35125879 949037345 150284113 410066075 827324713 542376319 923512443 168113441 505202223 30771261 86842673 393982685 457375905 39831233 848529015 791604297 852529333 470882265 83192575 436597191 439255251 489944249 73396769 416272029 204647041 239933953 837903065 379884033 761410423 944018099 410868943 543307785 101946511 25499453 290378579 811313847 944072907 28782709 920836701 778427125 204297303 59273367 826828171 932229011 186974597 474054219 195200804 176976971 302045651 569428381 430161179 134260413 17825505 36706559 52837379 68755317 232869245 775287891 757142555 136488161 594778265 585539547 780478541 15609437 910084177 432651591 222709543 524349225 336048359 822066345 751055329 695955311 473418183 403290497 737020249 69313855 622862981 43303859 866323735 963118481 534286299 394641037 69343817 660408651 978660011 549893059 694134471 886165553 607036163 69954677 616380947 565258233 777108759 397319203 526359631 843806521 824192063 260967359 92631887 815572081 608613887 245427357 919312775 25133327 318149891 212747131 365730073 161488481 810116127 708066171 521096393 983183009 425829709 193881901 706973961 430640623 213423281 218728327 895145199 909103445 267794837 205846243 750503227 767720903 766628205 971914249 29218643 920084249 196643541 450070823 794990153 86952209 789499025 754779343 631451599 309890647 652357257 953041153 792857419 66161017 881036499 151350817 984057023 677699573 529546921 956734971 433358811 735926569 471518063 648914631 413762297 946102625 147713969 176125985 929994263 279585995 91099679 791632399 591353307 455460481 711672471 869713405 900870803 785145735 645006621 692306367 789234491 947528643 421651673 172843671 583003247 405210889 130486051 887333413 166899063 983152145 958968433 924743545 1838400 735809403 710936937 447751175 344885093 58303697 919330263 5215407 647295269 959527813 579191723 997905075 902945379 971413489 408051717 121465537 887740595 824343635 705771043 623929327 100045385 42789847 926577269 584322745 305303301 566742927 874847115 674271239 124430193 787280753 883673891 451847717 254475193 224422241 913406237 57525189 374457525 199009321 839598215 341243657 914416357 340484215 278535827 229950581 598731631 765727205 790024603 622706163 608818979 806037495 512436773 755100125 591518072 243851539 548062683 211769837 73462671 329378187 865117327 27185737 306000173 865863323 673093951 894947967 799915459 662853473 934793995 37245059 373930855 889390567 537987649 325657011 552305623 930628639 204727123 816263125 62946685 773338849 802669021 950047253 201754727 854946031 430534049 546665993 280158539 437614067 758183307 620679341 685650059 644974975 728892589 890213223 890745133 427507721 275295557 342675207 468317663 745094133 272939445 318147261 955913211 957458059 932348807 147391787 787504253 674010365 142777455 592187731 57409293 923730275 561114953 399666085 8114941 605572031 79039255 938744051 559444033 932495099 388233221 575856509 397741179 491877863 364148327 977218023 528646639 951904831 606930359 867818045 268499087 860669343 204609433 645097719 407282417 764539029 124576471 402115057 50997077 658579345 34252389 770834801 925367457 330500587 955894367 572976419 32832357 349665509 511014153 260933915 705413849 815955113 738903499 351837403 649247707 96942919 505977403 975950915 57489907 244102073 302921491 295256739 716334673 852505313 515051319 681468335 155344585 42777223 927497905 626196615 705647839 81520733 89373623 21864621 309075639 928930043 504788385 377152271 21588001 932402403 405057523 682488579 345221523 757352319 125864795 761011015 98657583 390771743 395756713 388218621 392778683 532191485 58210265 364899511 29012389 725707321 236934415 352009575 694034437 613015775 491176855 584534377 22793627 733995997 922871521 12789639 134606799 26529039 134146443 949449195 813579181 349077045 216705625 14960425 204084975 565538297 103537461 222679873 88154357 857947883 866404401 14214807 735211971 321513093 775457929 289621241 612213003 56851495 265423779 995928731 494165283 721853469 619806213 746399515 373085195 328341143 508193895 346166399 198649449 629065387 103036065 558311987 175768205 782873439 66497721 921012749 281265007 799793307 709062617 101831499 570503597 433349679 878991699 351610767 390070927 274197205 117674917 897111531 938928901 485504301 49807215 140028879 803099811 798691523 146727551 322864669 302497453 662233349 812027591 602228759 754417415 192958031 96098659 327625835 577766207 751441119 14893461 805669425 250214801 879079907 904218057 560053219 733440473 851943017 902348433 791563367 704448157 921775209 145553835 807874057 813360145 769801161 160367351 793379713 576975623 394774861 222084995 841177835 9718273 823259561 677979265 254104269 307554853 398759031 273341517 218277139 594928197 252233015 237774185 79353363 82900437 653814353 352971649 420973449 964832757 283884569 796475497 546250139 36377711 883371975 361504539 999190487 578458287 280091259 575968443 489816627 695579341 739281471 348307347 535016457 75358343 988206853 402970135 962619169 892283975 276223399 877613027 142269095 12849181 991309029 672261817 815927347 419824315 32752231 661552519 623161533 959436421 877121471 862538075 916292527 105142401 710871401 874544245 330807763 263218015 923736003 493175095 160495713 658350709 615986199 66664237 36353013 149335233 154300823 328343047 452350869 527772653 896450653 111437987 674035115 832444231 9267303 33439235 344457489 653500101 575848099 435289685 5115905 22708745 20705757 397553129 247529761 556363607 767571411 865561147 350261375 409394339 959328291 404731119 759414927 197271679 263138135 234994895 657255215 828939053 147603937 128821457 42654373 592810899 697024793 994889997 424876701 822786627 617474115 978688457 431798573 350928497 501967749 839257709 939271123 436998909 336623345 423808145 477727345 623845233 319496065 543096555 277717081 986472695 950729751 135861857 654488379 763762539 639101563 900158719 10336313 966277195 7453279 912210677 596017365 774471613 743889501 683505571 282721279 26631569 676307187 94284937 700513545 395199039 421565837 186923089 5168819 906953701 5485947 162208211 275345441 945947979 707511545 656810245 961037281 510959839 850650147 635317261 942418151 282276283 29659655 860187191 550877585 866914459 273256853 828931317 300371107 70110953 837455013 356282595 419909197 822735795 160484091 370385089 62743331 78353583 272982845 457375359 763282721 895582015 405534205 74118703 703739055 395252073 758325429 335770889 392430487 640779483 607883975 451865717 191707151 804126189 26219643 635263227 508815287 926930079 887450625 961725263 195329681 159032217 43833461 511618893 649555979 271713063 697627865 338250999 48635387 373768259 965631761 476033401 771977631 647544715 621211381 603185189 131855515 556281417 544411961 428964729 311579131 992951655 17681023 172511255 926236983 375559297 673962067 616795081 50036523 261824213 953850405 232550019 804757787 281856585 840109645 826071905 874418103 379311213 462320397 823635877 928676883 737330553 438037389 613871035 976257195 887082827 539546339 366919223 577860197 294844011 267454211 944683731 23900559 330048263 349183951 610664307 56744157 107674617 456958483 83584801 906754669 733439421 381173885 677361937 393649861 222322557 957113001 153823647 984988113 661300743 326578199 284078927 284369895 791124689 539019057 882532297 316782789 341751037 149619271 109400803 9698447 445751375 347881619 942692247 881045201 887353913 37017909 145830153 168578435 406360275 167922745 168020355 550855679 78423513 621191565 69474683 151468559 130304435 494562317 468906121 65226459 966560369 902761593 385434227 367673339 874211531 575361145 668821025 471447149 778996001 531378081 142374057 658595221 762098295 825944169 961564741 692104769 948298623 980003121 29271387 970016677 943682959 605005637 261221233 313904735 786295205 460217299 864730175 206777205 158936427 912693495 679659165 533790547 472231983 613597361 355115921 785269967 807654377 735615977 398662467 259185189 489838647 450690419 98766859 690518523 794014561 454262535 690932063 473470561 492193109 58900549 905690853 908746183 963140269 927814071 51533161 88936975 966697381 718982609 785693149 172441979 898653991 837642215 780063835 987015609 67502017 387399999 399846185 725453535 302818985 506106879 448449457 264055915 586662081 181228603 942632837 977946177 725240205 207356139 730206051 728374189 20945983 327557871 226460715 364106855 645165229 347293201 908585451 573093771 598364247 775654403 515537621 310007455 17330533 654169439 942598213 822511757 507537315 546099875 820904381 281419439 587468683 423456061 323623401 412009919 996375355 778947193 383133595 382352099 544450939 394394261 810709201 448030377 485196987 122715055 14439341 981813253 563009041 520909521 361977209 357503319 744949821 782453997 404871081 593418081 41119397 459899867 451424985 531374161 457729113 419124063 88974283 141556925 944844559 623142431 926746219 500342433 487953961 763262639 284270285 7453797 621511085 899363973 11779115 601172947 731094859 929437957 85280743 295575843 293504855 101827703 795984015 500416497 856447443 919314701 342477527 636284993 726117735 988547039 603327639 779159939 98632801 764119537 261892051 900689289 79438263 220240681 876786615 675044755 755094539 113132889 448880023 898676549 867635873 521892157 756601837 215650733 396304491 885926259 611294045 40734783 447822079 454668165 576305585 236260825 572827549 332990179 12912351 932464065 688578093 764221931 362500095 282895011 848750139 10819801 747069525 909147029 404787713 469001945 968224335 492952339 945086301 705103099 699642493 948712963 262555351 971266875 716779675 146361525 488452255 38811509 585886861 549584857 919479179 45902967 46383967 860312977 226414617 839054065 779295809 504924767 815736179 944204923 821291409 349430833 280118375 530250391 561348563 287534429 600282221 412953007 589752497 277353889 710452387 673023509 711278077 626225953 105054929 402191615 615357619 828122987 840941669 783813007 794477559 171688561 176307577 276217809 973838357 57813397 365352393 959537077 39436671 406650523 258773437 193969171 475056079 920269998 360499047 328712109 63298251 132528485 801316731 244547117 153255773 840602045 178012763 344764195 632400023 750628125 297892619 402781449 656822967 183424591 467227709 55645761 120157725 460093065 597955401 694051345 766703703 356597865 365322025 457995183 37210391 109185269 181407627 159938353 721175351 155112091 730830777 587233945 210056637 722677805 810534317 995314385 491424467 639652329 561221381 9873065 187960013 651938423 600464905 689098203 206614819 235480545 402597033 835841031 894543741 432862367 447276923 337438649 640580259 658056845 614357181 955030879 861957001 392510959 782981465 32086101 275500105 952134773 994732509 536663515 394181931 44775985 402459521 625265179 769100693 127772323 918346531 918668069 49815835 76341679 825120331 72058355 80418427 815024291 764981287 993191781 943116951 807495987 579625103 405817671 703204729 838622845 333670147 713758535 137229653 224999943 717440939 420733953 161890695 673132221 478324309 925704693 638116753 559469045 333783415 135156363 99038239 810664555 514410803 370469655 240788485 523789127 205542477 984149457 226687292 184524563 917311799 763221721 197284843 453493445 452517639 5025593 493388633 651631293 733228157 295376869 529673981 922652605 506288383 567212209 107571567 845790709 148829085 46638435 649185139 707427831 277095439 192489635 474337015 209198531 121104309 641277695 485028873 353628091 775945363 213129205 884270059 84517297 18851417 806776547 427297275 76002263 215756129 5886997 513931461 949755851 580407721 613994425 81050879 298409875 627948501 489130729 443180161 954217113 412670009 163309225 897452367 293241527 552770507 844875489 252535447 544632103 827066665 520345951 530734505 244832143 590600603 713165025 783451905 447312639 595489295 299628549 746741059 920554215 520134685 219476565 791647291 233156135 718321925 465672515 174495707 3385349 711688367 433286441 707229501 385235757 867140777 396140613 940082087 875872951 349249321 568147397 570412929 431096091 368813583 771441333 931669859 870477123 628815333 984819987 6220547 994097529 605692119 31119037 735320647 333196405 320123325 208392829 90590779 326280275 134031127 137921285 906592273 914173847 163578379 239967213 987235877 888417329 307610985 651452601 667014903 449025650 920105129 327413711 976938039 241128477 551154409 417246593 759747511 466425171 298882545 206766859 926985327 328582050 666123569 376271243 290153351 58174721 868470975 560549643 151509319 983252173 414492761 471437693 65682467 424994503 533368937 176686009 493168053 510325281 406893821 295594625 817245123 450772591 40545483 15036287 16777015 357967535 575106101 171380805 235918117 115936323 290606657 688076617 480783303 453648891 728618397 520074991 332459391 316584205 931966881 859230847 463990235 834921493 817784655 601269035 781450893 694294039 410698825 792115979 970877553 905688961 214744547 54136865 594513547 788598571 404549137 384265559 565881091 732118349 383882867 282610559 823578157 851047569 149781843 756798543 594516871 134359811 668552861 792350569 167451315 234832663 156945129 507652441 527888507 115993259 6565495 254772367 413743573 677454851 660304429 166802531 862469849 692878543 968008347 597399575 421580235 983708963 633025785 844832213 172748311 131520635 286396453 55474095 829333841 515955903 570909095 694616731 807985715 836720953 787974831 562421115 60243873 493024671 941258001 890936859 74703269 360793359 440759889 915781163 693558389 623795471 627990163 992156739 150888297 762952845 227367845 957276389 199191559 600112347 400705539 665942395 245155063 470044343 453876169 16841557 526534927 35328841 771604413 604341933 822616137 249470237 926744147 852374435 307420361 142402341 221896349 547475779 998505947 110197187 191471965 971934333 111420145 729339323 227869179 790154025 472083621 936745783 539522435 473740041 227284413 736617169 962817967 585087685 761432097 506886787 555419615 216618737 683736039 212297395 985386007 895338757 691339339 791689007 374490121 962375267 451078829 25658411 537995275 342954833 378133915 866830149 202002973 568193541 516638149 262913667 246862565 67642773 256071435 432695121 782156467 883827969 75863405 835853701 413649023 258074167 95332373 956035163 172384998 391294725 922326619 684342651 885171507 79602213 301043381 146639855 771756627 703987767 790589899 763083055 627422171 211450055 967039845 583850517 164142351 23532355 697600887 838091755 452141009 581232135 82235675 554942297 469392821 204883283 646023063 238648183 63476977 67902543 850824021 63921347 815655779 996172815 822876393 941209121 367751569 337638027 457897483 277972447 742674349 45688739 778637475 603143345 49590927 478308385 56704441 659313845 435397299 216261305 881617537 381398129 336702785 171026175 379307351 531175375 933729547 894955641 208643773 60209449 403668357 328650637 75048031 268767801 558178767 891688079 679893009 241627431 85740979 437168823 593974987 583622013 255260317 556185381 710720437 198634801 991157923 544004579 15574807 574698915 688100233 289927395 492069221 544068757 803812275 971284735 700214843 778613045 480863027 826420471 298482525 575797017 998233275 939472499 330219955 491693887 362878127 101140231 64309331 591176459 254027797 254712617 251479927 163299657 564739485 29727549 952487299 557564209 850559643 513420427 223005185 619024735 888128531 289036359 421066917 308392663 616104361 59150469 922506315 574916105 615926443 826319179 721855479 537099207 746282261 369447807 942738897 151900241 797421187 849837043 54583855 7581261 698469179 166731875 16553611 661741509 433138991 838159981 429167753 148026159 603517175 831499931 998059765 207689321 900597455 442836319 876093631 651643833 18532767 763838481 903139335 713148619 513749497 509273077 29500171 648279477 613913361 665294129 780740923 169452019 989456327 412318167 606381095 569990509 374904739 481721059 56840843 864924013 752922581 508920115 601622859 851211179 707260979 333757073 622944371 226647363 249546813 53211823 332087861 351605689 87171097 653126181 178459627 971731963 376764311 258015093 895159579 630182753 687561007 501606409 842745455 311850149 620664063 430783795 170523833 755689707 508230607 990136617 104385525 204662981 257103373 655861775 957901897 55119141 565451475 709861613 943084285 362412137 624217821 609761459 657371011 127733079 262670229 565032255 230013563 868822043 437072905 555860045 899093669 888301387 774215663 610685065 88548333 763886307 175455913 842771587 257605733 735525193 569679933 6620085 902818635 564824139 822303833 55922049 286653439 466862111 582146901 804544047 129346319 93407327 319052593 633390063 657790765 661809939 498989203 803414495 274905141 5733801 971452365 279660282 545687081 547742707 226701778 393471279 246014005 906255153 793432901 399655499 246975917 603050757 205901677 899727113 449688841 235151489 978798389 771864585 222021873 748110615 227821625 221886679 787598125 262215589 770097079 735034083 112270257 547191663 886343573 199774853 177895321 588109605 913557859 79590399 947544615 628901849 951837529 88165499 160487881 616049163 995314517 565083913 41729805 150545057 578104799 205565859 834402227 148631525 994540325 508231721 463718813 434963085 723319809 536737639 134008277 747243191 673538799 257409035 854433681 846057705 949679385 269693361 756378409 168246031 32846669 111407065 232076065 163769727 477959425 411288813 433769765 553077751 579699031 311876413 667698441 806471833 399590931 316306947 501641159 224298743 903723687 993522783 153213571 235629313 475887913 947203677 750892425 902413849 972226393 355710443 699701577 442694145 43550623 262582757 800935267 21657065 982722055 360768779 947193749 401731939 992320843 225857799 914231503 551627631 447521227 981298023 409920033 892978033 305024651 812854953 57403335 454856759 371777085 136076077 636424741 740304629 221395509 156451897 322709191 121266761 866640759 567058689 708910941 740564281 519813031 809528223 418586311 434146353 379153941 81147411 166285827 965040645 696939705 913973061 931750209 167104247 316818225 639764489 257635537 532340647 788550085 266062871 522144817 689675301 112902755 418297615 694067457 407316711 653174693 788093819 504610829 896711111 189504455 331391439 642967627 73718029 50198963 942915935 706544085 399832167 22666741 909039985 315142381 725001191 567599049 74232875 11996925 327227149 429695497 78821793 964557725 304254395 372103745 438623435 439317891 641958211 306728349 680754313 380010903 953312599 901116405 223685285 246248417 483652885 696038089 153855697 76723349 903418881 626192449 4595111 921622285 730475787 633172009 792398757 597503183 738410887 439447291 163681849 851047557 918722609 375546581 390884527 472778499 573507119 35824255 502374213 807052355 392455183 686233705 915304985 29229159 239989445 822747049 30160949 339748029 878296239 809471231 361921675 994333367 992444563 22309329 995118837 857514737 589587615 494072111 76604209 59092525 582012773 847339215 576051179 95948887 219485923 220134931 160247733 551809411 75852161 262848257 386032133 705212651 146232585 190624071 982916159 184762355 104473011 93347647 938039467 114417445 662764825 702190821 340077435 582559029 369392453 434108643 751266249 771957759 134450591 96714631 642003091 655553925 140078593 288292807 483777477 543500533 883288997 786193477 676961585 985380255 17612849 481770565 59663245 939643391 876203187 466334905 532435325 309193911 686239903 733251895 67900553 116389783 604463827 360939263 915153955 27082893 393639059 902308855 256119459 844462263 660361871 533211569 669306955 596657497 249511899 944338529 374510149 318835931 273413877 52753895 840407457 36635603 189111999 72276171 560955483 888259579 400471433 371049277 610840143 488327991 715763209 320594963 49295435 570121363 438323801 15650763 73387775 874657601 759696641 31252367 326067203 825078171 582193647 153831469 148919003 383221285 193970037 924775197 495115245 523433613 7168851 79020413 121000843 366460579 255308717 666895125 163084015 994661733 654961679 51699539 782969147 323773939 563036785 19055183 355677813 959506585 707522095 687017419 384909971 259687373 772167951 931541033 992297067 540328233 266210875 356059005 154926783 1575533 394156365 96585851 468635961 357345929 328685887 290107269 314911593 901830285 61147511 34892190 869176265 225248951 72374979 59507579 728833211 188281703 786543193 898169455 844542855 970856491 166674643 566236539 947992413 596876469 659864889 189785159 355617881 162033121 245728247 974401566 872948347 760413873 548229091 670481661 196563629 952217423 6262587 550655615 56537535 179264019 159303841 855577325 309042539 851157109 511916583 628943927 205452625 405762071 809989183 313900787 662091773 250870215 721086149 989479775 729183709 487236215 181262851 721748069 99619405 202876483 40877473 499715219 148622989 804944749 112985529 319640865 625541319 316656993 711184837 93845229 399380747 875411891 895612843 633208701 854589011 317562653 91732665 531558405 913528703 587075201 612866211 278042711 555299931 652112365 251170439 58999797 421964437 122410389 207979499 70820103 85172425 747840719 182344635 986643291 941473143 795848997 764845387 94477671 961171463 979111229 705960797 113530699 543654349 881148909 420070161 398000593 348729601 184401711 996895481 616148837 530696131 472288037 206228485 936428319 12802847 780989215 190724247 209659327 789008387 557333131 419720049 231037099 31407179 377469447 256195777 55683827 244296629 360166487 320339229 211768911 994527983 892298083 396987523 271137309 645229703 691456321 759322967 923525223 327478261 95089963 820434279 281765079 585107101 194160261 394668775 932309449 607977673 761745369 680072565 727258425 413271207 936810461 831403797 626754513 163553107 18476649 412107575 999811039 668696011 491855747 817152431 171267675 225585661 756393043 787801529 751202275 480865717 559081519 987339003 834773437 900378545 599750035 83884675 236910813 131070607 450013983 900157895 780899029 713813465 335210655 257934241 574498535 636211457 199331849 272088921 254465787 924043361 110143093 471457691 834744479 840813623 603778345 935057277 214330377 818830769 433831567 413459325 56593689 79412187 813891385 950209661 538120793 642096307 710853349 387287247 975560181 192370199 707980147 895062309 4679365 870093521 122353137 62769051 663163207 961191315 831208847 426718395 503695527 986118133 382622893 695877741 8442799 381863291 695936971 567475467 838545369 107517067 582257301 326483023 862207043 878444921 199413981 654964831 18738869 14582139 467012513 180134089 412842655 767515573 427069953 976240513 510069781 782688815 214431819 742789093 686994651 210730715 471857905 294843835 108672853 18268817 602111375 191817263 549014419 830535189 940154855 760929495 697438795 510112525 228105445 326827183 874336223 592577803 289833371 776230175 859165013 786221193 951140935 670008049 972969819 592747497 311622987 157215069 47209289 439455859 194303025 789860605 543617569 821454169 466094253 58527449 656800645 718929587 862883739 903267679 34533577 133009027 245441533 597254497 66901473 823672755 352236543 140631327 621105261 680747285 345050613 981777213 698950839 774570079 852119897 724309449 56214187 877929269 515428301 794067255 700216033 336713759 387922977 248557923 280120215 400247181 12034883 654657687 884116921 476367579 970599249 124780157 463440337 577409355 164134029 872727339 151947545 600329473 691590757 319687197 272675439 526061077 21139561 152632121 661172059 267631995 51804501 40104909 82534155 390126101 73916429 744540559 648581465 290517935 187265691 950649241 462525891 767918585 702229299 783556467 430797933 917993867 732214579 892204553 811278635 423636711 409060889 942001841 915005043 529267575 514966675 699476521 162316899 241732747 794254199 267547029 873567169 242936413 779637947 554448257 422845185 186483981 556622469 435527909 963828533 659237287 548859423 152735260 671257375 756716315 100941567 358665197 668427303 908903745 553533885 848533125 142455641 605501403 65194783 25449079 482090607 406160785 404474639 969025987 516237513 581570295 710248351 671310543 63753323 732461957 938447883 593141091 112145159 281718429 562642871 904683451 741807347 475402373 97671471 271178607 942911023 805647731 906229029 494063751 134924641 618819709 265717107 673803375 796078297 943576741 741052959 322452733 411291535 443733459 522721363 319977325 83995681 834514395 17690977 612418407 262359511 550310261 68028359 105084405 27819423 479522113 651496485 524121741 970768659 869240011 106238025 761989135 483866993 925814145 566388261 298831805 300324509 404027327 633339093 981067847 699557419 296562117 648682395 91565759 289972817 330687163 423502049 245400485 758988011 697737653 740629311 797932509 745930373 765195435 692024429 816177077 895339851 908386173 508969037 592800225 763075607 179433207 247497709 552367231 31610213 684708295 462234751 911882259 344605789 802902919 362892383 785460877 283309521 950992827 624280079 281437761 9284405 811622603 136990523 567915755 880137129 389328645 608965047 703967921 650568439 482344871 71518845 416353057 975164041 155506639 686941871 892399665 13281915 627940231 105729181 653003579 170325643 3730115 245150901 754589703 331410719 216004695 78151317 728893379 902814791 987736329 329920511 350649345 646678715 228334207 33770975 899856831 439301337 789864013 412184393 819902565 437607849 303938281 480501367 605025983 910540763 670938295 609568205 456563201 899203779 170432257 778754261 498356935 20944229 463058677 486670661 698178587 296523621 445107885 631173621 953159783 517097489 858483757 552573929 381007487 898311525 258512987 949192015 62144675 445339901 499627529 138842231 346954103 703076127 380368627 252029149 183497480 393320893 452271799 745142821 69537229 699666287 329893343 277058329 999145379 946602609 856921309 807419567 96431309 761127339 522151689 176193279 612955897 407257519 181625255 727295567 935656509 548481457 845130973 924768775 812923413 180611729 446599869 522211773 395075177 124848599 310872643 812336685 794003075 418815667 598530637 780097079 434312731 827383035 127511205 948249577 24216651 373469231 39311101 238376307 531847835 370165365 415205869 810234421 395272697 866113949 511548407 144978349 612564919 707098655 649482885 565745803 176055957 575316505 143747817 108353439 660442039 874095187 916393817 765272807 751798187 876292411 135553529 50303619 700504933 395418091 177486801 684259777 209905475 24648479 699176403 278397459 347910155 656882753 571756503 668092435 717864937 527759455 772649887 36237959 472370033 166419759 206866901 540252505 662053029 905072147 438606601 960545437 610299365 840832785 529190069 979750283 532919553 202735063 438223931 257691531 764162095 870126269 467294691 897461541 564533513 503010755 696656863 55408909 587161495 491043215 722314055 942887197 536080709 345526899 577629981 818329435 13093355 368269155 119304011 239364849 934331585 402364671 629863841 180832563 804610417 664545423 694281433 31795867 157041925 89944323 426753941 299566029 494033653 377292785 261460315 98770579 496799773 914961049 439370657 403244257 691289539 470793953 94086845 950918099 810690193 52323929 154684657 660512939 346700705 832189241 564931943 614023637 640279405 767343967 176890671 750911461 128216283 170619219 991752771 21752469 594786361 371507011 770768003 375088073 521897531 537068041 312974011 289853579 381116673 40191009 234600859 464802319 31265549 134661301 894901945 371250353 156821581 758660241 353376155 770134261 604971287 180788529 368094889 224960643 979872039 7344559 155863091 646626609 151649957 941808087 435702643 138958841 862253851 520788245 852377993 166532607 839729793 7216001 317838977 134177677 984015411 829805275 770136649 977993497 826460661 120206731 266556349 861340731 179235061 954715037 361829789 577163959 754194123 689634251 597341075 621349755 874500209 28134517 630642991 425796503 956242765 33066655 18148073 937218887 76395051 884701433 511112487 533577455 49186371 159268061 413921069 899989019 401270835 803257161 94670897 847883901 954070267 88586723 88425031 146880751 372543245 183679483 333552501 521608823 892583229 941698953 289599139 899327293 154760135 333618219 207428255 655133591 722122067 684608553 248678695 177879297 688474603 783685489 259163609 374874395 157955589 623896733 587295041 278536371 34190209 327441897 847356877 404290235 459402913 621999167 832283353 136978765 607115539 148378155 663550883 377868975 975483117 398341353 164780121 161983563 802470829 706576211 665956103 467944371 634658103 775529717 465152683 57984421 382434520 554442491 664452643 954799873 560767045 702496573 381089593 38726613 866275485 353169723 969733023 583172179 54655333 496818459 824182255 455081943 519817097 593719471 217134761 251257315 451434077 451767915 120995637 56794915 646171297 449213551 74848997 449316457 843363195 986096003 136242165 132919731 98363251 600825879 705694851 551667491 575421829 357000001 742025113 816109571 529003017 484263871 715359273 352933319 899448775 454512379 659079181 182369545 406965995 830295045 884433155 113239185 887961611 247298191 289584567 205489221 112619301 822540285 212822715 924458553 365325979 314631253 561993605 12758955 558182975 587208517 946357113 975511037 383750209 88763175 7656671 516249017 479069763 725196791 101419497 608377749 699814471 411512415 405473713 408875879 806991805 841001131 498548533 278545209 536226423 56400855 430027873 771604017 764394933 469801597 832888071 965629861 517440795 706222569 514136029 126126607 989281719 357703431 818307463 508870675 796600061 599656815 764074893 833460091 675195851 428445793 967446881 455418429 888519527 482302403 667212635 59111281 883911293 31821607 982132669 537258075 190022691 617478337 314587569 961767273 600395477 791706225 294441545 139634475 37987707 761527999 700419963 718156637 752980063 670377435 438159659 440526307 205957687 751405211 384806945 154623943 402544931 942713213 368799501 154122815 163356581 348069803 928830861 780947875 879206827 9724403 483686685 515320953 208695181 110000589 923151401 181064809 882649347 263177303 617471745 392121163 899688503 874963289 9923295 441398293 927457973 225813057 299750117 188278253 969109617 933216039 724598555 209592607 473183945 281884109 393139057 507087901 628305793 309033109 937043651 851693697 446213065 773635987 324954065 766573073 843442485 764649851 608838725 545484215 217777857 547371183 24271791 788165253 50460115 783841331 251888265 494480055 183255353 352233145 589151541 794404019 161580583 66308503 641477371 741794817 748004669 480672717 745826059 938053203 192006525 315330307 948446081 507169929 39617877 60296837 498197085 721067427 594984347 148991053 852653705 297604557 404010123 211330553 434724565 726180697 666662093 686357969 339537147 455262149 8585835 884319685 967528093 284660403 271944669 387633771 500389953 570831597 486926591 915004929 425693277 712457063 668868117 938893169 208646727 408480827 972338383 487921481 961277759 267624879 477487423 314211521 459217267 478708525 681350885 663146679 695591153 487469641 155059621 769643185 6933683 117001661 605925581 136661475 419731353 866379373 172909073 46463007 93280111 773450851 301972113 748042983 750632419 266446803 875930061 732173411 128551825 709881369 934914743 240704097 506723065 833819319 355144355 253748055 848015235 13972569 769627725 34543973 738033283 111484371 384095453 159928149 585745969 342593311 414687965 264053651 502685869 867128929 556690245 707000631 803188483 83905763 118492271 478638849 772157985 196000794 36471587 111413335 297081315 195934881 880316815 301969481 376493065 256854841 849373765 130479759 864403771 64891855 738719557 568158855 307345421 753457271 938024691 19442745 531075573 709702251 539620123 265071445 524484697 491730191 866046453 634603569 547193725 897185519 526256925 80960203 792399765 57494203 444830873 497226189 626439611 20655699 725332437 90476933 879761645 874714037 161667237 793481963 239563545 554661905 476870219 972567197 808053259 880237239 865818727 466456545 927972993 957064739 312641545 961543083 505339161 233361145 101442725 370697101 457256797 197818117 650302235 918707401 458979521 446311991 661793965 834228551 173799321 12485551 734930441 331707539 19735083 725760173 452344901 845550825 997464989 601056667 499426781 447699491 175238401 349521681 656902073 661013197 715655251 898981061 102067237 281408785 975847793 817355421 689705939 646037453 963867429 694768549 224510181 906715001 320280097 26372879 387634653 864175427 376062975 724085557 572224171 244938741 961689661 321085597 334677411 728803593 479768903 910142705 727802497 129359261 629258607 824726019 310630763 307993465 947874795 527828177 502657517 300571149 866530783 93786749 721456129 108079981 447649619 838845263 860471039 66668381 462054969 39008703 38330031 966167105 423204713 519166823 34773053 384405545 776394663 283418121 592291647 206168523 520470169 110628497 549499569 117650825 637450705 113650707 599464953 730799209 543806921 194900167 37274599 103638297 96103651 532038421 122260395 992882417 992508519 937397381 731198438 226187505 110899079 574735051 699940765 315305153 641887835 790101187 604989757 626304943 860835559 619025775 283428249 494299569 840812561 988797691 516618993 47139943 57828011 973215163 261076969 183384091 229618799 78684457 145974925 736283321 242865919 272168681 127172949 711767769 838053091 852033989 511266845 185566393 453740171 199622321 700926763 819302725 479829333 244821961 193354283 90410247 641585789 608794961 327567153 672763705 784628271 358566065 624029119 367453369 692843131 998895487 314293 926950159 599118939 375978101 115736675 727337321 52521649 581203575 302145917 935418273 171019587 235063695 39438371 196936501 588110279 777837043 381520343 162661449 808964307 606802683 151338887 387397809 925001961 667057195 902258825 410790115 282099059 580837937 448954267 206013181 781660609 869649885 781610975 760124357 666349069 23223083 482630119 448201645 907723385 412209215 781460645 759309773 879305739 744845925 528160373 880608993 252146105 237830925 312328737 483846737 648600921 429514967 584355795 818859311 620796589 705110145 846867999 46845231 476641887 242530811 11278085 14399923 891682559 37286229 320581865 365015231 505005061 663451597 589756313 808784901 477485271 310701251 414780745 176782811 862800827 83047619 938756503 835905601 897490145 905250947 375243913 71776733 840373605 55842269 883201419 475772671 591789639 738759891 329652339 371734175 848338287 142349455 759138431 871278427 36019889 470056553 706933585 978094715 770015429 778924759 669730297 93257965 156600907 805898369 897904109 846462027 627751631 520643885 658229257 374619089 287623615 229077203 362871697 730573673 921141111 435550349 490484019 159229089 477784631 162351004 15284743 19712433 109292839 425065071 842308743 403258997 350772059 483617173 925297561 177333625 640348363 740305613 653904265 898237673 104920919 927267321 350082319 824762271 816625611 563385891 664455751 723904023 139613909 504397439 166120887 986421625 546655249 262444903 517308235 646722711 34951421 326182755 86883161 742993125 178206727 136135705 227685789 343894915 983540091 113721693 139490877 582322233 737717911 217695789 11716807 348481143 347233401 492109739 390545713 152200787 882929965 490739233 915554517 979657613 802900641 568418818 87083899 233284747 845052335 332687597 452463183 445058909 91369755 780413091 75770087 81256635 86899339 841366029 980470849 423530243 852046739 847765057 501672385 499813181 40152233 28851065 581891635 493336601 270808627 435325463 660357839 716683499 761780085 888797099 93852721 997873847 512953251 193630179 816630621 790021919 291525845 900986781 730905283 755032439 654090511 522862557 914515767 417124789 952756535 286081739 41007349 733365109 521486369 856771261 627635875 296004355 121274243 211567917 243968079 65057867 406479617 495901631 618767981 869943271 814966051 570045247 853660379 520093715 978791515 464126621 744276447 273288631 501122051 60001785 757495589 825433445 645646169 471876497 504600771 94899793 675256969 615887061 696994359 110609243 333159333 568156501 307437411 652217355 212725667 851698125 685347737 161803665 627938663 696419105 81015945 620438467 479545529 315383133 226587477 943904289 505862987 266413235 717630335 188233937 602969013 176986749 340802551 288627107 671574649 706329153 611565583 856865039 81377027 411527847 58712711 633327411 500854943 826301575 755630211 515064535 824274313 544512471 915818639 999926889 759861219 801470655 778463141 260954371 884185269 156639877 199817757 486665569 364530417 918788769 423678141 690379501 192740463 860116909 465554869 701341365 336588529 756491371 10557337 940935791 979730209 31391431 850925669 427708797 12302223 384861907 897650817 492832739 126812597 183551437 372364727 124531029 217393909 554920725 745766973 799497765 458590102 525648185 910543283 299797589 712879053 92415723 316049435 274845323 178440366 89620999 602927331 582885657 861468479 893123727 393529825 467870963 873931111 897654191 660921427 381945529 542671095 290623673 248265181 868027827 311255209 724487723 854918539 841184977 27356447 868963495 699017429 588136361 708625377 27278839 435120791 399298427 755208799 326224911 385277973 38672429 492394741 11150859 887921151 465420111 360068579 691954989 23384425 578975001 361410131 887870433 196831439 641965417 598269781 442091195 655334679 111250119 651850467 228274037 833015439 788343137 644586207 211125747 545541099 964775953 265937423 421583167 251979081 990026579 993566505 712651407 200547631 552043089 375453123 677049403 187403145 312113623 16905567 620136135 200978605 572025185 424661605 871517151 27966041 456977929 68182313 166149975 481648303 932902811 245017315 449036329 437898561 348859267 933976245 934030201 561080321 399631833 282249381 471255443 641798219 518848604 708587177 400488679 855922151 7898999 170320789 100042515 177182723 827735347 51740207 280144347 60859441 511416395 748718111 978953255 692502384 55146269 268549877 113529613 687338791 490668723 33492777 68253897 431410209 260683191 828038945 161954747 418116499 388290437 971274785 388067695 121178139 267394331 229452639 120956315 332665535 744586271 567483631 366295831 690223595 284752865 99011287 897708265 896679541 951010393 332973055 372060475 997628569 7652645 345352501 497704031 861084413 268262029 944071223 237463505 807345071 459528319 66697379 681291575 494716709 439399829 792130821 410084695 631935289 463331339 395419083 131632937 978166837 136038603 924322897 677056199 113407937 536562785 132365781 586800241 388084213 86013449 761340549 722310551 508058191 406869149 306639981 241638859 263361203 953292713 683680907 268581317 450579565 360843353 977478589 496606829 683823925 15933061 39453645 896160203 134439463 876132781 164425839 149576721 823958729 443147255 814426167 970302623 388060165 3257141 54088107 944240885 154198325 437549019 750813233 167300543 303554323 498895881 657635101 282969041 778078917 46658183 993727653 172707107 699261145 869411269 793189101 479740381 468894787 433387737 168404221 94184263 476335971 7917697 75860935 997897429 408430331 955228711 265361701 956362531 293119289 423644377 18532565 277302003 504170675 470953039 912140677 183822385 351726949 739989479 670960577 484524785 634371511 890150825 228025607 491151469 92541299 733623619 581851315 638429703 445754065 231315727 344732437 546228815 757811565 106196745 480117849 468348915 553112907 498493915 218498457 737437393 398348251 810889681 792594391 687942379 816816879 71238631 260110589 412730733 422563271 952758455 742457053 396001707 259704327 587386253 729770541 795963423 33068221 695784789 498101649 793761133 257527133 170938791 450095761 854669665 839340229 768677827 58600607 638288875 445715003 30995855 257298963 761878569 727445611 645614749 409641777 879182175 552373355 514217249 892886815 280728053 331332279 600737531 862367471 246714497 990501429 87763123 125047451 457692861 845369141 244401273 258759685 718900877 556685927 857962785 550782965 919513341 477990893 574297903 345854237 292192573 455572041 771159495 124378901 966482861 587737961 962318265 867749727 260426955 463434147 699716733 302220389 588123719 274343605 633933617 959104631 318289905 295267011 470142363 601275087 558996165 588086105 333332271 594296463 836747241 149089391 608525823 975335359 255289763 191898977 667827661 998285391 338028651 348348917 739389697 623643931 29016537 518602071 669005225 266000101 123856307 296055579 871417979 553231185 86317283 170380865 954432473 912168437 223968891 967580719 577577671 32007499 641310393 262101423 128053751 69078959 679236093 97622007 503166143 550061679 934918101 819577253 660263455 346418873 480944627 310597567 898651581 355495081 779871025 348340915 507077867 891692607 559602837 859987795 792833437 425025637 68570185 548118493 830791027 336104939 993863841 885814009 408561333 714533003 717874965 482068145 653393747 8293863 964932429 314576253 402513377 618532485 628201489 975559993 234520227 574127323 198563925 213548585 596662397 187811903 147300917 541508093 760829439 976705523 71444979 878635207 634962529 888726559 539548923 335897095 496198783 351176919 974321375 678568353 132581349 644418835 571176541 807165155 237297601 519149491 396098647 925613441 270616551 188491395 976846551 994440345 896080345 940388145 803648529 869990321 745635775 653395033 995982689 197657013 624387941 685290619 623653449 413888507 514133831 661168897 139608951 120929087 259484031 190466361 841764281 942658729 792016601 674338657 205274895 350250179 980819393 789588375 989345179 354439299 142433615 998663911 953532585 421778505 78242883 708116031 382006697 64851671 585048067 339608955 904433977 788529757 264035743 738766427 903858203 840840045 539328719 429870471 390891069 507920391 405774064 967532435 163404207 168874125 818137613 795529719 284840365 137853649 901162963 96551443 611489179 143257349 864137369 977205297 464114691 997302983 752954461 797073539 952797083 875345949 379014601 555184675 562493499 666287729 404186411 955858449 782972905 344918429 927020411 96965685 568265677 886870235 467169623 415181411 149873981 32263633 720951301 939894609 695046323 611765133 703284857 757889955 860088533 478523269 823496261 347673315 146884457 792105619 924148395 972138623 316058215 739830271 53413779 262482641 109436135 539490933 129382025 794277405 26403887 438336781 742986185 297637257 105097385 255985215 41177389 93316137 76122343 655659765 856486207 641397747 462087333 498508665 141081135 8962251 938837961 134027907 70119635 398125433 977785689 665173039 841447851 126201007 705305741 527552257 369606111 542450695 100299199 693892841 71367739 424641791 973895025 693448761 904441913 929711107 926707021 64794289 373808375 457318245 456162091 349193845 207015485 255145051 643571203 639654163 768789369 933457417 268742903 523321471 352237253 156825207 588194389 592501273 702612959 317799319 733590671 258934177 992711981 55331393 804833601 678414921 439159999 159351609 552348205 871106981 402447691 814567973 913375807 568870579 908650291 155388567 110251657 245608149 647898493 381671691 227061577 481353435 612824791 762107869 973651167 553305595 750676633 52885595 138607323 317672145 306548163 315227061 766811371 804418145 616241661 268511235 715562989 942032153 278423699 486459721 712534243 835126223 344093569 316229229 776427513 874791105 607869025 66803265 103421827 880103059 808256895 244802687 793286395 146898259 364261061 782424777 461300739 328969589 875310799 478383527 188079979 444746455 805725659 193090955 918860833 884035517 567855311 886214605 631601731 223273943 299695677 160782767 634720275 20179257 845292889 31507291 47902461 342173023 670874371 791173857 859971733 413458479 736718531 855618363 402630037 273944313 609587655 847405899 298715873 944605037 777433577 401688793 67471493 220507819 189599397 206916501 145653425 307097657 748098597 186694171 262230211 447431941 578840631 985600747 655899199 273957473 872010579 80366447 189848525 529217291 746867605 923812087 842560579 573744683 612350409 862757821 998019485 236812363 62354523 536555491 472680443 789639779 687052901 359844977 488560297 813250255 357602979 580738647 809118493 44067925 61431421 523340145 289624559 523113759 945083141 925743487 891507685 96995783 462668783 5181227 33224423 215692871 614343323 657694469 857735949 29186821 371238675 903166087 252252557 866220495 46101251 481710353 405839309 918623961 564289731 530165487 408694873 447847873 532035665 839087183 433464291 361698445 248284249 409698893 628643909 132771497 710702373 816987625 566695813 105781227 682966959 621793037 465074893 437971343 672034965 636711303 534068079 419366717 968192287 182150165 872355305 780039167 892933179 300876119 247297755 829506893 129245059 974786259 88251411 723706369 530243123 326991869 68214147 486962021 935260213 101922607 603151941 566644769 90077463 199857833 386760607 660667725 393920273 67624341 870446587 532212071 777197567 579606785 119084013 528017235 290758765 748810987 264028461 90973023 659659399 193413425 609437603 351255103 650507557 699324063 54700631 908613649 438713033 381412323 101709949 63650651 677186709 355062937 696322673 484050439 548555613 120289343 797000373 259695 277207701 853692739 867764981 858747469 680201053 761439219 843810053 104228809 511306109 451788167 147541471 321225325 285009509 972402979 745812133 982825007 226305067 329470161 273657253 789386351 564681359 779827839 308711763 84780271 866612215 812713737 383173959 58862301 113043571 513312557 244694341 447210959 966848699 873561239 250306617 695525059 619679021 247656665 183998263 56332061 763929809 114388587 243267193 438904745 95776343 441685933 59891299 681364895 883661587 61194729 648654463 244118427 80101897 753773649 611448963 678801569 215162075 715990271 284913479 249394977 377975005 112169457 699279311 535695852 890782213 692461075 664336455 743459653 188275695 277915703 313272579 381558223 373905127 913334291 644441983 180629907 522953945 997075275 714110299 10155277 507610205 582599783 33412451 782178325 354079155 655576537 327289997 422831347 897131459 281121531 570318577 232206675 988858649 142647563 432848597 626035531 373304561 328171061 327296417 828843095 68500005 606836363 952164587 430449759 145616959 3120387 806086511 39734445 629855855 903980161 956620301 698739961 232923787 558593229 505316561 717555293 805945875 624203161 779163121 259643491 166408493 618424701 226686661 895266803 267419049 561808637 450837715 830324327 839399423 962256255 136209093 378570359 486281805 729927253 533823853 208309581 211185499 872787385 195276489 788941685 867416983 49247693 219968249 548619747 480894491 871541657 262319435 618478325 608597411 719300623 805323057 928392049 570595225 462723335 857104709 11436419 453785355 594428995 394265677 459237313 322453935 86710893 139719731 203002407 708829927 793186837 83179785 236458779 998708919 480647863 181534733 688490091 810532561 795784111 760271521 663771213 22339469 983314763 207955789 700682843 129378535 198067643 757861577 713783453 169915783 29057047 537434351 987707521 642281407 299565921 917081025 167577049 42152067 687639939 321674859 950991333 408697459 821153869 241059393 915176007 802491095 604146297 487031741 507477009 567446687 968492713 34295681 197559477 864637281 170800229 630986075 177613585 396309085 310645021 973310271 957252713 901967737 364047661 463838275 893191021 505095237 326918357 61733297 19367215 282204921 790804287 185868783 143140399 48935283 214317947 763409811 995978067 857963577 262021507 106216535 43520741 42761087 226527033 437157917 152990619 523841559 833721187 768435701 623565203 927947909 334740151 871454477 863375187 506281963 263099083 660909507 837454535 337410333 845256993 794412697 295636549 904979345 356979233 159682877 666880395 949796451 366147103 696046463 822816955 694654815 292237395 376077915 184155493 597220849 198971871 733631733 868414847 761974321 912145609 583767447 721900133 418651615 203198727 634156727 493410779 123170147 89955695 598184429 235619089 238454985 46613185 770486013 898162585 122548939 397233323 466267861 608772211 542222279 794734779 705169541 165336835 180986055 108895595 626415177 35741719 701474933 818819867 262268037 539380963 890153005 593206039 471513285 170809349 828760813 637158029 307183289 301468291 427392603 783393177 270948161 719391945 260300231 626367033 582300507 665849771 801327401 805022043 522157879 650167147 345055775 305460173 719417125 550449321 555778799 927340359 219973283 845043061 735679885 376424815 756564305 392802885 714104459 159762633 987245053 281787123 501012525 462969289 665809305 466699719 685272917 320051145 401894975 423251567 997736599 27113993 931672629 652830973 980947753 686599857 986309349 750653679 400522215 175974869 92562913 254371373 504064093 799469163 651942887 56721411 783965623 516602711 910949335 299192357 218118605 77062243 18623935 402136497 639703583 508242237 959032273 621384235 841051347 487915135 115768169 71449731 365283259 777160365 539041801 40805389 919460683 688419629 58298971 881480581 276430755 196233555 344985399 74392081 47884683 763522389 490679445 458197567 551530867 878119767 702396055 779006723 822099057 880565347 956449931 65989307 807929667 616268647 874593251 171072045 971127123 669723709 470632763 617909639 69573039 875982505 124926805 27275611 102732303 960893777 899151391 979251111 246470609 763989703 904249767 42512595 923715837 355736711 987572013 465217193 262775617 983226863 593655315 781813089 62504183 163189065 329116387 77274261 675221531 351034567 441971281 504149071 493928791 277800321 230156857 151233527 375198455 93558393 911139487 460374887 540926967 824443803 867159723 423274457 672351985 687717555 60822963 285816563 824625 380195453 858094129 776192961 465692067 837983643 567432905 552818109 391130590 451970965 58012485 769190847 255349029 55945693 958240665 111910669 860377947 696241355 988718819 255315543 616260627 624299683 770947169 406529713 715527551 431649931 203393 143790233 319669637 348385173 305502679 209189617 269713575 791383483 118856223 447775241 130067223 169480927 198843193 415044759 337534889 847624137 145317425 937434293 785624801 505499947 382471229 366972651 485361635 745874077 60293045 354540839 194536831 265528225 460038943 472863163 476916013 818377889 530853923 622089831 673766411 822950893 674996887 878459727 783249887 485125823 992173431 980347903 284055069 867383865 427489251 93241967 563888855 479085155 130360361 299739643 933694927 583186223 949161657 304694889 519536493 706897781 983496499 113562339 678838719 833412087 206879575 858112771 142024059 198926943 578688015 208736195 45601539 408000061 731739763 301645449 619770203 390250507 12478137 243855907 50001717 601093673 284003145 706056647 890946535 873709027 364336553 510447119 674717297 176290921 423709073 30690819 938694777 813967827 943169499 794550287 533819729 251951139 743605641 261955849 540769517 692682305 556939463 162849071 295554285 422667009 317411303 229074211 218324889 257401883 628388967 611502839 472049889 872313649 470206439 41741597 102502233 73167049 340137781 308509553 91099461 482007897 426632003 113273917 37170569 728066103 554707501 962480425 119917237 325638821 556842037 168248911 93506047 957913291 742182599 502132521 1669705 831687869 552954231 940212125 910629145 864295283 551369983 956993785 711632285 219132879 892843585 667819249 908092847 761395095 162888013 562183843 159298763 932371073 378390609 79570837 26687259 762224929 794236075 697778355 341706859 420507645 908322269 914021201 269650231 445982845 222717075 49959985 650767257 137813489 42210209 921152627 175854173 312237201 917608193 177210023 236052463 391221891 18333399 89297859 672140647 230748363 933113453 796977699 196734341 419911261 222511927 258084491 398096303 263019283 102629841 479351593 437849333 788448941 746167551 960663699 842875151 438298579 148564137 705743047 228802395 974736153 294052581 680685097 202704353 101487095 496854765 690782855 412880465 694621645 144405541 307564565 333241089 812448485 707796761 970980977 163206639 643817331 851003513 526978975 172536773 217117323 47214627 25445135 839440081 475441971 64157211 426327701 669424651 998910801 718128009 403412845 492428303 123019449 32701893 528086845 994465321 429902881 482513733 929754899 258342213 573991981 24212143 87055461 664226045 420622439 69441487 553583117 703769229 974616637 20285589 304611155 113431007 150404617 96174113 69106915 409185407 316261391 825058225 654474707 56898727 861720437 739728821 540569761 796466231 808676687 881068221 639588911 471926707 205037971 2094727 927644879 942224205 969451045 528716019 575638835 983230939 482305997 501091599 528875383 642067933 469836605 952573965 996204069 974631545 327481871 788846151 698599717 551036545 334112193 837527619 466989777 387686761 763016385 648390059 827623651 607713873 629609819 452920913 207069569 636557057 655210699 118184243 533598265 197612775 288688179 580564337 201271039 590614557 272374683 694186329 964886833 692713057 442211573 42704221 389306005 185746969 210597659 10573081 471516759 760015187 235780811 350717007 823109645 660709579 289519537 354807275 817246899 63055581 746621277 912713985 673226161 104580241 250335819 445577673 47766481 753496213 23238361 548004011 142636619 421899329 34579537 13070639 277308857 534277269 569622499 1247497 506629411 438938937 836002733 372106005 656664823 559778169 208397739 2590293 641382407 144978769 310336201 195858165 340436627 881285723 489278423 250637641 260207935 709454561 233428111 746085067 645452823 125330643 41169555 345686815 84211603 754938567 314352747 663032079 170519951 463540989 866456713 531208591 40673873 52786267 96026181 446178491 428632965 593288563 786377441 411515607 460720961 670054263 812951687 2604363 831110401 181541197 484547911 282635181 515437227 518317175 673101339 473360567 425569677 667702821 72576997 661653325 887861085 431703089 331127917 474498425 607849269 755926039 795672931 348512113 431623325 461440513 914472291 167111821 97625217 59936701 669269231 136633425 910424119 650505155 678971755 697088363 239398525 356848175 375364653 802824875 580807287 141002189 401237357 797974541 301202097 495676169 252667725 156666805 489495075 296088317 31860437 382611183 824016681 700567653 496232693 981330219 316144775 78046377 807981961 475328777 735182957 127673051 277160529 188995399 801496429 535148207 38635511 525141461 864833927 991083396 938103051 305118915 666200863 127311719 198039815 722863949 719340035 226804225 517763915 909342937 557728361 666985387 281353251 960138733 777764331 971911267 146449853 599536449 728802449 633266901 423293237 387346607 494395847 878723403 607691659 491488823 608719715 912849087 974254249 642017545 451638945 52208079 259413087 155846261 372027689 38925251 570922341 307587321 452913157 291453833 487037537 559131445 452913835 122888891 646417111 286026999 639752187 833490581 732267581 714617393 469516087 926886657 206169319 522799103 34666767 973006221 734219547 161904547 738829461 802092655 937989121 272011145 591648841 540756361 888955561 885105218 579720975 663788897 107381003 685246351 68351285 396420645 330956557 840936781 414246767 757709485 906770803 771773579 608827867 700556665 791434481 868421245 855745789 200713649 369812769 421463417 152572101 872245793 941230467 758615559 734188423 45107269 614070911 348318161 140173055 311280439 630273641 320222379 205428563 998533825 873055863 395194767 499473425 754799187 360445903 845591457 248550703 335395843 320682101 36003627 650319367 23281553 128441949 372233377 360197729 947422051 534554721 661454751 417509227 773637001 741023039 18012135 211350711 378401979 596012709 550911591 477326147 442441047 56279071 344410157 982055543 852729957 357550635 300543865 392418591 210060947 26113831 744621741 630973551 902473019 482668637 42380629 967629571 427271513 441208575 699051297 290706405 322618007 665255719 335921391 20702589 895448643 772012243 309288385 223516325 626820693 468750063 35005893 884725143 807168105 370651725 732864843 808915193 432402123 160817315 309848527 792239321 123023719 478174101 123910901 628967339 577788117 560787373 225466761 795643215 1698133 946526553 228685435 310448645 384836047 391307763 901879273 370800001 109076687 863614141 79303703 801080275 204345743 557268963 412580461 616675449 104101103 332153201 882185347 229147483 323335795 788345443 837232911 887622083 479979341 424967067 106479863 734511465 152110931 704218849 137227847 440280423 496163845 814826471 891318575 987045700 348823945 564095813 258004751 905489393 66753967 185834367 950643559 532232893 817633519 37984762 76803809 236817001 886016871 896993291 602169429 895087129 664177119 169727976 802474425 855374427 768499909 183400375 23913267 270600739 945044275 181140605 193841679 171319759 638071781 636842797 293433279 333865509 453750341 836434847 549167327 24857935 460927329 362354581 514168881 664204775 176813295 146524601 674075551 710398441 312872017 231747229 829282113 315929527 412387211 861790647 539471437 556943649 603197519 926447211 3432491 590400091 80150261 75521791 129396067 743432453 283064185 497402281 91123881 346187041 76671619 661110143 869421017 582434333 652410979 880443267 917595381 62919121 649933843 70073247 363060521 489638773 629460013 626856867 277746631 837718195 633946619 947097161 159078221 892385429 364421741 115300915 687523421 644288147 860379929 854375657 386858689 756310409 309389119 323710427 565253229 274029757 672154821 369870693 4159613 591364313 652252987 36223433 208813619 455829239 502206679 585421867 831476219 46193041 828075387 59431329 372045929 834214797 39557037 78297635 86671159 466756409 162669469 664645523 919538249 351081289 740700703 86529721 320490665 169675229 130202551 288752197 555460491 160443255 763114887 100554195 710992203 172832773 487791715 282205923 604781165 122210781 262129601 360141279 515963033 746518715 497959613 726808855 937177509 81888967 447302435 816825283 514474635 794339723 636950623 976795401 304542319 632382207 783979145 928537837 753747867 480524415 876258145 627770725 765070469 51959247 233263437 279233351 96134853 822935069 233611359 713402709 933371425 611454721 649193291 610831671 571557249 884785013 784438897 768138369 13663227 519634655 837370073 476287403 549262795 225359883 870108979 26512661 395359569 224882737 646546133 173062667 545332761 508387823 108279487 992579003 784592345 165979717 417362071 734122561 772656489 972122021 90162605 395546525 752522703 298679523 721859065 996355767 839389491 237664827 863568665 860318819 296519661 502017621 452847955 560578135 995185011 139045179 857575579 203227193 923807083 956071779 602038659 165941389 456857761 643989165 2662479 699192263 68791303 803867995 501237729 138560321 737314231 460291867 153508557 179041851 752923127 31608835 493728839 523122397 307563569 648014737 686138161 117324603 109048823 320995752 796318992 619319883 420127239 701636505 361199381 399753969 504372545 374543635 685745941 123928311 25295795 262713657 130124945 122190859 6614415 207687567 624086447 417489607 199186993 947379457 883809857 979870127 206771995 913367267 300555963 89744425 485907705 89148405 173916989 337569673 734241949 968648029 751746703 244897285 61167109 988034467 578070817 430622659 57368403 696093635 371650569 210541511 125132241 764161557 712824325 629928709 200761075 51177313 110669951 676708181 965104981 589405651 665075333 222639227 400590777 192492033 119054287 293793565 750248971 748072937 606933947 131303885 666968159 578441709 7972433 216221703 468819439 42307039 116094783 151808297 13052957 164666351 533892831 607658877 819727223 6704063 843198765 110563637 577660080 8167249 648047315 440642921 220968867 376763925 202231836 99513117 394633809 895098333 332811270 923118647 986524647 341046761 185487147 821176457 735382969 47256029 702483669 148077261 391403073 115941063 241585649 302064037 183126563 917998107 494713367 377118873 920454953 634472631 300893319 228727579 926475081 35333089 692502823 833771907 84998043 241423429 834728327 676385813 223377763 283737337 491288543 534529527 632557839 305269881 677745167 376825403 83756847 829475245 986503835 955459803 362934143 30848735 535153075 88182201 456258531 188896965 16043569 483227549 370761063 634544511 972558483 648170809 338693947 47291279 975002623 345068581 639446973 56565475 470200645 830349283 306357105 290378707 293880797 376269021 615629825 665212439 924517603 825809763 512916799 256513497 735037987 490872495 335321127 977427621 397844747 978125283 828364253 441132655 318209455 247306502 186128557 172526229 66791377 111575565 16494345 699797211 716202969 731025869 924932235 870316145 149360085 334779145 900825337 464899819 61480571 604833131 981177661 175215941 415440939 771221123 414873193 781024485 934218735 918286539 784777403 934806681 849512051 608636067 169547411 609880469 211340047 967046999 765832575 249155193 485732547 370626583 545401649 837656647 605237045 151001851 139967619 429039981 778700727 528329733 219129467 599987905 819953213 117064735 423313731 783556223 832912999 646847513 912303919 777019727 721851517 552281515 885749175 434880315 534509167 164403323 952765571 847746747 581376209 741072143 33863771 897746859 858012647 687940567 399268403 785630799 832728725 358566959 167098919 559928407 186793835 899576151 132655737 566037461 929595295 129724793 841220757 67618377 49507347 390553253 320738317 824129431 932654157 491441107 979191711 615552781 97055611 817479657 552580141 606431839 635070839 809893035 421070785 888998059 562661309 906954703 353637519 205175159 739079799 557564395 582294003 932289455 596672881 767172479 89133935 349130409 641939751 538255865 789218223 786563361 489913267 637065383 913239943 477594687 621170143 598198721 163475185 208943245 960639003 658105197 791827473 610826499 554703743 771222703 924743217 949522427 81740997 251217021 72949447 959328829 458506587 743200427 21409387 552840695 720404555 931658495 827746273 814518203 256771407 508403743 847262999 195647881 601680325 319050911 108092445 752598469 526555061 420556279 492413487 684121147 262298831 900916615 390999217 781893923 232713065 787490201 633374253 717050905 492448129 747100769 561294681 906188579 787247553 118800627 587595277 566162861 884673143 127546965 45147213 773840779 699133083 685237869 855882567 370820093 485631177 144326415 184393291 804766889 632879181 550981873 338986453 573961369 261127699 118269625 498075785 61023043 546470837 283522539 23352371 786897799 131283567 693482491 360643781 43083431 26782763 106400579 949289305 379091281 421825141 276228097 380819765 751621275 397943175 362657121 639501505 611643137 143322433 544623221 182303893 573281131 66842151 423373619 351122023 860126245 192101995 894790015 581998109 542018529 902769379 115782179 254765763 378838209 524570639 262200269 271847307 404602695 623970581 803553303 58270929 361753443 447765703 714773125 463034645 469462889 611717273 764712829 280538631 156642581 782983083 292614993 455611769 311635596 747566533 516188989 305936995 758187869 667670613 372232797 307176429 565701503 803395957 925373633 609686623 643896395 374974691 747811411 232291373 41964425 602963715 552841202 526053105 53300837 873063913 31860829 383837809 734285941 927246411 414297405 803569559 256617653 184467079 790220325 753087863 781520523 424130467 681216395 377055819 961904839 837984339 302935507 935556213 402670233 508885481 1769541 715672963 730125475 281138535 600091667 57098537 702010343 773304949 761434453 132828733 560447699 159760991 36258829 896527305 330464831 204492063 3163941 599166963 568526949 693655125 696793453 920791823 403640809 963497541 300277409 165707931 739881181 273965281 204812893 829338169 427466675 674623167 812673839 783982771 989979721 592534559 652704647 697609983 520025829 325762023 48487101 54119221 23525171 601835689 409868307 338982809 330180934 787828631 172805555 216517015 268850849 769401751 238515117 64769731 70772007 570931243 637211899 329910231 780940835 88372355 435898495 566495671 689519947 984471161 999415297 656219247 85258175 441524105 595005235 850918959 54573312 218167261 633541805 928642133 308481023 564380483 90170609 971847781 305246735 29709873 294096743 259702535 570106863 17988297 312926053 121691921 388957377 826640337 619778847 577287805 297699095 807707575 226709687 362154351 370848739 246025621 748029752 508962611 436723585 567196199 821656979 170151227 881783483 441640149 477900705 586290721 949276600 862595761 380651811 931985067 146940181 668842863 725402819 108016833 471461065 888925807 842619665 581359225 690634043 815815099 771300231 281318671 823735353 513482495 287484293 651414499 104833015 445471891 680099671 111297923 36472339 455880821 574823211 332265631 231286419 606497103 319317021 615557911 159573731 569812337 3637037 540532971 897889497 979053005 226457669 773970245 485238707 149599497 6305077 101245 255629075 716043367 499381431 514205705 46917129 863867607 280737131 214257041 422753291 651809267 849034971 462282205 857502197 687757559 242126459 269422817 988442891 307890125 194192545 659474871 428331003 869815811 942242189 226234789 310697949 735267279 913974381 944178453 458950955 13112595 672952911 429821595 174542537 736314453 211324203 246143471 937072393 786616771 665605351 958436089 665509533 382355509 748404295 893591233 319281571 666065451 580179967 78004859 162456737 262487245 723553705 227056259 759561603 621735143 241036485 932910939 632514205 359366643 184117179 663525039 383145905 659357969 446963935 782540371 59374815 725523461 70152041 965112127 788421559 958096449 472016505 129625243 357857839 67667419 877062169 880830639 233912225 333725843 932094011 135504881 816303573 344498895 964861369 446618615 347495415 952931999 159530833 114203787 253148061 32012475 851881137 420351635 749142981 195930497 6798693 561050917 707726803 960844793 600541675 846905467 17637523 918325969 866635937 110611193 431665981 164873571 441081553 464982569 333188717 881463979 531460525 945043903 966884135 881139283 727225679 316529815 496649691 65248681 951752117 530026932 606245213 564000931 641523149 279849793 479513577 587138787 932000355 911925649 82787365 726997679 696132917 136928799 826338335 469553653 334974945 868548751 459444811 584318285 344896753 823244717 955326087 16089847 629481175 529771113 4584217 189096411 642248939 950820579 497948589 987565701 630754417 101492057 420275289 708159535 244601231 335902011 896838299 856276921 163566679 635458073 596706901 373979815 264624067 627513007 729787095 479760427 907800757 341963747 805301207 943599643 375603957 291574715 269520497 859652085 958620213 666357871 241489449 480128997 252056847 638014295 757901807 420326325 718067201 248203769 271131413 664937949 833268343 998467327 932585563 925145217 520323521 830728507 402121445 55113825 214880795 520305833 27465023 993800179 272716705 521357167 844293731 501920329 444501345 853301461 725568169 173416999 239671883 900345933 213453527 657858801 818931767 577257079 524981021 619761589 807249129 151126547 530619407 249348655 676345607 374007053 475808169 403243963 36667171 4962167 595073107 907410527 660952759 924674191 753887191 315301325 482052901 636137909 777748075 924494427 478815925 654849911 87393711 61202955 716828567 790804615 737794469 614119295 162059495 308936385 458990011 922727689 763452839 161294887 138977735 688244129 742994363 532669413 22213383 301651943 651894523 765909327 66342687 708274975 612708891 469698269 667694875 686653499 213302205 992980279 103897203 690228433 785873261 352759845 152029187 721803807 3398299 784086427 364218639 832053775 249016735 498125493 576474183 378759217 349356219 853572277 573567679 209373367 118719255 148150281 874003699 828245381 818192839 805561151 844188105 224575777 237093571 591691287 573372815 134687675 286865901 943723635 726657785 141789223 162970125 897883485 333913125 472010473 416802771 148722187 412316057 456167715 840598235 566159573 831253825 117012905 292172453 63572543 93836147 786206703 449372059 616022005 407233005 643309335 946835981 829638603 515410641 862438631 776832821 218496189 91308465 796949709 228101171 224173545 321716349 394616033 103650579 374697377 644191895 280001251 245523395 579816531 144086465 506449721 273336607 384589215 159249707 458914293 848091111 73086275 716918375 456744907 568037315 603215919 473492085 196489499 199055943 971574643 948919993 663489773 676123115 713217355 225655809 78917105 473530127 592389147 397104001 168842621 176051454 644794735 442837463 187265681 892179689 503069943 411570185 893309651 366426345 885668243 199721603 822583699 254365439 824746049 13371419 549824711 566360083 376346417 184896781 159260177 381468409 863595699 197393919 275223991 538501481 911343173 17790207 839567273 852434179 916199815 270305411 897492091 858276945 616463687 310382181 102317169 762310597 1523317 766996719 626561645 489904825 228750129 959267273 625487619 659517037 758877627 264771339 864109927 24303881 859787645 317898803 253281915 296752801 508083727 338335013 658924995 249521707 615248423 125335341 450065523 44347533 532207277 817296899 265825373 58336651 816764329 240228035 893004547 596710617 65353039 762727665 117798027 534841105 168529145 632477053 942718149 186446001 220084781 496555451 813056553 590072615 377075605 207615079 53770967 318503359 642118661 687266983 57908115 135581879 448435063 482530569 718123727 680712237 852708877 69716097 211969439 490365739 152512789 967761263 500799175 400262307 511703041 750755989 530077611 90858093 850535277 98114081 595538779 284751437 249798683 476838569 154674575 829041897 6345719 350821417 975750565 993193685 325304597 470972681 726528933 319809415 201178799 28113683 627001149 310965859 616245801 616212095 477428933 892064177 903586829 354581225 200925247 984267683 564979471 400794709 750687309 504037713 891939595 437270067 181452611 559745471 165819395 889960533 535395349 876870867 162066725 151426043 758620517 664116831 255223233 405566665 558888569 877875999 115923539 701325773 999540799 45929390 343895933 16733307 725206095 841995679 619477263 287348657 189089769 504528985 54193399 364208821 309676787 49305149 566026323 441595955 842173693 828300167 265374311 715241793 811893311 404150627 192724891 263140955 634402969 332784865 418524805 184726119 166417551 573821947 902428383 954660787 787053649 102666387 246921359 644956405 410886841 757993841 286437531 123504713 710832709 565263175 134848059 287409715 834988059 174228397 83068359 930500257 903830795 706502181 811712453 628601833 403921035 572014873 338246621 594390473 107898301 935181017 242462693 45712997 997099623 986632353 122578137 111734089 345265143 177623437 898194393 12195949 561223303 752737707 285525297 126714157 216216019 906038507 206996311 137136975 27342405 231211045 294205925 428085759 16727531 335000091 620558491 213496017 235304315 488194167 122825321 912192197 658513237 671351497 915484767 415498561 254274691 566635915 194367163 200606479 770513841 413605151 966001117 390800229 95336503 423937227 654030163 874307809 432821525 945880517 685329615 857127049 828821489 74117667 862980909 874462921 571375131 628896231 924077423 981707385 278696843 578717179 968555967 415911889 329384417 900831023 473377909 831385979 764578145 251712317 589928201 289677185 906337787 599957957 427200285 818373723 333938761 208577875 797368703 463767525 328520329 260213333 16651553 7944291 25965473 189368871 538949151 847432069 592106017 820212233 558426299 564082525 963880255 696277029 839546465 89859947 928762845 673192075 66519717 924010387 866617729 213041717 187204161 873553187 751088473 432118787 340190743 299057103 8112447 733801919 301282869 388360885 642737839 575082269 844081871 7559003 28489683 31357107 658827067 227369645 422466679 28355331 208545539 572542465 854186261 983338357 415360717 501217299 639338445 745212765 15009647 976985099 770318691 921428723 36823267 947732595 214120009 230318167 617878859 408847425 970377109 730961555 60712951 566769621 442170375 144679067 450545748 690725361 93330695 474116163 371014915 97448643 317219745 344316753 533333189 428067555 946342799 88070253 945125251 89367115 498909743 169552933 388344659 663755103 902980489 673131511 348894575 313133553 262193485 878554433 352303931 348022323 274883535 125290575 905214273 223862211 852120339 254158671 12468791 707453095 842153405 108460379 176794613 899043401 318769181 661460343 163402369 525207171 413173545 476682633 962705155 413937295 303169411 110964581 970172113 723847699 802204273 967722435 343348839 492883997 636502241 665926467 385760869 465119779 474515565 142764399 485583511 882932991 439256145 628177849 258399475 274305017 395906165 561099387 783064209 542832573 639167083 5867507 183868599 740377441 206830183 523716943 787097551 455295331 331633227 616962459 747587179 610235047 689133211 791670485 760391241 356537721 918623113 872782043 545934665 869170833 184339435 497413239 358429817 888861707 714876481 303726171 637113097 82350186 562715569 112351775 715838297 431649185 995693325 130017095 743130089 344199167 539395015 650538553 600358501 81623877 91644677 3768135 575161503 288214423 861823625 787093933 91668885 845831811 388246979 153783433 897335911 735533565 988841165 888046565 976467811 356050787 137730915 198332851 798490363 239493755 20643311 317758667 911772875 53951601 825043583 684349423 545930901 240435419 456874443 385501385 858505541 310251703 978026545 75322603 854385645 769178983 160031415 795665099 317907147 679355835 238873105 333163725 56888385 555374825 412428689 138251833 60524505 113700749 997223481 892519489 483223367 285996715 558920625 692074749 431081831 105202353 536681285 48054895 571482427 890379893 820245231 155639681 467086063 163706421 632008271 51850499 628851415 390978709 706271145 687825585 751100013 997856163 995348207 108366887 64537941 813293011 488906423 850125299 459052121 443752195 155910977 919608965 369457773 158781303 258579827 33520949 300346285 213006559 417263581 332819269 766596699 719613263 318752183 283567839 513541605 482703427 424020959 306504723 833427931 673152929 382652893 793986525 604327673 951413431 989883105 244206361 858508323 26804539 102878913 165218709 522260323 296408647 552767227 965156097 67052781 526637923 762927545 617256949 75687967 166944637 65987785 961440499 323616375 832396263 831781025 210325861 822715555 931054431 11807587 964318363 718168953 104998157 841301461 267326159 540485871 9996667 638886501 988182049 807259947 803905953 85895211 29292957 760671607 647251931 735686121 200171059 12425033 553573101 188816129 337639353 143845689 244808455 825687175 223231989 975533069 688673469 369853487 864067983 889287599 207558667 401989465 420703511 349660721 271048023 430422543 723210759 254153935 485250671 128976891 184185793 513470701 341714823 321631097 931289227 858277143 92704317 804937351 640218267 30767615 495226007 888522699 894781701 665288063 20318209 341694359 523027151 450773917 230657105 269568733 289073633 3015043 703223491 700983361 928352779 432056963 581901567 985688841 521539079 861543195 630167567 55680037 556150901 906690539 504232811 660038955 600123617 803535041 468353517 975795545 964020409 115176847 491455199 689745561 445406809 229003121 752623337 851344505 975746561 890062249 207004963 53258031 727887577 99826849 811684363 153705117 546891765 709897969 286111365 445656905 197055309 677297233 586889951 567708001 354452673 256430243 272784845 341329853 423083803 940802805 603195757 620524765 548082959 524578937 313385541 227216873 779130929 570552715 181968959 680461229 274575879 332217517 629016501 63230371 109625591 120273803 386355297 266275563 648440149 871373305 512548459 372905801 531698265 400470257 941636957 804699183 926993699 46670231 240760109 872734131 61283261 500237877 667713339 834020245 163555865 564982079 475682121 834123835 638816529 110257745 427790981 817282997 666359653 128003373 318981765 592561851 589494461 858497215 772450887 4392363 418922157 766484507 243126575 941242765 494395819 759659899 129887241 994182927 156496411 428253507 365662733 71656843 59977541 242177277 239654359 12387837 40096861 308351071 602770539 231334415 258720119 360603201 308927033 867216143 250932889 128566695 671888915 249093875 91324585 179086527 482282553 824770397 153632377 374459865 633565009 34726035 333615045 294945393 81683299 397913731 803517483 390755371 716024555 681228741 272986165 214221777 152553921 420711065 952597589 592005209 692628525 891261415 153037283 382195675 127232475 955486267 635053091 258953885 164609249 645143759 613881147 280013319 957920443 374844547 456047421 829997487 237397329 605771995 247796517 458274897 776557549 687233801 940727759 918402765 288845895 684596451 31930123 527282993 447922041 92205031 296210051 638076845 32002317 705999935 964699863 374937505 359580139 712017339 691773571 215144075 70290285 793403597 914102003 537700123 576101963 475121049 375498103 300301857 785888687 744939237 595396171 442718107 498972197 422989601 77780877 720865193 418745505 110618465 813787719 723690393 216852353 453223017 571975017 742259933 619866507 800420765 685074641 421420047 291733227 426254859 224651323 579298293 305303607 414936943 234637395 587072633 491346795 945409827 667471273 982975407 712768749 486490419 259808183 73745615 184137355 818984267 984570335 488590145 477909627 567188419 517698665 259777421 951112279 584274075 602553733 195767399 274560039 331975291 679617105 148625833 99322201 770835375 817498569 855442777 353633215 365203761 36176857 571556003 652915863 461533601 528129105 660706005 453555593 781422147 265572331 907841647 602035617 219768841 247251783 243654675 291267155 717318793 401880049 825786763 46101629 746500865 747608921 961141963 975018339 813270363 81414103 871111407 92740533 234807589 708585901 734461241 723958917 604294295 823517701 929666069 603624531 778687887 114933231 831713303 179396613 161434261 114058085 273526521 124468707 687238105 70411847 675553951 157900457 433412143 732219233 790179859 670462063 349236249 749522273 744843913 358661053 941111999 744535011 563358813 169023103 279342831 88735847 183117843 964422923 260203039 400661847 476299603 88861471 808070513 232962307 843207667 919535837 450750123 600629413 792085229 128115157 38230331 572768093 821665125 336748541 2210105 329325367 438201765 588722865 488531557 489621025 164467747 82825141 428561701 787317495 623019127 293850681 140970379 817632377 903981669 910605263 800020043 165963855 510787291 987069303 612170693 646428173 101402345 582590613 922379009 120202795 765390539 201768439 999969455 472733449 303619813 748330705 139246629 495520243 814205635 42960833 105745507 181583383 241671191 172909517 896357647 917507473 872502715 614778207 386190201 742115425 676621493 908511057 113405847 976476015 622798637 207086559 519675147 530897295 525546875 237799851 449240603 274416761 308541717 399651525 106959543 748992461 867949985 849426851 993726835 122585621 203351531 402489375 652602001 959846341 825463525 183737985 343107321 894204465 712087209 14654583 514638137 529982111 520169341 93559315 203189383 362643253 287013579 767484115 971901381 677240327 967934501 199565471 699591287 104887309 158916169 409491139 347832783 808433703 489905687 493582067 53639077 100234783 482525085 38605901 63884661 52810151 779623181 576942677 66834791 122361689 442082243 623753211 395319627 751172531 330988865 113126547 850977689 354371619 86892595 766209753 317129329 606090741 47874923 637425651 728340119 4650855 156496103 443968623 492510333 978907287 267814089 279117121 661002551 471174287 871396443 382220999 119995785 40746561 444262673 502387655 436784855 776968583 837165959 642551917 458471473 409072159 836130943 555278671 314666319 304971445 185831397 79097963 216843151 177959899 961566155 409311781 543376633 698360583 31831919 189761097 437438779 93247901 575098931 618741007 964293805 340906469 364679329 579572753 569394001 427905553 161896303 367471961 121369033 25762107 56359029 524251215 391230569 753224801 781772727 222972621 365837861 425539439 664522849 18865165 299357599 908653109 985567687 572992949 505854491 952771951 110539875 19566801 194100875 754848699 43243225 264418011 496959111 463057571 692297971 819216043 503203659 211960217 442531495 435671431 314336959 593600757 827496717 48838687 110462579 240901369 36416361 651391879 767351967 63269071 193069097 994455613 508820257 430528903 248395741 718889251 677486211 911539485 689074753 860693129 563864303 250409325 146736953 790058277 347986753 879820101 712482255 668049681 285732855 467276629 265565497 57191637 70288951 186133301 258674127 742715999 788930257 337762409 108053015 421312001 299580731 891157333 5592507 729845115 466264215 767863889 632898701 802090737 670056107 871092369 478017929 316703727 506431717 615439671 94774227 35931757 111320927 605809743 950706103 8441287 839591893 520243657 426871207 49363907 519684273 42122365 172461373 246224267 217099263 141664045 559785535 928607929 259086971 797337987 261698455 372616263 18680447 418172687 456586839 104269210 313289495 456650315 229134523 386263427 904180463 858544537 225168681 90915125 105523039 718624321 893366569 934062923 477682535 336723315 922034285 813706445 198328493 700901195 15877589 472061479 139955841 383390665 975334497 796148271 864798939 147090903 544743485 313859875 482578779 35512901 506562491 924104613 423025221 460476621 739357273 94266823 482270601 304438031 336242105 467545595 753451969 703163287 487558309 837646365 175378731 566600403 101519377 188763255 788164269 920460831 206656535 440112817 427780311 988083387 233955581 912662757 906431711 471217873 561060909 46353037 39066535 863743601 597220155 534058895 131322037 734358165 106054881 641836855 740803383 840203805 562220547 662151999 813975815 812434133 72889003 464712383 424491425 527192683 203650317 666581311 528986413 286125947 861226117 259898795 963735421 27771013 428631189 667779927 420022021 826580721 37131241 13699333 500179431 579498515 257488725 107023829 343094503 569591331 572234963 296888407 226867831 877482817 385435783 862603649 357611949 962642553 183752635 63703471 585902409 623839929 1182181 975302053 859816625 431140829 262716317 713233809 775475959 423503779 607405479 287368201 246858703 104537785 250989039 70491915 74861721 635953581 97499273 352520443 975841117 190559735 102386863 63533479 635405259 29887227 918774213 78175043 120868407 961444099 528459351 479764333 252123301 459843645 423772437 975951401 168381369 162977221 337654239 676865767 621125571 365189273 275485363 739848571 780432825 283915431 18884289 978627873 972265533 424599995 755262297 326742399 848321173 72342675 395503351 284321699 300288943 82100684 750059583 834356993 101944613 845000435 223549693 112955001 681269811 296220023 695071523 344447309 823238337 423598003 164023243 25709099 721984097 776617445 83235899 681671209 873056071 957590331 736170715 210372037 279548245 309249729 704414275 545098209 967597327 446343285 352469545 477464271 629051559 411220533 304954995 895668545 815656691 346703051 212228653 92484435 27953267 275231465 252554889 170141583 214940749 87040039 620027361 444461533 138509137 433685001 399696571 623950487 133581559 495970037 633327297 392218999 895671389 969803069 170768839 154118307 19697485 76164125 9518789 140031913 670167345 244181171 808837347 50846333 776433701 822038793 247395431 67104893 139118565 406809361 698719177 115057519 546804443 229439907 18679971 941859967 971215637 629490561 431730359 857740611 384792907 372617815 717430513 530072759 577016795 262410161 739105893 765599299 815438283 424585227 85187405 305893553 738811853 246915015 173356555 293036345 404667705 909233197 783407661 557089397 653268235 342856303 178294117 384220525 666076909 215827109 349515407 512554127 89483307 903581905 324209837 530292397 880671935 648307677 690413037 661329415 163759177 336054939 189269661 514919233 843464461 99827393 482616893 808068711 355045629 886329843 775428207 866192881 881498799 363737783 195332605 533743547 296744035 505261443 198658523 725227531 4447487 571247533 191575589 740853389 670219027 976411257 393645343 540202839 83474903 608185867 187009585 299977189 733936169 43487355 976428273 206718493 552153489 190348989 517708825 156353357 968990015 905877939 434171021 926751019 352526089 988233513 92827223 715030737 644300909 957844175 940774829 548320711 139856277 567113021 445640167 990157561 478322255 457494261 764078729 764302269 390481681 53906273 543272513 612336337 320339453 575439313 143374303 555209560 665546201 562253439 722151263 521274337 458819347 707734411 380931813 467395937 894409923 147430913 339319229 262575669 325010345 385513681 444481367 564093217 937074477 961544659 157722195 230874709 794324571 271271113 773668207 793135715 513057007 441235547 438557851 646138699 454449219 782065949 282265063 977032049 614994529 905762951 9196177 659916963 595614457 380024315 86479865 700337431 127410273 188592063 455378091 216220263 199812249 978263049 324354397 625164955 397836359 237147119 880396777 438959903 83832251 505083507 779288145 145799625 352255469 602454909 139496383 81139157 92433275 418184417 816937355 32519915 373611437 140192598 378157099 270780949 971621235 169379199 818841159 711719113 91610723 815625445 367648677 333507047 101000635 226559735 592249405 196069553 145207653 689927185 516497705 721193943 688944367 115208307 993380267 78613099 546588815 163250501 343824431 216835821 281711143 434589083 253858119 58888257 360361533 730671469 331471025 249220275 836892927 365684379 2300495 832842493 751002949 359864815 202973995 433856823 959799183 606156829 412327033 149741031 809425157 797848249 660245140 66547965 812244595 84596553 678417921 726764749 419046227 225951285 214359657 871050003 734127301 911753675 236368287 61617141 271498381 445942601 516818593 602107649 84788253 874938829 575165585 545860653 739817867 184290145 706829241 627029203 502432407 546440185 156803213 591113915 593605543 981023849 392740521 468449555 773165771 116856695 64210385 104903533 895763131 517059273 653098221 970518727 872454613 422561779 654040851 197008009 236826913 630782315 975479933 65138047 639384397 447790485 728708493 355445979 834709427 104049595 127822803 935698239 671162191 812740875 38345469 204380591 662597579 967259551 260343273 260056725 759660149 38014843 221792667 929098443 740477251 579081605 204410427 189152395 107093975 817153167 626396703 643366523 970827895 896635477 3487937 605302441 212904209 497655413 594542021 903591817 372360765 940423545 725621239 98784507 358635579 94742995 956715079 902747455 4277235 623661787 912272085 754156041 523868145 297691093 140398047 535201641 896200559 837607655 589460181 926717149 59434317 873090083 853622087 505674829 497766671 143637637 251128305 648326915 759406567 941163243 612659639 461340853 931663275 602696479 805193381 440177283 149495769 358670035 860915949 529405423 370057883 804547743 707192809 207535081 145839041 990920453 833669407 372970435 246345149 325836143 860685113 756947517 407398579 570722095 690662665 443640443 564027241 990927995 714872971 182244107 696505935 897897335 220937189 774226657 20682873 920518955 297037917 111370843 375304363 276911751 866084203 425945663 328105031 538892649 132673961 114079927 547205217 481958797 543161305 834052189 479165103 39088031 642755047 740091691 683675277 524319279 136077285 358222729 494001159 228937911 773615377 623855937 226507977 657369753 32140490 763110025 19161387 106606109 667910561 903834369 143588141 679626613 115193413 1662635 310525815 10794425 911330963 284864757 376645205 731615211 557115533 955214261 949185729 159777269 990578527 357292073 366523739 477357479 36912221 869938677 719913319 588353979 373410815 293206565 717797335 262157011 612917997 570577969 936898113 79618165 343157999 889663221 556680163 184438807 197555705 844590007 799138471 536925711 288614183 315093281 982712347 103939743 862305211 746772557 127680119 902442225 610060321 92490677 519224729 753852437 278512365 224422463 778416137 965222917 153202649 770563641 217005557 462824609 280869065 300943959 953098295 103715509 227580615 443056825 807931211 967727855 727878409 140173281 821891163 55592683 31386599 943473597 738602037 55419433 394851301 326975139 937428559 118655763 173487791 581055567 303888843 663266809 678746137 431193833 953119853 827163669 179446045 248261627 680655785 151319687 494559455 377296253 997010833 386824539 166930347 40638153 480116711 213218431 476442097 300825001 577935633 475975887 473465167 575511877 626003233 947691275 320277897 418249527 634348747 583135453 21769095 378467961 215979631 599905747 916607071 29399665 698089749 348981355 881689165 959985643 706363757 866666245 380342193 500531231 958551757 76031207 379282455 327233449 244520499 466292037 378423605 635881871 724938057 975269433 995679203 268085821 57183 647247299 194837799 972104841 249821799 116285643 161019691 848626351 651461637 790724645 78750785 745101655 760969855 121378185 525987301 502488715 255001029 497717911 931340733 497807553 855863915 6477275 715575951 460937177 907169971 300722627 72901459 822379029 693503365 650420649 442313251 541061411 562186095 861804753 505890111 138709273 160785831 471405411 762955799 294397301 951178511 374523757 696550461 489339419 867689771 752985069 802796137 63918167 582853421 929558465 504143747 601266657 707290349 238486707 862914451 370811349 188372967 251759733 273155275 940770745 35976259 752891809 848199307 127770233 976196049 617381559 111623763 436537705 535961865 718440223 482055375 174644553 6277643 18088491 442376915 464647485 473799579 660412951 929484375 775658963 661285417 34577665 439904131 514632705 438611663 194551795 953681823 584318497 288359499 374410207 225218079 579941115 567908867 419965599 36266911 2646715 229195527 292167665 194513121 974120951 874934031 648821889 746843601 326045357 304713592 845640929 768639107 442403647 521479243 272269447 47194673 731552127 880827705 141127895 309749311 244478365 416369301 697790489 498595639 780607291 138374243 436843647 758488525 962415707 370061125 683210531 527517149 119655021 610449295 548855043 979439465 792650051 682446389 60691467 175582623 858657821 603837401 596712973 1191885 949799071 239075263 46393791 694257779 839294423 220444377 183380933 44474419 255428409 343939775 557274535 837041881 390761891 655668907 629304535 3718229 697433691 428537483 325428653 444971461 7885325 710433257 775561835 556366445 33498575 28571391 4958267 358075573 347611165 730753451 884322863 640613683 166360031 738441847 515092541 743899041 929147743 782914445 269400649 22058979 381878611 54292937 559172379 528395525 831400411 272992681 44066147 123936823 677201273 165231699 522470077 674042841 130928667 249057943 167905451 797644393 192223257 533656043 648406931 412948887 220966187 491130225 410975175 205217075 722828155 314921199 332500609 345844793 166034581 320824787 791835875 866860495 912671341 77341239 869195507 934022715 894041697 615700439 267738279 642574837 48996917 660985629 989391061 719170197 434271513 387147285 720697407 423819745 536483489 857962363 539957391 996639939 578729417 201084329 861073749 261191757 875192823 24483755 239363851 715173053 7617017 553805869 666380819 106864755 282894083 172375687 325352885 989427965 728306613 480472505 80254241 34570765 483213585 293600617 388172403 91373181 143974789 703517927 220525483 550037843 560999399 996375595 693692339 342160057 192623731 888564947 934039899 945927939 306584017 713461033 301432413 23943593 356957195 807229207 472594009 413070931 69951385 984906041 700579291 611525065 320775767 832110029 555772755 733919487 985795721 632271289 491065879 195012625 552064479 734528907 925911917 799166785 343093867 107582079 327560061 889030139 174472109 959917937 386468439 710723539 718282633 804793833 161679093 888437121 840283469 824748821 979794487 824700909 663387821 19288271 94905833 866673951 241082055 43464339 584808377 675690315 292811041 685732489 723880003 17844173 757083815 783342211 230283271 621016617 538496175 51024117 523398765 120198919 323656181 934852609 196913353 20964155 633738657 921599595 931892051 564171459 749655613 468488869 880827947 812615105 522169537 675504069 807336541 135704961 307550087 640947851 151989975 721440627 506030935 965399133 418817397 415793717 69544543 420308557 345141239 965271689 758859569 844289039 176521989 453188189 730109901 73841923 887329075 137994177 499062935 918679857 183683575 420202993 711482715 143495241 997388471 971826769 404315729 312166559 809359287 748373355 464068885 513450039 229979947 903873013 457376173 274358709 959745581 243202503 91129221 49981289 508665275 708276455 375645297 18069577 846775235 406623357 759027121 869955319 827674129 794308575 474994923 47820473 119368035 104016777 187222313 886900349 112313431 874922523 712783841 363752925 477004407 4665697 928099315 970272277 906602293 181861201 802764447 330319629 304394475 787345667 901109401 842655831 449850329 389232573 926878961 887658535 157350695 160879081 452897829 227916895 646843367 521056792 351500061 60714371 352975381 857934345 873425443 420585925 897394575 725412767 457515503 622643195 452445471 935783905 364020381 30496933 87729527 912290823 817709745 355420905 509566513 458485867 986692123 640033687 479617739 34999695 832430895 476755495 316231601 465174815 408649129 806195127 687902005 353360621 755828143 372136463 452030605 893111799 394355405 492519583 203052765 310568285 741139709 275012477 268491309 944625005 794027927 357405287 456591983 138667673 871109219 128559559 233133179 637469821 937144973 529148843 893462805 165652699 401870251 776911051 572246499 150018719 938322105 96644995 850171511 929747163 199665437 704599263 398880075 385373133 297105319 830001547 66602177 615606743 427557767 996975329 208061473 518563459 719028574 579747293 386659997 391683461 491089969 153971751 689511501 620966329 815221355 566924561 561234741 32360481 357825765 162739343 251132987 330776809 76105689 644855363 91778097 107975781 615918059 690831985 470233809 68241423 918060845 837726987 604797373 695188873 261882897 826559143 469523837 259795363 91028597 337976709 298080897 546670411 517334175 495414411 361655847 102411935 1028667 272759369 232142763 389734369 952293725 321750007 789476153 180439165 898681733 499805299 804433633 881589255 785803417 268038981 471308189 932298553 887499235 964110749 428262991 728683767 836386073 101067599 526613693 747863885 455116123 543143391 2602141 945628779 419097643 204181361 876081285 866851759 284168311 5395925 991981303 455308957 474935701 588220289 50057565 947294685 143281731 105486487 194241799 897211973 136843171 719683037 483700783 925782993 854459463 968196033 385185015 621417633 21972257 690917723 614345829 137962497 988127373 882282859 790648175 283032935 606315861 423532377 145121771 268872555 867272097 384091697 50504091 890998483 955421195 134236591 545938727 153713031 419577997 131386157 386231587 572058527 447465357 252625589 9154823 821768273 953064665 845787639 217987125 670961923 423757477 933990728 546313459 317808705 814472847 641367723 104968567 441310397 837113501 555499715 93097687 723473489 196932667 165044193 408644629 143404291 711776575 615103229 786823449 624982525 483952359 932068533 398110647 699835537 939345621 276018769 909353639 133893949 156490777 647131329 285046409 234659489 109905961 480491929 102958825 332103307 724229089 466768925 718093109 382673133 370129541 336078385 127299017 627203297 569224899 333836645 392831205 155023789 576384947 66035695 952370609 598601147 351971279 527400881 610562369 539011487 587006971 399674159 948587405 110073619 813816969 622080157 916645493 670410745 283227691 18193613 338503365 439988063 536279295 849557057 845284139 424788087 591059851 313569313 22933827 953585053 769604027 951737145 635518603 573777747 569090019 270058755 728187761 261708613 286106053 904241311 443638337 398517575 963127169 922950097 822151225 28165203 232952487 998609931 566954615 463354251 673490733 367692131 838438151 252956477 137866861 317229975 933901783 697554909 245435439 90701075 56348609 384248579 108693407 166803937 348293513 227110515 717030483 426628795 2006741 992932121 185718601 915324415 277172025 865835529 178124261 222097589 370286891 790776701 749294835 337093515 583061775 872304601 922470315 316104667 347028527 567253159 550375081 717943969 745342905 33699229 385739505 754771335 679981511 919418259 220963571 371721179 801962589 986841997 296590211 636136339 584310881 127002041 444001501 370953809 755382439 182703205 713413543 141506139 798500581 141370643 896465903 459446687 423232191 742771041 706901033 742452405 984753341 684666395 744709683 502619613 723177809 395424311 173032019 220071933 864690645 915654605 122495541 724385703 330297735 726523171 922592751 410634767 79241875 327377825 220472063 609162773 60113675 504215773 704781127 948121411 938819045 928570259 546385431 344248005 206905349 569485987 110588197 61492849 256636211 855063065 898998157 47449547 326373665 48540203 614071507 797848311 583674983 232937009 918394343 754972101 789923207 146236849 382311451 606684845 404269547 903408981 695927343 694973389 992154853 202228719 440890695 274349037 799719595 849821053 570525679 754273149 843463521 739690015 990493983 191209361 96728079 885504291 105518389 477737197 66931623 277438459 914597617 268477171 56273921 11195712 601117317 418327223 874710239 487706555 611959429 128003055 828030187 589126483 804092653 302093815 665708213 537537051 580379685 402971867 249502135 170951505 858242551 461227079 132999507 686925911 585957529 873126547 869525969 115475381 814292395 269689791 934375779 358263845 83898159 279356531 722406689 880659323 907630739 408461563 973679117 413324223 12180397 127666257 844596753 111688219 889729467 873013525 11824893 960265699 818184801 698797707 15448459 64907153 399258795 686496677 53866077 803824071 296971793 891971575 555160825 902484563 364045679 265289413 531919061 884911913 240777225 991067635 465283655 966457697 607369359 693311761 977686929 266004543 283833365 698709591 78762461 872528943 488485655 69546915 820560955 503650757 63474299 344580477 337068197 882969275 691859599 42347027 22224635 335574259 203912711 706638911 176832009 790099837 514404609 483193981 991470719 592457607 376903171 393924599 214944245 67956079 810396921 618349435 806830061 301038519 234889273 780744831 609540303 442615821 614101889 672606245 923838703 985901121 187313907 990813745 704935813 675483471 504801313 223958549 523382705 571996251 912093435 197408745 697672063 903169455 846075619 302314345 319797471 311364033 111118747 550983421 883532455 505464361 634417747 850171061 674511773 317736619 465585309 85892427 297562473 795256373 79994745 652805913 549139355 59304407 898100299 723973417 483810475 819804109 135763937 390814763 87806719 563267707 345991535 129092981 331576795 273752429 724196243 224513541 403021941 863213651 105988435 19145605 776915169 209192973 662680347 412942147 209566501 376662937 413317569 427515703 447229993 361162535 234805121 261267711 822938811 457277703 500390145 116100835 663523481 732942519 364292174 238678737 44201825 10383319 71033313 577679203 985702815 309528885 197183377 488450261 972844481 524398531 579861929 839995409 569121571 435181979 991815633 159544229 366614275 5262595 200826913 147483847 633668495 650235749 956143639 770612825 102424787 500853331 100833175 710677471 958440909 169011851 529140717 812134539 5006171 890504429 937190609 492892723 992526151 637362567 231219039 171815511 853288261 309941387 213939995 249226527 768188393 113691989 51604213 248210519 378591673 433615207 730180673 791706745 137694235 498550637 603397563 513314723 800394339 915463225 96753801 774847135 791559879 442244041 560781113 463859159 248569195 667992637 515244223 503892583 992531287 412042979 390065531 424349453 984160637 970768175 685426223 241463599 405288887 277697463 667877641 214770653 520025027 299618627 809356447 940550863 718542927 908285887 83778797 684181345 285817319 709213497 729772123 834379679 603079175 864252657 19583155 368915767 557471761 411165257 515322413 255537277 287217743 260151243 535968869 429372787 47737581 172975147 512215391 636414657 752749835 187993925 295363723 207926965 935157157 786213661 197134779 693341765 231717543 555917531 425191471 989730835 530990051 957768149 858808715 104431459 422304783 936923781 228625117 823563047 717308879 640577935 884514201 910694645 621485739 420096189 273252509 750395405 324406293 18758659 588170543 844650071 725744741 523695231 383086587 413437791 293653981 144573295 692293655 976010079 542422439 661388609 9211391 969193013 908432085 423188617 150954649 737960553 50578269 129216259 400478771 661019691 136864035 867895951 427252611 936624209 474265327 83995193 458188453 658411355 17738097 914145591 357423645 5170287 546083911 777588193 271574489 48034397 460837613 311920829 884152879 359456923 29819343 457138547 447339741 724338251 661183293 489447897 953892359 142895411 380123249 200832747 12266297 758494401 787083405 782826953 701083243 259599119 263905177 868209857 689905401 121781721 240911237 230628419 158620329 457723785 36341037 605410799 981263015 283160619 388727123 516946821 433688199 807391355 783997339 516427247 663352137 509839059 609322395 860835909 438563923 292040255 215997387 649407677 990572143 681908587 560040589 522632127 898257107 448416175 538498345 986520785 805196829 1862155 560816847 272311723 761084243 164797989 843451803 412239143 402276577 190688077 458433933 944941639 665294751 920711547 988486543 422434615 587557829 364570189 677503601 997917257 929859069 960677899 187886061 262249211 525804113 946779813 349503397 390866669 660158777 122076849 658501151 777902829 264875153 851853421 415635409 556720621 526179997 360793795 481555985 869584393 807446285 313829953 243785761 72964995 835850739 678429727 147354153 877551559 891460815 980368187 536085053 914465385 881464709 596283677 601293141 45895203 670183267 69997299 628044369 562831831 569922077 890163349 339884797 62581653 11330769 216095621 817723655 314642315 126359301 423245797 447142155 546968855 805869989 145551241 169158537 348803515 217886727 551273189 939273707 591512611 131248359 105260571 834317183 805339939 433736557 285880815 816639619 876383925 89727523 169355475 659275029 617533693 57236479 592700892 597076544 878916933 413807457 735317453 432540917 478360833 455239435 737129993 712006413 52096205 895094059 439160227 395729993 708461 987822681 553258575 281589585 830878409 641233037 589969261 913773753 352902391 41748017 204525829 914559991 388758833 871349521 410331845 413606513 341663963 808735073 90790663 403603051 279650433 755059903 116318153 670513177 672017107 606971695 470567857 176159893 116794799 923267617 794285327 149699295 599748889 680926057 104008409 776446175 286080059 620101699 442564529 131918441 153048679 90401365 165685981 671847987 368791577 218487981 791514955 741319905 172955125 455542465 563711635 945680893 296860103 129314667 889528823 96458997 340548991 396455411 280353113 403034147 877893181 523832581 551375949 476873163 540824383 786087863 810965255 846267667 94231797 851400839 325085033 143494927 34562543 63322201 426450423 348495285 39614443 425137017 201517795 69293801 383213257 372639903 721669379 414527347 109109655 266690535 127409879 71336965 299859847 226001877 689640837 692449337 499758323 696056921 563573725 181908365 80473697 83289029 522740567 896351341 513368443 390883289 236402961 835116331 592714771 179946169 720275667 43576573 857483559 670893555 636446733 170921735 860323287 96165755 174313173 469946193 640639089 391995567 540662505 610900941 785305447 111129941 472899763 573572947 517548629 679028889 264170049 433154727 342431997 978941457 178493513 162911599 644533835 188464827 311342893 918191933 349835603 740382713 150800371 959518349 155137101 288447643 585539913 515151803 654032801 291486679 290658953 98915861 591708887 498376775 447910575 449563339 492381091 202554613 722064739 820648437 199429857 534315593 897631735 330108823 992688531 471565595 255394911 844659863 278974949 652941225 833159229 920756167 310002219 346411159 324894165 392220385 308459999 836140531 688827673 748081031 676616869 523323953 528442527 284383297 210747207 716485935 533261991 836672897 954820793 722491697 722894871 933903519 458674455 18719207 855531391 460942557 35048613 157519205 854227479 580834405 778123979 935294759 490034877 252838215 756860191 244219155 248597753 623535741 650089563 884861559 632252411 998580457 877760355 133446409 315130775 820437587 926679105 49759715 573743953 680831083 205345067 780107405 880420685 65787853 57096569 246501365 261286235 448868601 559381167 577501549 357732337 183877977 910516603 394882483 229665073 177202749 770034349 145609199 765683169 729397727 596028993 802283179 46688367 900735073 307086427 556429535 74776051 471622345 939079239 700170983 526476589 58734093 754857845 322886023 795372421 462717443 948305029 173162223 791469063 198132333 772514869 602221491 218848365 215996405 723974261 580243919 886657559 52463403 472179541 961488809 516858633 825125769 940079633 440341775 332533493 330622575 567436815 122920501 692936753 739020329 409422293 157222073 959634621 835832037 190816795 295867553 980519231 541055423 547415739 776184153 73765383 452427703 399685045 57299639 685336077 52335797 970331705 425929207 605962735 799479949 266106263 762895041 38791413 972968439 738207821 55927327 597005839 588421525 327516923 643870089 420902097 198196973 63286127 621337561 836234879 366203251 297135515 51282521 215495420 197188993 127644315 70618545 437756377 789604695 514472369 821500665 821225807 288835103 178576713 664460463 39120187 519273191 803433461 844096951 841691683 525938093 784971635 102030943 900851259 804690511 417563043 800719707 79403093 267410329 471980435 892787401 165018355 65899065 56594039 778037037 394807099 186009035 949313189 338918519 51666431 251500493 440693413 799323387 518877363 682773677 339012643 121688693 788777081 331210937 597402861 833363213 717443349 327927593 768135171 177673293 635831289 32985377 169030791 853150250 856158011 694410411 70840515 447391751 726998169 639487925 444141355 751679395 741953151 469263641 645281115 517427245 754486519 566717851 621503253 90648379 20871865 462095073 537093959 149843403 36088361 71375999 744497919 315873087 339957833 424195821 313054333 527365737 58866633 465106059 180650019 49470075 27215363 673224355 545409917 521263635 294300659 503657063 843271227 443310645 857502019 924537327 830543675 584104273 341577537 381553983 10917249 352305209 704000483 158388029 247724341 662567213 673698507 980121789 438729389 965572307 682646077 443478901 928183139 412267315 142855213 295642889 859070715 810706633 65148717 992305665 709028929 682170221 576633727 666955983 449460261 921068903 171208713 114833101 698545349 856410211 247937885 743988537 785907301 118350455 119675567 101217343 957929069 837325599 903015647 791192049 588700277 239499331 85190007 859246405 831313715 390612781 918896033 44790047 915557773 323876245 40712505 452930887 766387599 699142293 631160253 850012015 375007081 756307895 144085331 994539055 729308795 579103203 213746123 32113675 734023749 62218867 807158173 203790441 242120049 282108959 918851303 167104667 215286999 645208593 655951473 830079707 873107053 567127253 655832235 85129035 875623513 216594271 290845353 213168371 972081127 15306765 358849837 515904197 253427849 848084389 538523551 521116825 877806811 122707539 595839757 509537329 567476639 705978541 996206381 938768951 764707519 375978671 955036513 311928635 569147987 957866687 207076271 122278073 232552849 193141419 275664837 763484685 624811489 207584425 679620603 361155973 916138443 80901203 32731217 352242513 853776899 557407665 147922287 482810505 759321701 919885361 645168033 694004783 41397491 362794917 408252385 1305645 975425753 455970123 528870093 53842003 565794153 108623563 54918063 49653083 882233121 808439601 460793201 676424167 280192675 894880753 637151151 145478015 741498809 860132327 156107687 409108371 525374039 971031133 811625791 126285439 959559577 324367869 958088711 371069059 785552577 575938523 338990135 435486409 860660283 469175415 98644909 358492769 454755483 619854519 497762545 785111877 184365979 538876131 670526513 905704791 5509407 583193527 630535239 680110429 597359153 729136971 720562095 312661005 261354501 389414951 261155731 576397053 950649591 518088247 391957185 436042671 204458891 621944785 351985839 658343563 360375657 447969457 926382207 742056421 704768103 283536127 534910965 191997685 814336383 250273861 48254083 718901469 921835477 41985147 532373569 914475427 809336245 441107709 343457515 892709181 45754767 536290703 105910505 135104639 99646721 938959201 270276683 835365423 910195151 748664325 939149769 496806901 840157409 754152571 116184515 463135073 932375885 497959463 143446845 765658861 106342735 304307671 545523433 859081465 593107783 626297023 932046877 206719183 233397953 772969341 136077783 376116643 74068851 307833623 649271233 269199241 545367093 259421175 23789353 337140871 99747853 279520503 364089863 448825733 104986917 80846419 46703609 819210579 876608463 95849133 351032647 23710633 448483207 493369877 362792927 993260075 957874673 432840449 313200731 517937507 363647961 32237387 350609655 334948287 421795889 574287163 304567453 469913243 765811987 452356223 928321499 585208629 478340805 841283881 873354215 82183611 523595441 939770551 309190051 285204027 469175401 909147409 408122515 878757805 308715179 596383619 393197033 152705781 494253143 58959809 386111355 351217117 236140411 323755241 550782153 388469779 124291145 797467775 852261883 450643505 878006301 191752051 766075613 89601211 39934073 197195031 320751593 247418647 302561289 162694701 709694781 120578201 727803807 128941013 513071011 616465783 378657081 112710815 360800133 91017685 550579449 881353087 405875711 197145789 918378537 385277651 126293967 863857949 437373501 51422561 23734875 136453839 681765329 546827093 390518963 88696727 186373031 436462405 137234573 312719387 709192619 335375663 629234507 778144493 446493169 850044279 885817075 491566985 90066355 949633001 64291637 924500813 60249683 614077629 492726885 433689731 953974881 235034509 623121029 495187805 34668171 711349347 829884477 902736627 671210159 123259559 372612571 370969671 349106383 265652275 975421013 139736389 606834199 984460353 424008269 52898233 520006619 50986615 848831239 934002783 157543573 965226977 808700789 401639897 405952745 626434553 321125677 801829807 909389473 148019607 850003823 865997139 229050291 564632577 874663459 833188125 49295671 768475623 170697429 357064017 350581873 979153501 59416511 878286613 366213583 127139809 534278335 588467067 73429985 346816341 784195165 654411389 36883555 565467401 806985417 300340733 29956921 683856307 820902617 344602819 429612911 821186413 308171019 958530433 310692917 648619199 783982729 979558351 957471723 991276439 830063137 250268975 543596303 491132487 329779531 50618891 753573713 540279951 998178597 425735859 425686657 512595601 304927095 681563745 987186075 88321503 839817647 631126583 300468163 681881707 186036711 152097853 325750085 771852691 626551771 104010339 687170195 801846043 668104179 888986503 981616967 996738611 721680449 471417957 143452455 145442415 422442361 827599014 719389469 178408139 659124221 152569315 59428411 993070253 678479057 627519629 968511167 500267747 481203367 681553671 562995465 859486371 855082711 311660700 219399847 122956935 602522203 665323647 713798475 602119063 281183969 184325317 171704783 998274623 640672179 807239025 157313849 327236949 286119115 501952363 86430131 513371927 497625543 508789127 656852881 36300327 761840879 524106109 614498891 408601751 795657267 650561263 703323017 803305175 668805673 872810595 32504339 860757705 197813519 975242319 940418781 808399537 914819023 121602569 766770179 530931257 377226999 123651795 395787207 71922043 158214079 974444245 110405013 494945777 380430597 556984867 886712575 626333057 814014545 578592181 330094787 751929719 133555921 193330797 792710083 879108493 794255965 297000977 809472521 9067227 898058359 867591765 944750537 577281257 6819649 558435283 405608031 202754211 664439951 318298379 783103821 729221981 742925525 479294311 736872257 136636377 993436725 958766135 571799817 793689911 317526387 912525747 593781925 939003911 269391617 973408257 398691383 786795327 469325813 373447205 126576393 78870331 877404943 48400147 687627921 456534719 322191797 115250853 181352295 149679097 217418487 861770907 338575951 160827775 949158029 817297821 371879735 316621135 178642391 354681407 525044783 379333581 117501145 372873209 625039987 490127047 257728323 91846187 89571687 953592945 408305007 77714719 786657685 41600617 582234459 297454343 246937523 700113075 896659885 789100797 661141913 945676991 632921267 497970689 806465355 314084961 426239337 992636411 749009399 537397461 827894891 439512767 786641133 564188097 948825857 693859587 858646697 617066547 169189913 534772075 578294735 717261215 765470539 397168513 466520107 458184933 842435543 545100979 862205359 872719175 814496165 688866139 182059381 368294771 29561923 419572157 677490883 721253503 732986343 346583295 260713985 263316201 820939889 893852725 12689351 295342995 804182123 808551765 388853195 373053135 188662785 84011075 444196341 407755599 40198667 551424967 962406731 944612655 774808841 377188499 918931717 245264633 701926945 417636928 431492477 818282133 663911971 214528591 248963379 609790557 833370759 242515753 753058775 479273483 917043819 438310689 8795963 392570309 154811287 218919277 326193751 603596569 131363707 477218609 906859091 465041403 583174701 446899829 857593207 928304073 376709483 302900523 434256951 96938057 937002911 675362861 320956973 336416423 992820439 574231097 856288543 814688377 134804937 32688891 509370359 311780027 165486295 546056707 521869769 46831317 7010055 227851725 152170191 615890833 207179527 144659127 610242923 346912807 668436529 166620171 756701995 733740337 998297985 787255033 148862915 473415095 710964383 436375455 356463113 301527591 710745309 638916601 912013575 970097491 55222831 369684723 306188003 816611195 554935863 775425885 190698993 837302595 701667129 799738097 791638447 480681143 102568743 271697233 623723455 26746447 551242391 685094661 24710891 761834983 735225289 719007871 494119465 48735173 199835043 398044951 805799313 418084245 100396213 24626703 89128295 255971181 621174327 564824977 223068439 407956681 104255239 444185517 400124981 525469071 391987372 462871901 542364539 239151373 270683737 25207683 777880525 144454393 380446175 508755943 709730615 792822381 572158659 113539641 945195497 41405169 23802153 119138581 374410049 673653617 519295201 532253947 947921091 515260739 221687905 381100885 479504151 486402341 94011851 941051251 441614611 227918395 874041827 808166799 527350449 968569617 44285725 544651211 275672085 30907551 774884491 170910511 354315915 795615041 745340655 653061803 215389061 287158715 849963953 419388443 555561373 527445053 982740957 120273727 162694553 818565465 171451693 198779073 427609953 230830863 395279105 710603569 364421387 388177859 401367389 924256777 519836115 906947907 697796083 950338729 776938265 101135301 236195609 510317405 606706539 712172771 266054351 506995283 91606393 276802213 402480571 267452583 395709731 958148215 588879405 565588825 985589865 960379951 711709981 420241491 207046775 942867721 551403817 134537571 60842655 236057259 708323737 423768903 389600093 926627877 746105693 124511903 90915671 567212263 497135625 188113649 840218709 586547155 441963233 80397235 948379211 567624235 104485321 859908409 832617043 409342623 301738063 47284169 382036915 54757441 662935215 84820619 296629461 712252305 476821701 135752845 294237261 974618995 614697751 119782861 958087635 823746611 710152663 648192041 819662671 272536713 161581021 36920941 998582217 168143507 712113061 179014983 110900853 150853841 767661143 769536083 985264047 11179829 166301381 495934737 890468345 121048083 718298211 524036585 471749375 988467495 220024913 541971247 773119637 288609943 156627033 912285721 561315763 968678897 906250215 12527053 961082753 604787499 433671443 45076047 732963911 714143 539173275 755587475 892700795 72177941 895501801 575082611 146402739 624321723 591988749 558186925 551674297 152005155 933308601 546165999 123660659 225909835 760019025 695851973 983357943 808942235 24272859 443543213 548275583 854938079 578315271 226915333 223624815 667965257 659283499 847330071 627244113 378446203 380006213 753437461 836051161 691633017 29987583 818512921 726556389 391234989 358621863 906015265 838003 14959857 661671987 11025945 808075441 799307135 251658565 513097939 439124723 61316605 89871393 74045445 652805043 241911417 688434361 839320403 266555541 429445479 724673957 720241991 596249701 451792551 613172513 524047949 180794901 273996409 729484821 954461125 336062911 50376849 6582035 250392811 8800679 812501245 853010767 246864363 253800763 14652225 511454633 720782039 605473291 473323325 687513003 900629157 522117331 972233795 661002367 153643065 265944185 487979523 246014977 240696667 969437955 553573791 146749359 50593725 784177833 366169753 452903855 849214455 195492547 96737761 25659344 661710989 750066391 86149833 250818189 170776805 283122575 506101265 941448705 212814417 409610685 352304349 710039797 770700043 297781599 255228347 41620951 332263733 56406165 352415135 159069633 482255831 638732461 827579111 556718447 737306595 380568855 389695577 285426763 138991921 742235763 287946783 566671715 143258499 937014145 851325139 69231213 109636995 208532525 857930351 617005259 692308931 894113929 530590555 789408899 699257273 695022035 884069729 491634499 122008775 565420395 691178167 910852451 984325433 835808223 692010237 73836259 219041599 710399969 296538677 936257129 978438129 70159693 923193293 455582791 300216401 887832613 955900315 768868721 959677513 203228565 630532317 960288391 235271081 748403953 953499447 663837395 834914091 194721459 478286261 435865407 276380017 335012221 428998607 586787175 347408899 866849565 820020833 231503497 513393233 49246597 593643697 572801675 599859383 303874513 769673577 498068221 375654773 39784260 43754403 78279703 585304501 368229449 311098329 626209719 462296199 489518961 217893105 686890597 675964901 889511547 72711993 899256399 851254705 866579785 85883237 302437455 983241393 759055077 350988693 206348513 621153691 289453189 737506891 189321519 581124101 178207873 722339189 814208007 557664113 656163677 901276521 835171551 160672841 943207111 812944867 897507033 94457563 766404749 676920587 395584441 297615461 609499057 418115691 473405681 578913287 702385489 185378299 161958553 348179399 698034617 192516885 171748461 724856219 756649309 188859779 18997973 175940697 286829019 299189869 711899105 345851587 401939185 313351533 29833801 658879105 935184271 722668925 601705581 532057383 878450885 368440323 160179025 725943597 567398607 861839307 543073703 612968691 30704657 24695821 579300037 705385413 772843031 902093669 719753129 452357841 370941073 136853209 204195325 450090547 787365471 570382037 581356303 688879081 669884543 199868975 7342807 882000097 343542561 221590819 304351987 22425065 732093077 952831065 670940587 426339001 961488985 517646811 872778989 530605303 497956877 208618527 796466003 488997671 34325119 968005381 526142745 54294461 426037919 163876559 599278377 52784659 150470797 846328619 89099279 289469289 324926601 270751279 508860167 100028903 215973887 773100889 966540523 508028321 818503809 627589261 567734087 338813837 433964235 595591959 794140999 559876239 92252611 353348783 865180355 543544945 338678129 181514865 170366779 618574561 250000393 461147619 889217239 902780025 748336869 275420657 682589027 693742013 511757707 681869295 936214873 92963859 120522405 561734301 277965015 395369167 908985095 18712863 49414821 884074535 302988459 343796227 292032307 681358399 224884659 881623103 923787671 269083169 185876333 556797997 231755409 186344123 741232971 251285141 592475015 289348583 539609577 419422627 63500169 865580393 308805129 521364461 40375885 998852583 607701399 252820337 404823349 612202995 652719783 732547729 209072711 798762249 350659187 716966687 70179121 704819335 258036319 622007115 20137549 351128759 235395829 336471223 369780631 876102091 742683369 485379429 560439225 520116955 150194199 495355589 772810497 425710315 114614913 665634473 317701733 524586977 69387093 640665169 62547079 974168975 343579619 277297505 356875435 255116463 435001511 527281895 510783939 400998371 642625093 135817815 109200229 885594291 952719495 56133263 357890257 472108177 616111969 245363925 1397743 308583893 417465839 399234517 44012619 716585155 374123893 733847717 709576223 735820417 146708571 378962369 274869065 147730977 419347767 848078865 855756369 112306077 538253765 74633183 737113447 907885783 485174757 688207329 224526177 949940887 34683555 64512055 37239485 606625167 526800181 700520802 207153829 494262615 610892787 987115347 478581735 90554225 214553443 186175583 646719483 666665031 199077165 658214463 734876159 971618857 364094247 24260381 841385403 66219089 948595277 737702021 124779165 174040545 569054655 794118251 16707261 545232097 718219723 866404397 288147421 769555267 269104353 480613775 888538719 792061919 348035745 529985985 878099031 626172279 188519113 777863255 589155449 738707381 264621641 966269517 63633191 340203561 499084851 267081993 378431333 834516301 439212223 172160345 443891173 163912065 849049171 448802417 203234301 819598353 13782139 691024625 313440941 359014957 728020713 671557595 513049501 947482093 282476153 554621853 871517721 704691027 364291629 944897805 220266011 414120263 575644721 95354983 284827457 919053469 667898071 876428883 432704467 663146765 719385501 333788891 718913985 160452665 374068259 303762039 599251361 870472873 753767223 349563651 663250865 841601741 716789707 199713987 738003163 230811649 911361531 227061607 665946029 626952581 766407689 261978881 247968095 41581443 710977889 692619025 859221711 573942281 544966039 597792123 655630211 370696213 662645605 475720077 953842351 512172167 940497837 97338619 826848293 305818917 658121853 408535267 294184807 684589989 928979465 525949643 780075165 930086043 592946087 85008799 553058197 971735181 85991649 335893685 558716613 709455587 962582109 339466953 290966093 97568493 119734001 770074883 787545335 617793763 289668247 781691885 348782895 343690475 874205043 731238015 34278413 588098569 550581967 589068051 485669457 403493171 986085407 331543665 338084705 493345853 214318079 732844231 242012237 329251053 253033779 833221287 657705165 812427753 875992483 38837777 183139393 379128261 446280037 851212649 130634925 350362617 915976115 182183547 438207937 673693669 336200689 971366783 806208471 446644179 274537643 722105873 511033581 455983095 147367057 781979191 52024231 466924901 279468417 640304989 754838105 192187171 245240703 514412887 962686969 636212503 826914227 495498085 591889189 202450197 769861491 818151213 42606885 158517715 712718651 980756921 415103719 956780535 323677611 922372223 793445379 618754821 801705103 596041821 531874745 299727985 248993757 260165273 235699697 182453907 625219759 798332897 339014201 558422959 819094597 982210887 504497863 31753963 643007759 255630665 214527867 402630491 693512605 910612687 241810143 399241973 87582637 307441187 700377887 499666845 74201887 560659965 814218515 642894365 195306241 371073145 257979195 856045347 144521347 495548443 876605629 407712841 112167429 221279955 73645161 21253905 442220551 465331957 251890615 20135911 910237237 762957371 790987205 464984855 532661857 590882001 357261403 286811101 824343433 15321661 767451369 82597723 18549453 658163323 730052995 82155929 48352891 728446691 134262253 676193929 42940165 201818429 518308491 483751173 617231879 838978229 471389037 633318859 412535619 605162719 11240777 369140359 403623333 141601981 373254785 223416523 677899839 78464943 886962715 444848909 732248399 624443015 58466501 558433713 934500151 755552373 420522455 5036031 519128961 673791003 620748883 65489191 140184033 139742331 589934043 773895495 516378931 149575683 524826563 916370523 847855737 71624075 971301375 826368847 63979487 162722125 687664687 437392627 265033145 980262381 316774557 696027905 327300993 599224701 144516405 121237275 89819355 876008047 398800015 138371017 89161873 238019745 787454187 783177597 226538391 683455064 618162991 454069135 689222665 413217603 48066027 634824513 550747689 629152115 213044311 84778173 278921573 204228713 332031313 631904787 208239949 94588427 467710561 805156925 411116189 861210531 177560759 225046045 154692665 316436711 964154919 870881147 117223979 798295799 263864373 481101319 647761575 972784469 567881477 438142557 707397387 292831983 213631077 655786751 773965013 72249627 283653841 687076689 299795637 528067223 851391589 353871017 112370555 71470725 165581287 998634303 583498531 735984503 191360459 136882485 6057425 705032287 869955875 753794963 866664143 680405913 367399601 277043017 62236051 201143791 734489565 879929907 91332277 410561929 863939507 402915345 216080123 81471745 678016493 232619405 663392847 73005649 991491051 589980471 732118723 75963359 559050161 987708041 638415763 68792697 344285425 132323 770817571 969347411 695200769 774640785 813262591 98898187 340330721 53572545 653374169 115544743 491604535 539618191 740870027 925286291 79204435 266331387 347616027 79411621 791766573 810248687 375668403 429416987 915231331 735659579 859334053 938965655 279795773 225832087 278421615 767418921 429357227 168521129 707264945 115457607 12963649 799744245 918709049 481058765 38050627 968126961 326960889 597063679 126129811 84806387 198066701 530130827 877002949 856410683 897196983 337083273 791753231 764110583 967692899 472398961 630000207 84332085 659563683 782258477 877172235 875574253 290709045 210380297 838658933 834439173 871718137 46289337 270518629 675063105 549480445 105437787 357023319 865449045 552658035 919495285 727550835 496098523 98898615 492506611 59462539 513110611 345498955 468043561 711565843 27966757 736610779 855963097 39312939 222400933 856725563 756245027 571318685 584491785 822228837 769601943 890495955 466233975 587753085 457388587 209071337 910931443 51930573 455064888 382209693 536382833 9689033 699832969 857310549 798409163 738561037 478664519 666683169 519710655 902806107 777021705 880035001 151333115 1661855 726607565 391230587 709540619 514979565 966598647 897814895 558718573 133627007 427720531 507257413 10519423 442454201 990886425 714644049 172758923 27893541 439884517 6048919 690120642 791094137 436207803 663163579 198083649 271003277 274046475 881163275 163797251 14124389 92691369 986631811 373469431 818469935 39762385 691865023 476691689 570201403 832064297 960347141 384917141 5143557 432426431 990918983 299342237 108470833 367489031 404738589 934761611 903748233 354969055 575440579 252162509 549858819 470419341 527463457 23311549 143447223 738620093 340516553 151074461 154743531 796612997 311673327 688681881 969604103 759630179 552699507 503340477 651904929 400970809 533630941 579321349 282329205 31258967 578274653 840300371 927190371 690186355 533448393 959498095 143644281 105966761 379945889 398940683 100296679 794347389 169466379 20027841 358299917 207542751 394723799 912495375 65990505 546664737 169886589 350579041 722281899 888195587 274481435 715957255 276065955 609616296 908136825 900206909 269006415 128073887 552077061 165582623 871499983 67647965 284660440 945575099 308197745 427637185 79736753 83849985 304742823 121824011 536752375 484245961 535883275 766183405 536341433 661347031 750861667 644634875 632019885 378453199 729439641 822959665 322754101 565859913 295255745 586729973 383764823 80703161 755354131 236871703 972238529 610923907 90683127 998384839 288190155 874628845 358982645 626931111 873222517 460849453 266996673 457049273 784012133 296749401 96780853 579371371 738206445 951666291 910733657 859956115 298019073 40448101 15506515 868317295 544304193 547712767 44150391 804290979 691567093 454925565 560611907 997559867 356705037 257592059 551719513 553953711 984398623 7605895 516269187 524015323 65704299 643701521 548627637 385496323 347349975 325672177 54320139 358337751 904733171 742237289 458627527 858788203 476905975 961037985 829273173 743034683 91035585 107002541 145502793 531733293 959865305 855593605 839562589 653438351 645866093 836098059 794176885 939975445 898080855 814766599 685257627 943180765 815773203 648092969 180423427 32191597 782365387 591970573 88465417 590548145 538343243 205404467 138801457 896084735 672518927 12135429 567288355 388100373 607178035 768672723 119944373 573686549 714744701 799971799 406203361 471445649 169977183 962531121 71954635 853183353 844302063 190111725 851298749 425796399 645837805 309655033 239672109 381858677 697750721 140195889 567258291 294079867 811710327 572924245 88216597 736081619 313274569 81920269 868086843 109326461 533100311 545043181 830093371 478034397 217072997 495054189 490345039 272984001 875666533 371881197 907218138 952063325 642477419 301820089 46973291 950175567 236724091 417116671 832371633 488482973 24526393 856278235 668024967 517702067 604204277 454259533 665237747 742378855 775390631 217231933 78206237 372261877 621243885 693543039 829146973 852426755 382541327 694780363 371932457 65047967 843240955 320418241 663296039 142486847 882016843 126362347 699997987 664730813 388319547 600198587 479479567 766216801 827008949 256958859 844146181 498405849 964000325 720707995 894494795 50600759 344969255 740086291 421730123 753761275 322163765 195158279 517553815 610614793 848435707 145411437 996938477 907925165 201655973 224829483 649385261 727776671 85634059 19653381 375246693 688293371 756046253 194293679 40995783 495417669 104741297 526607043 783232943 689041517 372594153 664915647 121739423 276763847 750701257 240324879 828168515 910742287 679514225 501888773 19163245 881910379 624317865 932377305 480016923 508048233 907031265 480689323 160753263 766642429 906145071 650955653 296500403 421152135 859706707 475161689 399573083 277472201 624549043 138833663 791668739 484695025 20129375 556280123 231522925 900819605 464599565 285078963 822715781 58424241 464805151 846489851 230331231 485591981 917437339 316404361 723409203 807297619 968270127 881676225 5558889 261522907 908950581 303784171 118594441 358310881 29952169 65342521 935370569 699615337 557664565 171706051 147787649 783020259 708048935 87900045 810647093 935858465 527277173 997453437 864499857 848707171 633083583 97495909 793711081 800312909 75985999 469339905 19013303 93485549 34542609 810718701 514928543 546647735 398820253 899300791 146669675 199569801 677450803 770835919 391658769 607759785 66524089 830832783 913319593 758817219 514287041 643655221 55192695 478584045 547069055 907583469 445948137 212048803 210656211 381385927 408568975 218306251 171376197 860163261 645314853 578495667 830012933 817105841 408427151 557720081 263865321 728372843 659090391 861965567 601219695 633801629 236968499 304010247 348944577 42976479 476713467 376162577 117149101 425468851 46674869 262799988 144483499 902219907 169827083 231943665 545562841 915631519 125149135 206712745 484115455 782589507 379965181 133078313 223690635 736217995 165998009 87423593 919814549 925084037 318615119 229763781 384322527 201280033 882634545 738152451 176719051 999339575 615866873 630292815 859405933 768589449 776563309 376815677 742216057 525015233 870583671 159756749 727993937 772455023 992752169 680445285 14669305 428656653 408249023 402472399 942555939 209397757 121504671 888173633 645392677 66238341 593843281 527875417 695289087 307644891 683968137 684966429 739723353 540956437 228230945 891916025 33009791 570464565 153077535 317376707 260885355 895982885 190941357 467833785 142375611 151181749 597234205 742942335 588509367 898697375 746171629 519225121 491667791 525282691 255899327 965900823 178021145 348397293 499111005 442750781 920921683 954346827 366908603 408158423 771433447 799620601 668925427 529034389 751268963 825055799 764497483 488037513 708089599 341395503 382667055 721855027 996241049 591227377 576530477 29793655 890633399 802483317 905792517 273040803 717546125 233067169 621264281 72666731 415847405 244623417 867969267 332764397 60661849 329474803 492600903 143185583 68557817 493785957 946373873 839065245 895800987 953183759 709989491 711358989 872017077 384659551 554442105 439900603 749685863 787070371 538981079 359115471 526311547 211069973 519270023 530139603 817770845 949809109 52639917 970321341 485888549 162998253 873159315 230729965 278056339 739951953 780380591 713873445 111860493 231731157 681366681 843620243 8908195 375119679 479521301 380480463 74421517 304798263 920971279 389932753 278475945 567143243 70260379 326460675 417470081 118123001 117786869 14129201 474097727 612715423 262453883 643833487 825999935 664061577 988554175 656270267 14156925 252045029 293066095 607300537 956694947 195550669 264419691 88071673 418274815 101252677 883216817 248827983 220958345 97200179 269886833 359370231 462283743 412331371 758382075 303769239 253302087 149516453 853963 967610173 564696501 273511041 52792709 135569247 882117307 346513033 540147445 994020823 720980891 39650863 721667085 6506477 326270013 83342797 962805735 988876877 841019437 925629345 575432649 980588557 335126951 44152535 785729051 95844779 575867013 884093569 324145525 933975051 487748947 26784405 37211533 459717497 423796285 883419383 849135177 487487661 220351515 707925617 927429813 280124355 972785515 368593841 899401731 6969151 509096281 34560081 759113357 671421201 957621423 45859797 82641625 652982667 90974951 364053155 471661201 972221549 349747999 720845069 813959561 220334555 478574367 725948495 365426873 18487139 634376791 307451783 243123529 494966009 5197531 567042239 264756097 48626683 381523055 53366249 697427925 968999983 274508151 542958557 787003359 116384961 746613251 567306589 25010533 806294855 353065673 940724755 45752657 930368191 939276331 739408273 630872759 503401611 874710319 911730765 482231249 530457467 341153411 898505387 478095105 500139717 749765503 448146419 623810005 447583491 747279141 60599127 6165503 865888575 118685463 421112047 61313627 599571425 558950569 471566013 917100011 755113921 250915279 275125675 853212381 346245405 647545385 568644745 748485503 786577561 366353921 724592403 494775633 290013763 999853891 320620261 107570677 165928591 635208839 520990861 841902645 566049627 833022475 97470075 573787909 215069419 610441915 921582087 244315265 628278511 910084385 832333939 290026221 368116091 800300663 612679145 229977009 681102347 453376411 571994233 679602787 725136517 203093525 637062429 418075581 371432503 60217619 6472887 733845155 257326295 622818927 845350159 657757983 949975423 595496359 724655575 17670503 274748855 948783327 834874279 13066451 601047149 27661291 883303169 618690279 631476979 246169409 557221199 528536145 399906823 492875519 841428961 752523745 741780177 701758955 279940337 439317395 7838171 247967353 737499295 746041739 188242973 609534395 142243319 668667157 940359155 520664179 393968103 650831777 997934625 186066439 58950219 666887631 850712279 511928201 443137251 796765789 716090537 954195117 235719257 119656763 970228627 769412309 449604925 418344569 4499963 154412037 696639753 622355797 471841711 314973167 832028445 969211695 261061859 722030313 566043589 94485141 365999925 703970547 692088625 104404535 96508075 917224627 735460471 806252021 638901425 733689465 594390685 94054351 133040925 433112893 363223947 567951599 570674475 134733213 4512017 497121965 194443907 799601889 642721257 312725375 945903151 742452727 995652787 870580749 943234471 202867321 649544955 877264924 285690309 857061797 657488943 644595623 536986579 652669791 422128811 858920389 317464697 114772283 249188013 678787513 679079119 537811311 709199203 884000751 212400979 868159959 169210843 847039737 411476201 667977983 339792399 85272213 622003167 622802707 700393951 619952293 68560617 333679341 371658261 995137587 258853413 274455305 745766243 304638579 634721815 767840399 28027747 328565185 190418607 84905041 46289813 408050847 902744129 581158851 799723105 39457465 283630729 139183621 229420571 677736929 262618543 411952865 131766267 264882453 343047485 198880193 304433441 506836343 811284777 282158785 235032471 899709265 836451027 943926687 714524495 701309719 947677181 855902401 674426147 511937636 10126293 153962039 187019219 98801407 721114609 875745977 46055175 180005837 23991119 164547237 602092625 981478373 627791697 864766723 61904941 245902721 811879625 328856195 538844921 868297989 10005737 594090617 4138495 911281659 364315727 553230313 389526129 957772823 392601599 115714167 581863017 316338229 154677865 128276849 514322405 577726809 863954527 977379027 135300563 810854315 748455969 991414328 302695167 355964289 879037011 208800233 618568999 393695317 312251139 534978517 741804009 228575691 10105511 190080661 692512207 908420783 923288345 896960101 910549835 909072369 748055201 727390253 611307957 477227441 716130539 862312575 166700625 512958509 341608973 145481871 889617221 168474325 779951491 597211965 83772579 235430713 325683509 572028433 891032423 213428245 358913133 258430011 522177133 744561741 317271267 509901713 68516741 129342957 410948017 286422931 545743961 976776487 340316769 508739175 310015881 566728533 288911835 345082333 788050833 843870205 928313721 548313197 498099165 375967689 27011059 849655861 793776061 614043019 12340851 140868605 727422829 880728895 98012037 246741555 764773129 48059659 502301725 97031153 644710815 242310197 622454937 645850099 198693919 72858677 797693887 209486755 831739489 558926245 986644411 401843215 870948393 753496391 940740386 420869357 253354013 605697287 853116403 636719519 742806735 735263479 875743377 983817769 537710521 440600149 626681547 419673151 573217341 680988801 671747287 173263411 955540131 560094217 344330831 362462215 832911131 213131167 494183739 780511329 175390913 841382175 489984265 152305555 807706775 326401675 622777227 982665873 854801537 434724623 264487935 17691643 443160151 536846847 522542093 184501529 472736973 810516947 614246081 738107611 365581445 513751347 694178191 534784215 802777355 977817063 243382099 370630221 957812175 415101411 435450711 746745635 383652137 127234115 504524357 539370217 32702811 472010313 450744113 95196631 936143247 226473571 571205275 623392715 446624981 480913183 365060457 175680333 169964327 686768701 632088547 237750411 478607461 945102751 981473989 4153439 65021275 366046287 469961767 235149125 664230583 728383363 603071121 635192935 451137045 599266195 769468911 97987217 172852469 664703235 360279703 826889535 817890241 967648639 14301765 477620107 381501129 876313819 110763297 413143873 827949895 98326545 463317173 47766477 70530651 598916677 694003449 38943559 913010705 491797955 397149513 753031023 910325847 751727355 658516329 199860397 263566857 91368331 33169033 325999373 132696551 453182263 71757371 924671305 833875353 228670183 585665919 854744511 462060723 70567857 75756473 398180729 604407725 692237777 44543415 26465057 388428007 82976679 31395501 752568851 60202413 860861119 336718137 427530573 55764269 716771023 898420319 699144820 305862019 260957871 143137423 721473755 771546287 972496229 65887901 26097271 44617113 969579291 786803399 114092775 245393685 802354211 626054063 681972339 832275675 259141625 464012133 339745033 548411531 7202883 329265247 843498307 546044079 517058503 184572023 550531421 930369467 653130621 568698357 269621825 72873219 862591871 913130117 953475195 890040269 595885071 220672063 330986311 764789311 973803159 298995355 185755519 1050733 193377967 861979523 198711983 413877071 218733837 863328323 323963395 274532293 771682457 449400975 834230611 837696409 845407067 778213253 434325023 775356029 740624775 370585257 234444941 14582027 179823735 40204523 519458415 117285313 211822513 175980445 286880825 914721293 771551711 380196737 896375819 257893691 549204437 945841079 889172141 330448777 303176075 748011215 427131535 198380309 495405353 735784893 422622919 154151657 562410999 453576415 617514003 262890999 767826793 473142523 327391709 199003671 148185115 642188861 55859507 627165965 109069007 479987515 505940941 619282815 692756337 34750963 664064777 401809409 432465941 149083849 535154415 914560520 354984437 296273801 451723053 627227387 902823541 305364075 581047837 275382047 668965407 459734281 834694075 229106855 421910951 629432173 311912113 525860523 956635881 288332031 26501451 816377391 883700199 554849176 872520325 888109337 314123727 584132213 102588153 464806715 125045743 960932153 771146739 139722577 108967623 330926833 415416927 256705017 615337721 504514839 535046101 869470909 258654801 38502531 511567765 270659853 656826558 569850491 852348805 360246087 222998369 612088239 62424375 999646631 832754043 983842099 191587551 826397017 348155765 13516675 10630237 913762669 398786021 601959303 299599929 154014687 719868037 957770633 532695715 775028363 666067769 529425985 875421297 160168511 533034253 956637129 276359201 550045611 944867633 138502825 624391389 578479719 882843141 334854351 800034163 408339957 342739975 184467597 504522587 53918399 101366503 751632803 972080563 344890647 358498421 795854387 863420995 378661427 935051693 498335183 46349945 877285685 129989557 731932777 764963437 303112233 939540179 7554911 474241505 721769727 84151167 186980981 829570871 626899087 815039827 227329755 831955587 155044251 92253711 818220581 836954233 544915917 615473827 891690319 486003067 837433013 62928927 431847871 320544397 650909389 573060289 176473667 759847009 181198967 650755817 100082193 513061453 406208249 814982693 992760259 18288977 817229193 540565031 767977569 900786451 911502909 331740619 153454679 123065061 132758295 820425745 252810875 466354875 7953665 2986793 756097291 648263221 106396363 788996965 306352297 416355227 54129711 914446909 293349223 68905693 358905037 962379097 174989749 498890897 662717745 665048961 151263093 814413557 160607177 423065001 851319531 108065523 656673265 764767213 932353985 83973401 729076969 260176015 329545233 658714783 217216731 949373691 470214997 490605155 733614551 889868997 285831539 647377899 971204311 460500645 363257783 773150315 3627195 551619971 721549787 357049269 452979023 519472487 596260087 512900939 452937281 588513925 18913425 616916309 232440877 413861433 961934233 606231967 326480275 637302279 819523427 25627813 131153371 148952727 257714861 462208641 904393305 610855615 727867033 595282431 491625285 966469241 857461175 445448075 552348351 122430439 412970749 253569597 259347923 757169241 110316231 972510933 512029039 126460221 476365273 380636345 134949743 993254193 91103329 304521465 115046289 882132727 869558517 603866445 161396867 615140477 62535059 29088531 87802577 479292883 854022303 331418707 947249145 197271093 890780647 518948541 961450329 459299591 223087519 419243687 524785981 523784403 131929445 511569935 141398995 801739855 442414397 520126879 823203895 249416531 582017687 102628773 623753575 628170725 277265735 589043481 806914385 989813037 224176777 995983513 811597761 707361409 882586115 397109611 110288245 631992925 346256579 432249987 649587979 588310881 301929021 864939891 187861517 688495961 863136081 932767101 512583149 81875003 559455553 107747465 831199493 120192799 4277435 606415907 502180755 85984587 896931541 776163463 987431621 81625385 51459085 814069135 253021095 433111883 108863301 700478407 297024055 889989485 189953231 686312793 853641299 54453109 535849309 125808931 945377989 29239913 55118091 494961565 235912767 558587777 39838819 903856117 721275993 410678551 405394253 969082101 552252567 191595437 807035939 74251287 460323167 343191279 247418015 844719737 394549507 673167535 588688615 379250147 554635455 184096747 717360777 632900037 711407537 139917251 615014777 936550451 383334883 549602949 25430293 866563313 808216903 893858467 720553251 802013795 268550837 390770617 226962127 934520473 111924463 288447369 593491887 115609673 755134879 103891199 819936959 167665109 54000215 603800877 511291239 532772931 399148429 629239889 388493937 718272577 7417765 101356237 392577813 176576295 320009191 405499947 193210349 537531893 267507589 654517279 427672577 287126611 854462103 125131653 513401791 861361039 553346335 296883551 67938297 902115231 596499463 744553433 501507823 132188195 831170593 745957703 848431941 276738917 589186339 223203619 291552519 803437391 756072625 991054095 110944941 345206911 889601873 670408667 457382419 604938541 20621689 136560245 770716543 928852039 910638207 717027067 858257565 197481047 508653477 186121135 572955011 973397143 482820373 319239167 426652589 646762469 47565537 731714425 420868865 897321417 774428671 775300829 980145357 746492785 146641745 651051789 533766853 143196343 1923747 932434965 481469961 481438487 974248869 528465957 708054043 30773435 882174191 153243 104347625 695080305 448583427 524553979 575951561 922353073 446950219 401198573 511633273 880880025 981360407 272043591 525519133 783266287 879496865 368623621 396992577 43451173 747347465 854890823 210483165 542650451 907522651 782036825 271869517 632631349 946482823 207954353 669989461 822194739 231309925 702021351 627823653 832739167 306281911 230125505 28609103 814612332 545383717 485622823 34232019 473348543 570019651 744640049 402601493 780099161 441763721 378202901 430976995 661868781 429275993 963088953 827345521 687351761 209027321 635385897 911892831 947770629 947592351 253878679 435702447 879244079 831860065 294566493 811137487 511087263 718156863 500570753 309344403 613673549 879258407 345081645 231606845 476366039 572957159 168598963 463008365 314136453 348065081 682862225 120131637 729870149 941362621 634617447 885040389 600814001 764037375 372721923 681773503 662131205 947411053 702933079 475367333 406159403 541738595 681188733 135181159 606528945 796540193 976867259 842186775 41446607 942842319 299720571 379628085 920543585 895102849 804292433 545453221 855146483 888086063 122681591 939330995 150744753 684559801 520653391 866830359 467433589 325565673 574792295 11742189 851235771 30466163 741857393 916583867 654266795 917075947 472490697 981865837 776253207 59892439 800006641 299564377 580387187 324847517 516346261 702270779 360965087 470277777 996380041 133566777 410374691 853823723 243546311 502834913 220556207 616434635 687733873 716106793 642155673 37875515 618586327 110627435 783488673 433615661 224467047 838294895 427437101 277036667 206900927 567480931 100562765 517001189 734394273 81363161 816406713 947576595 326825465 20684751 863438543 982775705 785735899 871592109 658479767 433305069 821775489 942358079 305116353 654435443 61998415 947291575 979827361 635844213 73443023 280794551 172155707 217921825 124180151 345670979 437799473 96474769 116042719 784436933 848720087 156106953 758203211 657531159 991777571 587129007 906222377 940097651 737337521 772713749 892277193 974287743 671629773 179269559 508367527 270076489 86692963 10755635 249470823 751600965 464924429 460206867 868200659 287311443 840421895 866984137 209828321 474163635 611127865 538056365 772260521 726684439 271906867 709414403 663116657 777777299 875600175 193000689 24125857 783308197 523977735 936665993 324765903 11982895 51563589 642564807 177659319 875075971 768540953 488033673 734155065 627353937 202254424 326420377 605964129 121229499 711274373 141694633 647926885 285478211 864670403 950356305 427973021 547407321 449523171 52727315 655845007 683395535 327871325 359201369 820428261 23735781 759584591 212813173 504342641 838112575 708926593 240525725 586634801 178932331 65538401 359849717 765481797 855750237 965342985 441378437 273874683 407913331 673517621 485763901 391049925 589632625 630681679 276463867 632186173 618678151 129461349 648498043 509526313 396529481 900591149 711906153 646143603 461160371 362572041 632346965 296444205 446575405 472662269 161504953 546727573 949278081 466844603 821306615 576605197 493042405 987954075 961626199 144799263 472820473 321259161 31106825 477601663 863186367 945788765 701822507 347449863 427428005 596380729 566410425 101978557 783140737 911312929 852128415 800909771 94076305 637869493 314241453 463062405 149665913 317689917 852425373 383059301 926143813 795382441 465486351 394479117 24945005 301593743 579575695 207814987 949901261 720508719 734008461 569934611 430453675 13687407 324045153 278047869 452453297 173331423 817975373 399281357 341829881 723675575 943441531 104446575 233942013 72140757 456194811 922732535 152783779 963133119 994725831 622987039 598929977 62556329 285689023 904300489 728820851 967221861 232350895 331108101 84487281 869378679 880066117 146554369 905909 752775171 530506525 458510107 25472301 667025879 964035767 784920277 296930863 781789551 63479165 801876701 430873463 640609765 789863359 505291011 904435501 761347333 929536183 749689923 327166683 307019835 393248645 321962945 108169849 204535199 827821109 961818567 63293281 232361713 960032949 489467083 520772445 2121881 979695073 940302949 565745045 891438243 461412473 441383513 7392675 639484873 512371751 804684181 464376961 631518313 191863929 361606953 470873493 256984461 765290477 589104977 231077291 368053215 265918691 298691697 74595323 62096059 574394017 489009173 499300129 972460319 435082331 503708141 451008035 688276145 925465643 598487257 778892653 861791425 650348561 588927961 798664149 6747463 125082869 309486871 761335703 79481313 999189931 747578601 746279771 594539735 362710507 851743947 932398891 556512279 340045653 733174877 453708157 774686265 864942709 283047533 417968689 865403775 993478073 898383853 159739273 978783435 910068347 981440247 424212275 969581233 278899199 179599825 333299013 458392679 217982059 276103653 936625981 496553673 220424147 533280965 85952767 106655075 421330735 671146799 663091671 757818209 297231199 475240963 904996221 957980315 157369389 359299407 634556173 939717777 703928651 283710789 377088525 621949289 59162451 406723905 245023591 856876277 234304195 354146501 532331637 767937449 161503497 587172477 208978417 910583205 618833265 588947259 506215169 25052081 356915257 37244669 437313075 151108157 534763391 237406179 758228093 202120799 939872845 56534331 170596409 153832661 593719189 363220601 830754351 728568585 154784561 729466419 971317899 127937033 774804191 976368947 694597603 269473165 629217611 256857439 754812469 686655731 926593287 631879371 71454179 475000899 384970121 622249141 669608639 862995755 44338741 831246975 715176697 517676037 820620115 661455027 919539251 494420173 352836373 421551109 209429615 971870765 269012629 90542673 673107741 917117041 300177105 480785307 360869903 40907413 397673397 638668555 421458565 617900339 887832851 813386743 210633763 198303639 230341537 13945049 298684407 578267821 552881155 227803221 963533685 60882957 412560833 47051829 954776955 623375607 189611085 623330415 698965839 670860625 447069695 861812251 433463709 810477229 936380185 906539645 379839867 374290751 275782853 706471427 931249509 574865127 138995733 747691325 212788803 698393645 540340479 73387495 743360607 822743361 159904615 133488101 361001071 355433719 153738771 236529217 13289107 347943379 856305081 444615729 285328716 988138233 422328303 876667917 800392843 880992057 473905209 243734619 834630821 860529675 906788605 660321987 836989267 727102605 756578445 585134365 407969983 420698757 983318051 498694239 895563893 92489575 147832545 29403055 196379753 771572037 221344973 863029080 36877817 545209825 995272157 480371661 730066665 434468259 629026535 275857579 79936105 501709977 512229037 559493043 848456717 939279225 105588441 388583375 713993937 222671525 306198779 342692887 420491291 20370209 332177805 649160385 189872825 88479135 871532273 758410805 666234847 87417205 23304303 491310585 113192493 253176739 323325751 786418116 295382181 986146767 176707429 85720691 979966389 180889419 700667641 953538821 149272115 853763083 810446045 594054567 794986075 628755374 856751073 458667179 98590421 471230591 533712319 692960143 284086187 635810923 667163159 46818291 145465685 655636487 160530293 389897381 416754607 896865687 168932425 546203287 477353725 679948799 902986217 854902245 61179631 576116687 870776219 12983505 988135319 399849023 841544071 815008455 294690421 511748139 775177661 881837915 950558061 413955871 291671863 889528647 238109645 77148233 11071189 457213293 11659081 27146621 680515683 821744093 972238591 187471933 996116879 451028165 922926709 289416369 548059893 884013955 480308887 298428581 325404949 209873305 573078203 132153493 413390679 92166067 83004829 479857819 447163151 425196197 642357349 765467011 157189237 605596265 897163165 453149113 500939689 801693475 199195197 996931157 209180599 634389021 343324831 397557783 252304781 251102411 201411979 881529445 777348359 569774537 845155631 915267151 186232291 205345243 445736477 222458253 881322191 808627433 458825301 999413629 870948441 46133001 123103803 276219943 518901241 292058997 178234267 283994427 651932947 47388561 371288749 238017807 892039153 74277865 837946637 474452385 229990593 883597101 221920449 582484891 847409823 997421883 83446069 706400587 218528393 456282135 626896445 335315369 804680301 198064875 954884377 168996691 502429207 982023433 596014959 469209487 825040965 385533677 193850441 352690513 69766549 274434875 965500701 446711851 939125649 74417599 944971465 40947039 816938923 721201769 76276883 883082965 916017725 262877785 208371497 996490265 329318791 80164557 322737565 917617511 654150833 964733493 270357101 418255513 604061389 617338145 579738241 328926777 235796439 957390671 498481187 285639799 507173293 736378527 3028491 126316585 254624537 560106015 430106709 990175695 967987917 105104641 94590853 955276945 549295201 984706975 770466699 162296123 164076889 71861375 169795257 993749831 93974043 721136459 558067407 279024083 881739003 759932885 841911283 680554663 431437615 284809499 464482221 442622769 734474715 286342205 718127097 684165003 132427015 715497353 504995375 687267699 323583141 299201393 769510935 278134095 914300301 279481233 210959581 90885933 993864835 797580203 713132565 134585801 179801901 167844011 233577153 883179903 956329245 939313573 591269953 295015767 208322765 760133841 824971111 92090367 78415007 425377943 244769635 853476559 975251931 788888191 330174679 432560839 52482483 214995005 130595525 154455439 661849151 679903917 993075099 651133043 60741505 283960529 749831729 222513007 440838243 29827797 343732927 848241181 117154743 182482189 946916335 663170249 403629875 972295923 531252173 270132573 382223483 3131947 276194509 332121717 10403351 431585663 33541325 656341583 40023671 336565731 298552851 445190609 830778103 533177203 846931017 642444173 375412441 809665651 215105929 382152375 876738627 130487883 977740109 721885231 63776071 932262545 886054781 328934781 623030495 944009215 778060131 833141199 763481579 102278521 233046709 81849087 569587255 440815880 806257299 48195209 811282291 294840549 452558975 37855895 212247607 26693221 709809511 770600695 825529093 183312653 689709729 664043553 871931719 494031243 683024107 296924721 480842829 931600047 299294567 890663923 66892369 46261365 396692647 448445907 175283059 879890177 270612893 448530667 851983551 160082335 490948773 702657015 748578085 840764863 671046281 379991647 372383357 17554945 411244401 912273717 679877769 909935907 274887671 244724269 310010865 919942421 427962389 778315431 829852489 545040359 79091249 900102829 485136905 522942677 312294937 17878507 374096275 633866053 851002881 303495353 737645101 920462781 425440135 491696405 746160141 440660213 408502961 987631531 386594377 899486407 394259691 719963845 736730083 585521459 557164555 11886941 499218627 517402985 986732367 497034769 953240253 819885753 597165145 588383273 314978441 177268129 588417081 487301779 229639879 711466689 125186149 740771049 640060675 283074023 410892217 856654951 765476011 722726149 449853305 288521975 122536475 360050999 38593107 183877159 60353427 581102527 186820447 632790575 368178747 478945033 352160021 336524523 476273447 889014183 859220063 477540583 366421583 995821911 402817929 929749071 464674195 978895353 977616199 198217211 436158399 568972443 397642679 381687917 690814337 667470449 495711071 801866439 586340467 688640465 223153707 187775963 587628569 243248963 421452399 791729443 609526491 13772915 371852269 827396025 561771783 633133359 506019013 17018727 648463835 942546039 311055495 856284061 603013237 477661037 290775335 927583345 911815903 131744859 123731973 888201123 716755213 75299253 684718819 330120089 492124115 24211735 490464495 622512739 125769719 694767171 682473919 187029689 504739103 570646055 379191377 303625465 700978911 851278289 536949257 422370859 674653613 38039425 454612403 38818047 850021357 63753113 725226119 153030857 721989865 558684069 207796513 483747981 260165071 949754197 10982533 209262061 158991033 112505223 375911203 31371837 337994155 843269951 572006863 456981363 960199563 645558437 30424773 456413483 69380397 394620943 359299755 835421617 180838983 338553591 762996111 200021745 112040573 895298305 686795237 92849539 524689495 880114937 859009931 719731111 369622599 703005647 356779719 691622469 503545765 573982625 574310213 181870569 380265909 65271987 956938011 631202255 471845021 770525295 896495559 732627153 195832943 256514663 53559083 400076409 239693351 276501335 191103127 756576759 934126755 211553315 246442945 987199265 773287341 884161751 411055045 781004663 837483767 758122915 699111463 332609311 804337945 291031015 300170709 432702953 649856661 544372003 706525735 911614029 449553621 291136513 57885655 465656425 910442283 917186393 852959243 263702789 538272717 172147489 343435087 58970767 411910367 861500287 917301915 28560929 437414761 955172799 70341707 301687 527967325 896160083 190612261 348547323 913410451 175456983 561829205 334779579 469403853 763428621 387479409 406454637 442115253 718981599 229141365 825514099 514136027 52067173 398497735 904224209 223181241 391235799 280309303 866276153 937413041 129266583 304299253 803443459 106809354 367399475 61001635 570606379 511195385 698757981 609236035 120009305 562476434 967881457 763071043 29184735 977064155 444727537 529123193 181501873 413416635 25947785 222049059 261228911 502370563 897572619 137140965 427975009 267619437 767188725 291817931 273521271 122958747 486891241 860107085 818794567 134326291 383743153 214325319 347904529 300900683 114263105 698600957 110350779 825751961 551753909 86606111 167903445 19679551 260303183 12076737 742801301 895109479 146388091 708297055 277101532 469594401 58849485 168018911 899806771 876358247 129635839 204482191 328061639 175201561 837609973 658281507 664422509 155876355 870008761 930875065 63999401 206612949 989820543 435680983 499821469 843110951 874489507 586208873 889662749 662991483 562997929 349369285 99052959 764126521 215067193 717915305 518371903 840754869 117802793 981053239 671069385 934127655 835067507 825599233 627338921 439984815 108953403 34734071 501130231 706767449 13712333 860300155 771649139 12444947 538964121 281659727 101974661 524277177 863468349 941095587 43157561 105895179 117871997 777759497 293428297 885868211 485420097 997897089 107283731 284355649 917185183 742456175 526835617 338288173 587936979 578621345 802697373 326252253 696102205 773948747 202048867 609087893 206807401 387107083 192950001 409731979 442555661 152261095 751632109 242740435 754225409 946079307 363849383 528416627 101735499 338779405 835971095 228594259 58016533 840250985 325598939 367760961 769721777 113811717 546577209 819008251 319002011 388581615 259622693 419753503 95036535 610635421 460832561 369902137 726215953 136630761 176524193 686981047 876183643 846347035 988084567 998215669 225482863 826642913 53030631 128596529 934861715 198125133 496624005 571649689 742467377 563252191 183870995 987090745 736174301 646028411 760870935 402715919 36553039 227094893 441638079 189696761 485709167 591916141 252679139 617723073 706933059 781379223 689177347 229675033 614115075 985234799 2865221 583002011 652024841 800509413 888345979 720070087 830402519 548957005 776793369 26021893 31148313 88210019 473973567 333174185 108613281 550218829 922583733 349767913 836422253 488301977 369585643 259460585 575190175 384046395 23865335 40666033 91030657 148989843 246860183 700740403 712018823 992952675 745066037 981550665 826651725 961561305 672076511 995247281 987965333 321154699 270334797 352702231 973156683 330340981 387462877 641132045 910878595 232357631 910519703 708279561 971357559 413015539 134480681 305166191 911479945 153120649 21100013 853934471 810757449 546206045 599927263 132411267 453023845 295879539 728405929 369005181 842153403 419295035 859293079 998137715 919744845 12314759 540045477 565470801 279702599 865914519 325859693 588371177 403827197 291344655 223981883 4760049 232820457 594557181 148470011 325151245 935761839 868781013 390681157 315858117 878247961 699014773 116784217 446234507 392306205 913136163 4879645 770204343 294744275 877228939 649414689 614714507 236159873 898336705 714871197 278496817 494539407 822682439 982416753 672378043 992846483 195255549 996554785 95303199 238505799 825019187 847681503 718762049 386593423 768832159 750983039 18522089 828944759 185077083 211836805 53528007 419751727 603772401 265286933 347432825 546863127 949214281 533908735 485043323 112690349 976237755 525179579 766503225 692301985 158047493 942405479 237811715 454704067 590054219 896831689 665190419 314583311 958714649 152290389 458185867 732098473 581609575 228348445 101306227 611237341 873421969 635747299 704110779 217621021 800059229 49102863 430325567 669398531 707717111 445088943 566836159 63463765 762548211 774324857 385556965 268110589 469039697 771795919 976927041 474159629 604941943 446470581 123496013 444567235 17874223 420653277 943072107 894732671 919179183 760215709 101322723 358609359 308675221 430940661 961118949 961348453 102363879 45964427 44090509 103391003 883524881 425557937 813484251 259236343 515411433 771936091 303621305 804615203 590172077 850752297 235065591 292043251 601261313 239721315 989985615 711366367 299230193 557435897 285069155 832331407 861569269 732995967 538744249 770683339 430038505 491221049 697797319 807333255 703847697 948815115 657651683 254570463 839156763 738728581 441138255 841825045 554861855 682852317 967773235 513024149 963225495 749748725 780438947 350321137 437794153 789038675 861136791 3907047 517989859 388088357 963262703 773244249 329769145 273149765 976349559 85438033 634056457 408824111 609704669 724518659 846177369 1538061 543165885 133970123 181648277 655758251 124373143 119459115 525863443 4712581 857618643 849751249 906379407 14863029 121670085 371327627 389258799 38070535 716584357 590850649 322359683 430097383 855653523 509059677 998686075 85134445 644015515 167679457 96468089 561590615 894387115 680571483 941723967 232039953 954432159 812645987 595256315 157242789 524478007 603701437 595070789 564952525 801879323 328345943 151815445 53373927 616226783 143536193 772584405 904772091 343408121 788052663 481820497 393103801 27150543 507109917 451110845 3690359 851088549 235111677 53119671 23283507 333317039 766922253 41324611 933606807 134469895 851408165 783856081 598408433 574611885 275328073 476758837 856801849 291616649 54800039 536076715 589442571 416174189 537526671 15151321 806444467 156310293 580481917 808704460 712158749 980081695 814218517 71361021 691082979 446957845 105588771 339961923 158468417 350618475 851362457 885066215 554199841 957333365 316236177 776088981 483108367 498612089 287386705 738037859 909751365 947448989 109211459 609973967 758817699 40900595 585217273 560350653 891312301 329329527 720833327 206652281 549172117 171939591 590433739 646701243 858889521 945103725 570359763 78890399 153778689 826533211 563266687 901854889 728581931 941715051 519546921 353140169 489991041 845752859 154873683 145357649 872584311 570678487 511357351 164138753 613606189 200240369 714864893 476670205 713305451 895303583 321321035 22456531 793473695 397559813 311024313 443868279 706693347 706160171 164090511 743525191 591707637 203460611 999529537 138457353 990756921 596286565 252868457 297534185 552895427 59437077 557208525 861268605 784427337 393249977 734912599 432764097 90448681 636559843 749843995 291838749 245490793 990287885 401520467 65280091 245256125 483723161 600937057 569131955 291839095 478053839 809243347 996569023 813167513 491343329 176205405 109327241 590962891 370924519 859494869 960730489 967472473 602333157 755981893 848165479 400028479 98751681 839954387 998209681 972669975 558903117 563988179 203896987 422299179 700846403 970680003 217934483 235309419 94337093 757367109 585665773 450495085 341070555 512909091 425087367 420753777 984729973 235776339 506613413 612151645 202121585 67370477 979224055 235358915 443726347 48854837 615819153 137664725 658408815 607241367 631991535 138627193 34961325 608813479 774636535 105642801 289156543 16641823 906214903 848515117 274407559 513687523 562071205 114956103 417587659 912657919 688515867 550925819 476381505 679758755 798701793 115706995 107486591 990329389 204891875 996954749 418751751 337937185 416012409 335573649 407198531 332955431 785071195 133108427 106418563 521545493 820096435 195988471 240370177 635468005 799669515 283258497 482404063 120053437 139864923 56074627 546893091 534067171 54757631 158238137 853478851 314761679 472918715 656826507 586199701 323730713 220136127 827395339 859463515 751505543 710786463 340566253 747288767 60622337 373731159 138170257 748880209 611404189 373362253 397517569 927022729 843504791 721125967 785712361 949224397 401679951 763997585 342156193 66333027 425175891 894991281 156740903 133485435 653799509 999836341 861393447 496161073 33274159 289318921 609520363 698883461 504955367 304699267 614715501 23195743 406866855 221662303 933513547 367158163 705627073 647365189 599446733 387921369 635593393 598745151 768777185 366771665 965975837 258935237 566771233 4650247 384773837 983546801 433963721 620163305 206138293 968409419 722325443 5216723 291200239 630771521 857403037 500972549 451103681 304477861 512432525 708478119 864748693 286918135 435279989 7370957 458897407 446023195 463443931 731344495 665466807 893179743 167593453 787764589 861031845 739490935 522783619 722426515 917430481 81317249 432507677 347375759 875595887 111770881 404517347 817769725 365176027 261549799 792845473 363722075 40557207 681543047 947850963 447825943 377345871 441765021 679290771 651271549 118026967 286708305 443085483 294756555 6599719 631855661 195730827 704178975 435953767 935621671 537729097 228050565 491022815 302799263 6135461 647294187 510710533 629150295 40746245 393591595 884107633 127850877 706297209 269699593 403822823 331077799 122814137 24721707 750431827 531817683 498773795 946866725 529772745 112999267 950043583 326405485 651498115 975061289 192993595 198342505 724852709 215964503 145718513 155923293 701759609 684441739 697977309 172972157 93933043 403589065 599879081 997576929 79851825 979894657 835055011 959014029 249298225 894874245 131881923 263711335 919660065 153764117 325607845 744104259 497579605 995033045 315416469 746135255 702815561 999831763 760661887 470605511 18855069 30125189 987762683 412925339 681452317 649327813 387513161 896818629 860641727 693873115 140157521 437961375 308212891 464063859 222850463 480819047 718198773 799313827 933451885 78518345 820621115 237271015 512211355 566057303 119009277 564746791 806172845 617875335 491816183 107257261 699675349 499029949 73236239 612527153 70597609 877337025 583113803 514033357 990894441 283802437 670329059 281720075 477335419 684035297 763097135 933633491 388054511 523658009 910759349 389750909 813173565 53740371 945237535 59817415 889652611 413971681 352478271 223936213 216467849 899290109 90952723 904896053 756897213 519745737 524549563 117414107 65911609 614152269 418495621 605621029 215492793 328202107 524518883 123660761 879042471 26477611 300008559 305576739 684595982 431259679 370259695 289067415 513850541 592379393 633049421 140136759 589982173 387306081 84439451 550258787 571663525 813964987 60540695 635171051 669977271 674589291 169175329 177743109 742127211 245273535 643102791 88185931 111366077 379122407 566164283 708221637 392496981 425709307 225518553 388926433 930114947 138768125 31342115 279884657 471671105 508701399 740313925 632989875 914992425 519792728 505087635 346511183 501499013 281368637 862807687 608553553 157637189 212174629 784489923 964871981 791185407 194064537 674043925 598368959 896335089 876519945 259801967 978053713 758789895 28953041 293718253 651202701 884372939 139449393 904106963 52982407 122966901 685248083 786334857 142153919 557452263 581472071 7722403 205413401 494881703 480958727 108123871 680161507 951595749 594686325 611384863 67139539 151873653 675605847 913462893 392476931 205838043 34239843 171917055 757643003 480275257 760833327 885552685 927601063 239269987 893364285 669604475 41309021 322438095 285757173 283912087 605713881 652748441 981030827 662982479 357928771 772613773 509327767 999177381 892051237 29100823 171393499 528261815 694158199 866736207 450729085 399830993 514690965 529030133 159950707 866674279 774855491 566148207 851599249 232456727 208508337 408791503 981744029 316615839 189488753 141317833 261543743 759141615 28598403 876603325 168934407 858773527 139519307 710889395 34687087 505789523 782884247 2467675 642168535 315405831 231807131 154117643 48594057 408375487 719128309 298969795 396308153 620892714 307680681 648924457 84823931 760495403 96518951 626591885 825425109 517224637 784819267 51501287 116078511 797441809 148838201 337935315 192964311 203881591 850516145 324156829 895885835 170953837 170036917 293484083 682799337 424940179 194353085 885133865 117570045 63207863 171633059 737545667 839932341 819333321 627005103 588425699 737817965 541183465 274263693 295749917 621079139 740827991 196652885 736647845 579187909 195908223 407210623 417141597 356534943 198914291 536924149 230348491 455283439 596300655 576759043 553074717 180437139 819183833 367252829 675916587 88004439 207999801 222094881 827283829 113865449 385250499 494500051 831393057 467465187 273762001 904186467 108327935 988232393 683047657 890275875 955735689 373757697 569148341 607472853 798776537 527197151 428237321 134328217 993037753 468016025 905235423 394222847 662749593 883896915 636939609 513127419 846952335 797602069 38312389 94189291 434672729 646217425 160616597 652709525 53749089 253648737 499796581 931566885 654562229 335762051 7952375 145201457 74878733 118003941 60557623 214731447 220343495 774754067 932667449 919972891 485571307 266162827 360070711 21245737 18701095 162762411 914359957 281355801 572566485 118929853 251557341 908980869 562142961 83842547 35061955 873708663 320141091 622849637 734309667 598776151 640950973 779163157 766693119 637895423 338821299 703199469 457635717 372401321 373305767 488732351 381208069 364094971 604127455 136606785 655571195 876596225 820688201 558270487 622136587 464819763 49370237 605884361 339788799 943509871 703713723 318813385 765403595 360588021 986525417 469830511 618001291 836903287 350588823 306087423 21346435 600260617 773656573 566846367 146396443 484998439 432845307 617595745 782392297 112923577 942497813 964355391 765931177 844228105 585091707 480038683 471606587 280399055 468888071 243826109 950547115 145801253 443773239 532083159 74459183 524977299 239650097 495480064 461459487 128586247 591894725 286557373 21303041 423450835 521586025 418090357 154381437 864197303 339700287 704875897 907303017 138260949 92954893 143096323 797240769 570009535 306381635 778037813 567215525 596477543 474327797 834837527 226965091 653773611 843738597 571898265 902616683 709991375 859821178 976044439 556161885 980091267 598250693 464661203 198899961 486743003 297421177 42701041 852898345 879582675 128966391 809586057 150659077 944653521 793476681 326084879 555178179 466765731 419401755 418231269 911012041 670818175 923212741 815021911 931503011 827880191 702186055 447577235 143897347 494423851 959568199 460406709 577980869 606400111 315379735 79789759 495552235 569431457 357579433 547892885 165727905 805664511 541546659 142562317 633260857 116100395 217451079 117666527 848479793 196902455 728515461 697821869 342546729 708568723 594548983 743428093 954760943 252385825 150618843 635620677 148809845 538322725 247741463 321172443 329338839 291472201 963221819 561857793 386623831 710713511 337412477 238720735 926686817 123260089 613275071 574686601 793716361 401482085 961232263 85373943 965366921 712712695 773043202 277616905 96706371 763168297 300920077 398634635 519666885 636340499 423078945 944391723 361884483 788655163 387350889 910216325 342783509 982066321 582746801 316903449 818582207 351336297 935778931 38870097 168787949 146588545 118547663 515474555 230564467 255243771 603205257 628306133 836310603 745912679 496086035 607270271 142515097 301265595 666182277 305951103 79266215 66140753 482040985 81435593 641645545 980207859 459733437 650613303 551727867 839922377 586667259 186088073 522192289 273935467 326357005 781017959 24423363 723555287 336302673 202265445 443744119 671539569 381580239 272761339 122368503 287252743 17903159 79389833 129945767 14134477 377377247 855090521 952063507 646180959 278542533 907137181 670961899 715609543 602564499 762806127 283889933 455643759 737405079 851356367 941871229 75181613 771689159 298010789 942221923 533234237 643394757 65077957 858712085 52753477 284377559 888304101 406301199 839831891 204432107 135092393 500650225 573624539 542086043 327814299 28779655 80139709 458531107 262362921 283044551 723984699 23021421 855205549 736213195 71266819 427556869 641236843 727513555 674077995 72771365 9698953 667685455 577044273 513783981 588897051 403993295 195161335 366245665 893907223 72688401 494668495 274622131 995995233 372393205 712936811 910215737 215674817 529436041 974755559 262018099 671347689 496995839 611363789 938293703 560866931 933042353 270486021 997397959 41055965 743411749 377054185 23429541 85530003 500097541 676301619 630429319 206974183 948376611 48997897 98768431 374602767 178470781 25233913 356016653 379906607 901954355 611672823 702908987 176245071 588369299 57475169 668729973 130172769 371364111 140425213 6611749 978347327 632197443 946039031 376324185 924754343 871618033 853568741 301874889 283554885 104453637 721149635 503651027 363184297 668469905 332329977 536652669 866395471 259876307 565008209 370484603 126138003 188875821 468016129 293485087 242407363 801320233 30999721 829957227 549330447 497072763 849238091 536229895 518377361 336489215 577741143 918875199 247095367 9701815 871590559 612656397 750270237 996440783 599264867 912636433 877768931 294863515 630660935 459814799 885104467 498197653 389589847 884151161 787677711 986939489 834692363 794102885 357354399 762246857 343478335 451314323 452711029 495136449 701905721 771849961 844274665 925295205 118529956 597834231 425224509 64256503 644990361 479687413 60582043 623727845 387547281 125787329 675830291 739120319 200948851 936696035 469030047 984098369 164872333 449621643 276704033 320478799 787997843 909658511 595041121 727905011 891536805 415620973 509658383 28109409 36920645 8975439 149769415 719414775 915774049 338920451 650938633 159539507 778129999 288782079 388549439 784667845 236524493 21651301 795461305 251335549 383634943 709483003 798173617 511601495 389616497 137112367 488659529 473366647 976323867 144508953 623770505 267365927 198411097 7768443 203830881 446657501 358513391 739629751 557684909 441370161 424360973 894201569 832053805 28994025 121848133 617276845 715167115 946696943 744036503 407797883 556431191 316486997 334359143 625755477 38515979 486557271 733118083 136996837 27330055 447433561 348106527 234253959 938695831 753640167 479727067 833187129 805448425 522608563 315133623 921591457 538468377 799668119 568197415 668192017 3203367 576714905 740025081 450410875 181990909 344462307 920980337 633155717 147086953 191046855 355535407 402759025 369177385 487422915 748914757 80054063 157643997 700171127 470598435 193678681 654131467 145749937 841834923 686874411 19952425 434174563 708944671 489876111 449576843 460264105 27281455 48645395 671245943 786602437 675190253 531148525 756300053 481102883 861468377 347080191 813239923 341952085 690444759 791467215 238886543 373800473 240805171 601738123 511437639 922837327 168327589 197764875 964126055 89601285 814893897 579428815 680967581 40734829 495392933 647059711 43498885 899296739 863424933 945216871 481247903 503748585 13615775 942323329 136380755 273691691 582043471 919770989 765641717 211287165 912050139 19392495 980949947 449201625 997644241 849208185 590137801 729958243 700276519 581431841 989000233 858837349 793453367 106521511 898518217 736390739 275070409 626045041 397004933 687863241 109824523 528195727 265417755 456295305 842843535 989155513 275983159 875091071 910870355 983193933 919641451 514549183 28626111 274335571 919977775 728366467 438647455 678947193 491615459 786008623 51540517 529515289 222982097 537938253 258888179 136280367 561845035 934744211 828991757 78913893 738856203 759957209 689357789 368265481 447879023 734321955 544849725 443633169 549039939 20352415 435404647 752082463 569452889 186437789 293802241 837434233 809109351 180481433 608508441 133665805 511397137 934217783 346728227 114784883 121309919 659688257 608956927 396907243 106794819 523550125 553217261 229557853 640264599 50069907 840235423 905876309 551871769 782464825 985893417 902485261 176481781 288762887 103261193 852295269 52496445 890002835 199488289 158972641 824034535 805465753 953483459 425675187 139765975 694151673 752642719 999973553 388199381 902895041 433576918 826299225 541407123 499237921 204125165 813301207 701009065 492655225 175002577 639206901 18490779 87912519 277873365 854706219 798008783 727755835 738729401 544176283 489943703 600570661 246753697 167399435 841438253 847063299 66111771 919372523 964584627 882811893 954946843 36490831 483493169 326703945 820725247 46074107 460337817 802390641 201367179 950246483 701618883 536214023 638886127 195521893 599407985 373982929 348115903 728879597 910069069 247512249 895813367 639515975 301316329 356251091 1130239 828392313 504437179 111375703 969894305 161040949 725635877 167682733 476047635 764607441 590941043 516659293 371891445 64017485 740833493 598553371 804294473 373220433 858336355 634164929 786941821 87092777 989716255 769599319 702857063 768783055 518970611 385576451 11996229 275682019 878753199 941279769 109638075 893180329 677880845 158865943 935429333 902273555 708851375 50581151 694381835 171836855 375246621 855169915 82850105 598365139 858766535 98649247 426076325 561441873 893959689 420278567 150341625 684026561 928078115 350555220 354643535 723986261 226033983 237165205 512564769 462566385 476410733 136081531 948148309 726968603 534876583 321279937 35338553 140936451 922394575 511082059 12557185 246459517 229632683 110774563 493793613 999283213 564408561 906065277 287356189 690069717 416322615 418581429 507495653 539920297 508995071 467771471 486398709 124358141 763212465 914271987 944172811 825702643 647621281 71887735 890580815 507377233 74468103 965065429 699193163 601972613 617419013 28644913 85745911 101668007 942509729 342843861 701772205 12454775 6545873 259184183 211851063 972978779 967161707 197701871 297653949 454180709 45847599 102666691 758762969 249062729 407857099 524177819 979749763 174301287 395503053 519963533 971329829 832945607 385904303 639073747 529649547 151041049 296332497 717444817 199821289 310058163 666643327 69617171 43521757 91311765 539920359 279054155 351422829 370061157 569302053 690909523 32733701 928458867 560021047 593429297 235369339 720753589 677117707 598429453 821424139 814100685 555891567 445408063 327418461 243033089 245883675 226161469 485586555 663410497 74774453 147541677 709746395 431814433 694276545 911694939 354050397 580962789 349788595 807880505 159421507 112883823 547453669 363399009 151999803 328385875 887079575 467618073 419936347 238348229 404057841 340710347 475679521 715612839 992251399 428936457 61881713 763058557 583780559 742316945 401767575 638556027 46605869 500799555 548490827 493806195 497712619 472639789 660629417 10224103 187060151 241492097 776219191 552695293 515588651 579643803 771654879 610254981 213206475 484221437 529231611 698779639 250061309 718056019 176479045 816698483 667958293 988358511 554253539 597357757 109902921 287304527 238255203 970523975 887246013 311602709 584966331 510860581 72396411 620605195 993037893 435215643 944654961 825212837 272800713 332370061 476135545 809843839 131579763 562323083 621569623 771769435 892915673 207281357 373007025 857580837 639333113 450247857 146722329 779553009 944010549 493315647 629200907 174290679 970974815 148563237 719993317 250986143 642424999 893443515 239593969 99576433 885633967 681415683 662889057 677360419 467451257 57558687 67678797 940039821 813115765 331422691 631774393 749537971 15623029 953879747 140632971 784867521 925502649 907078113 281030805 581070859 990942437 504751747 9062033 781072139 922469639 339914135 817890849 460298853 295699091 400086197 309161165 79472099 378631783 368456989 965126663 663889275 318202825 808169653 35941927 526762565 838117221 745603853 162319729 401578885 795698769 631619165 394670859 165369257 835884809 885589637 769810951 773507393 469992053 104768009 693977183 897847817 981189343 242751769 420958197 494115301 243312381 925005455 139089297 771284959 929000175 918972649 732666341 83239213 668993847 796581709 819249801 17656359 874683331 809732747 31774463 161772883 709021931 641779225 876774321 371524187 796304487 50763545 415719151 53858065 189519457 99764561 965022195 890870897 543267941 174112815 137332703 222744991 700679783 498731981 203201211 462564071 933622213 617768935 742237817 920917691 191999043 564576487 220469233 616263861 826729233 187801817 231882725 389704347 947289027 873963641 494778879 921658711 198060373 137017377 404405711 604241403 278575405 94226141 180913103 618179779 291620889 286477145 900319327 257511957 912923981 497846509 638646475 774942585 389796713 37649049 987174979 703054499 546867055 896735235 133176543 131747949 960152013 249299067 218744993 788409309 880235353 549453817 714253425 808311581 627004495 887141917 831164195 458566783 363946327 240818987 749164655 204273025 365793915 104036627 150498807 130774981 20517939 624519791 822191683 329605653 775123547 718646653 940111299 821512037 749066039 978207523 422706131 505026511 222154359 110439409 654115763 47181721 375913005 73600285 826885515 409580079 662355416 972275081 761163119 608879903 545891167 58890427 669644375 276414761 23568397 290047457 722249509 162285871 399144855 837850837 98028447 25019195 102120219 836096275 770486139 297949057 990471199 122213571 170837325 287592797 968508303 1995703 726710683 768802897 962187969 678218851 592430029 584235273 204306545 353841897 395118899 272614489 767105991 342459405 401177093 966493243 251001677 582001217 465159785 420176595 366559739 800711835 536058211 741561707 777906219 577368027 456609767 70654329 480153253 191147881 550817743 907327893 589277591 810086481 457563355 234977411 157293971 782576205 617322931 834352687 396356249 831739579 619158763 720539821 808661773 119421347 287607291 791487801 670179003 90784949 672282691 626481459 12967899 711670341 929060365 538799911 245741577 651157079 937779597 413935049 520150347 609392015 8785367 218736375 170691341 431956541 516638193 483305647 969979683 528219479 734533057 430553633 930940621 358075775 781516571 781121181 288954801 359468539 164968629 62380191 364387033 865838009 339684659 507101387 707816379 4005971 958917151 132049645 846836533 54082821 830455527 518411511 570427533 2564023 49300965 38118915 568321137 80543227 319079261 540024663 662103539 257453573 624422517 134444379 609899921 103872951 232119873 21293223 47734323 92075925 415757495 964691697 722600995 259702225 666115515 948610591 609597977 36927297 965710869 77601085 851754545 10244709 354079863 990858621 543681775 179317859 668054651 973093177 399454275 47309835 493247903 149292791 98150527 289530069 234649681 113862241 773628259 981914593 228291293 520180555 166141205 397957363 527900799 510014637 825354013 219918715 472225369 798337454 331423607 63061395 844588659 560816281 532217211 965892343 887584447 201291743 88447217 503007249 185600023 618229019 385630981 87265007 546705209 335542803 325832523 651296329 448344017 525496753 889891525 956583549 146497903 397559049 672197331 773197969 667548815 152257109 959611975 430294329 318520719 810288631 753325137 549656519 512360889 980256637 442904467 933021501 412842557 956652185 946277647 390229827 521279801 253789223 946115379 844033317 73927337 632322857 98561751 48316637 36704121 49309133 562635827 84340235 206058105 654433 598233585 911602419 489327459 253793893 854012445 111392647 826939865 535608187 7514923 157234781 226481762 276626029 320302841 600648629 162441587 476104241 472847821 676465781 47160929 173032159 350287697 61030701 621470831 555158715 384635807 228870421 75888071 422951729 900885041 733182731 170522233 231646165 228999407 600635031 978491263 528754529 174425891 514626281 948552123 538749113 878497923 552200663 151063797 316828135 299115567 248140511 372896989 763109153 937009065 761796139 671815183 691601855 929401311 359360905 166822669 220259143 629388839 106591087 861334843 494706785 438058301 474269183 194896367 971574755 567030857 202156543 428994401 948478407 899012567 300632029 254119859 358460465 380391129 262864049 705097197 791755885 498686897 789324093 733242111 53165035 371502883 15705315 852147909 371163979 642052953 78976695 773570303 187392331 344829677 479415405 721782359 916686811 231507417 271251813 882861405 33044235 241222787 988555689 90711435 418898969 423919289 875469539 301213761 952029797 376068783 631866735 379748811 441567868 458445315 512859467 397677143 865306385 339321531 796269853 370779905 790799873 703804994 674862391 809042121 776979789 282302065 557149835 715443097 251112991 129522307 443314621 694692673 51434447 693798939 344200723 513271929 701061843 397490761 46507133 766881255 377872339 4738691 164498577 435156751 513286295 556509093 138400141 482360679 438680849 418658035 903162715 424965955 972487265 531707675 639535497 151135465 146181575 530716981 898565709 824848769 11203503 933245881 40401801 288014875 895870635 566114193 680342467 444565679 22231673 436989193 509250857 783748387 39703291 611736789 219914387 889798715 16199483 963648787 817288321 431771819 76622445 266627657 124399131 925859341 849995501 965981283 879028269 435195873 64257341 761515445 37494321 759705231 428801801 933039617 570033991 581933675 913261603 998329191 717018931 425861803 505004425 281605495 196831591 880768629 508944989 874491941 38875641 505609677 47792361 261962961 476150953 673395367 829374881 534484285 194035165 456650205 594950176 195224727 784245157 139102765 856984109 443505269 31832249 856150853 142439085 469300693 351448439 178243761 148236983 3162139 529625831 286273775 16410245 300958227 680355767 392514653 808063099 453922549 405728577 876766277 991909411 240059741 658814081 571893209 841177393 482112591 696526625 209966387 525919873 665673787 199891567 643366993 714712343 440649717 519902817 876598815 78554395 300121529 741971609 617480047 86741731 266894381 178509149 373002231 281589225 216951135 213768347 539745115 793669584 970658243 457112810 706490917 72756071 210121015 591500941 768352963 753702811 352398849 891872873 40640655 405241997 806339533 262622475 775370955 846779003 197665457 769017772 408551843 177833685 731840555 922313007 438262051 897061675 662052893 476250389 913245255 908863545 221520343 702162577 494908401 441096931 523881743 631375225 645438953 453645621 753994977 773461835 141371873 598776161 646185681 725417009 538678897 496965313 291092429 450424315 207228957 657008859 583070509 439265051 727709259 385771097 555548075 830364085 375218253 631685133 968850029 767889551 634305629 885127155 910261759 716516889 455796893 534787121 99591513 198880615 497087509 111575053 11021527 730635581 337337783 666105087 66376511 8828159 923246427 483736481 751750333 543393211 191059651 39720117 350167527 165652781 13899929 80759847 479248569 119448751 476457327 650322953 689477529 258018893 676271803 510539673 360127063 502055859 672774113 425308727 340728099 112896825 758761767 993211505 62261149 19357407 471190723 835302649 163791821 321447757 657369035 196017579 618934043 389581007 739587905 396444809 857462111 691023967 184063247 62528191 924548567 660968605 510600453 571372961 997617189 759992525 610140125 854752167 229982555 13188065 657996345 988218745 482106603 186192239 584777121 694535903 648586675 28222133 866699141 151044045 80316151 710678429 800186433 806483295 409139559 457833397 827834903 329062103 29202455 857027893 240736811 403233443 497095555 832265723 8937363 682002257 891384977 943454351 533377607 969999009 501429647 513926945 204839977 292476021 22014257 654485125 827909121 742471639 327728533 720582461 307104895 747149309 54936385 23596657 591527231 622503231 452001825 854920431 64238529 209063969 747072651 168188461 152351855 302455887 403326525 108758861 98474393 464483229 366125401 735859733 467983479 257832709 360330609 836648947 628136495 67897259 378744949 913736959 792540359 714719707 848578503 730760441 225516079 383463429 606192937 808299079 944867651 558937031 967371723 295352571 734449859 10506469 600737087 51348425 212884055 140137543 822378117 484360977 642619283 312674565 736061697 626355675 932394735 804845397 933729153 40104663 241866955 642930589 550146361 61626203 347545715 764521319 369725127 70394471 616901909 615198313 349754673 974240161 232863949 688370043 386414307 548777561 451365275 336655267 318697649 552292485 373152871 351777035 154129117 870808519 519558661 709782021 666384903 29025893 162691115 944335885 373220927 623875151 790429311 5058761 371252219 75033113 37052293 308452095 805405973 849849349 45603761 784180135 980799957 203059963 528139357 528014043 383496681 242865033 638227145 694903005 968067427 882627301 698113821 170718999 476350915 719036401 949724525 805021473 275870955 547607089 475392687 166015409 133606957 46565079 25748937 247166895 992722235 83040699 135197823 410479395 800909107 323213401 330146437 306570305 309737369 800841433 129381493 517640291 890887517 8204555 988510925 515614991 258898387 537633127 290217721 763671279 785837495 39455245 402382923 519077079 147881519 216104385 74699513 187156159 153905609 352449779 559774505 616782543 388871545 393789117 667399647 800256079 251482015 77013469 538698767 342651059 316002045 138176953 923871633 226914455 290313153 600877409 720067625 853062333 169970817 173643405 625847933 112812305 357027129 941098651 626626847 824290727 113293905 107295633 478553995 441068473 756954003 935814947 448501023 401747627 317591351 635809187 711259685 728733447 275607769 488290069 454851791 317755265 753510013 260178971 491466293 502830069 424644499 9078025 715323739 195159653 803891693 533976787 497993255 601424895 90698955 594660891 536876651 78191121 393169361 981286949 356006625 508338459 910873101 921457123 268636715 853816255 126626547 147627757 632079313 684843465 45450593 293251711 774036805 479347497 584393885 671221889 498139873 826786557 184455507 255111299 934204643 106271369 66223767 28955837 904343159 165363765 373038315 779443981 163419821 204267159 120473391 411649021 360331135 236178281 886422451 737991095 578996431 209894031 194089773 636733207 612722533 350527765 908987831 913682587 96860659 69378603 775489499 941052777 160942609 774446641 465483137 840664145 754404673 435851685 356665089 309900489 619059181 531001399 923889689 87754739 696692325 663633335 180245229 128461205 789533669 189864737 751674121 426047773 676594057 446929819 183968357 230530725 798752607 660320619 550067805 235592169 127649111 229942025 140011703 820032851 759034953 700652047 895891103 149900527 115837687 521059389 139724201 49216889 690118411 372720771 557293269 261856587 29878293 758432753 736105353 902201201 928949391 400300741 717830799 94977175 761562329 965392223 678557981 55741973 866571839 703038285 952648145 707551979 56759281 307295809 504942513 207111871 116743 128752919 276985129 566008033 778679427 485776079 486156559 885292361 162602575 434256793 299098017 695727511 483504187 402545095 526917507 805448719 169131521 477691091 143381185 629948577 247915841 229682271 362554323 317711847 370402951 42571577 239391891 47929887 970005569 186898003 343598923 243094063 371793355 36621257 255362467 452177063 498831461 292590557 701766581 412579517 895728697 126380539 527437563 406248275 455605079 704274871 464711515 450488303 420750519 517884873 70950435 485529023 834192703 396144921 214407943 670700189 132684979 511121327 555452709 603549189 29127369 476573631 852642819 840195615 188317719 566554789 577732749 698413757 528210205 242774501 202706969 515468371 264162633 73369127 549497699 121882371 518107625 107960897 450751889 727355793 433440567 185925165 860554035 567514735 189906259 641057805 573811513 166408371 785986887 347109169 988411397 676096285 543452167 493862151 203822169 863914259 49523047 880136749 812156515 323467175 325918509 366916965 201520315 559327885 767716353 87616669 623613273 984504101 26945137 65268197 403727015 61642103 188723195 2330745 116312689 5421363 397088253 177619901 639453419 437489325 406537411 941098555 190851507 321858537 300106363 385919657 20770509 564057995 130698815 948592863 240115113 341329379 250454291 456707811 100957723 933486055 631470813 611550173 4227935 290390585 847539057 80043299 166195995 677084191 668970375 37668657 270617181 980088455 629828031 707457191 838116507 901258507 486405027 662168913 330421935 118323431 982479013 658599205 522294241 394750979 909996319 677898555 211985629 33550321 513128783 924651737 352977081 553808101 404310113 832945769 275527667 87495873 295413607 85257853 32334191 227282953 40332887 118382801 531931513 831807215 390607637 194477387 103398601 235777609 94584939 684289779 973622139 863613079 794780935 377693435 728924691 935980799 386889347 847991747 96350337 693995601 166748771 94399435 12229911 813616645 803065613 28315839 416601493 389773113 342270675 70886001 444384799 941689783 903184113 29960671 475870275 115108585 874404483 167519785 832620533 494961899 902518681 313138589 4851347 161976185 268598301 865833645 124724707 776869117 52713711 960369397 75663121 322389893 131337419 73399351 974111667 967890889 955562333 15988063 422510789 624705573 955506743 980254591 979558831 697515941 515099599 665522389 174996283 916886261 142648969 445120963 57092769 161660783 282803629 800424403 720189051 673993231 457185389 214381753 834601939 502609023 17862369 574427985 107609361 671573515 741737739 330664605 37730061 4620973 557187029 990898377 612583941 475840005 325376015 777224745 928994973 383864919 507718517 346479159 649192675 461955477 107387811 436039317 198953291 394432597 595034919 383269907 956439475 182661847 831509105 420520863 416895583 308375553 630386393 535886679 188077311 836491875 163197857 281101693 754978215 205863733 227526387 408823679 939949011 659929941 463942367 192798955 452478313 405682763 223315039 342023811 25586615 700536135 527497813 774529827 450542195 889592863 835285641 478474461 615178423 303643729 606209197 349263839 669788171 409266183 255502169 565299591 972980571 202923279 319801103 673132377 53311487 541866975 870905143 919703549 799384751 242799257 661200679 292746313 426760341 855083523 231589651 330494521 111551035 354003083 8799517 673320941 381496473 780301129 251561041 949967025 241914379 810785021 494937501 480679419 103317845 922684175 684197085 763102307 234036391 988266635 270000081 270663855 874825365 493334829 804953379 719177927 418193691 763286095 556471651 424279747 963028639 129778683 294451723 496749529 99373807 172756961 413348987 146698607 869782591 956876375 202386687 323270161 49691693 325274973 545799621 311204977 48288959 966742425 969976297 930538601 486613345 818480475 575238251 303975423 9027561 852604827 4540213 457807965 762581907 459615479 641837591 831882965 473372679 999848631 673702859 107122661 612589647 72352715 820387569 402647085 986301923 4160457 844565267 185507707 808901020 132572143 916895141 611241409 425645253 154556967 711826173 693880345 798335497 410463231 972844891 130600393 291724411 875525549 826300909 589601083 769751195 945001235 526344129 777831683 507940685 117718199 5441231 83140827 841802975 618554055 761789693 488048805 126880773 825219611 279200527 696342383 800354525 422333747 271567801 376349291 566170091 721889590 597500053 494854645 36103455 657586419 208061731 24862863 527283917 786160096 734051275 338471396 344657073 171921697 127012065 693728203 92540147 456716919 997609373 477950779 597045021 447885141 836211999 230708567 217450277 557619665 319907185 630370415 434848875 674188203 645211269 756118769 651134641 511959881 697644853 866381435 723787557 171369659 266746431 500109519 649245533 386043577 243235153 732215513 49480791 608165281 322903543 543269293 525743477 928621179 256196783 581844357 77833097 749672437 504349655 711596741 405844933 756048745 411651257 398427895 466562759 936828371 209646215 173184465 779031955 152176861 229007195 691473451 130467993 789129685 734956339 247989513 450663595 119582385 546035453 215259801 693334537 402950931 969277317 303393067 105465687 893629761 961699465 4570171 453084835 545891113 160465319 30904173 996735075 988905315 635181417 607617419 702998129 114368047 548753473 502492555 98939157 579796597 339078535 439809925 387563003 274436289 572497535 781260735 55366457 182868045 357292879 12248481 130187339 121894905 479352329 827490497 435551513 356677449 162627495 74319835 421182189 706789231 170779403 868889039 133149567 341495361 527340541 734926505 418447849 497606973 854004783 912805023 197825973 728135309 308605499 5408011 838278603 145335807 204035743 771084653 559696259 969903115 597743815 795017845 159219611 430763215 7169027 646239475 506066231 19143443 676135567 299091685 41170149 447992647 984162951 78975083 801936281 683008127 397033721 735455955 753287601 747888511 192296149 632888719 1595379 372801449 85837811 364425017 852237963 814111249 382136343 411434647 730951693 330270829 950728679 590929811 762940539 594216985 151095285 929345087 885403701 444151585 19666875 695149017 530816779 625414449 269056667 242573251 544523571 738559649 492340445 27574919 566747719 277734257 846971057 274500313 541444175 437082185 970519347 904235667 956785337 685753205 736642405 888058299 881449303 96701423 705098027 802671995 355230567 157439575 218028125 60077351 51861649 567433201 751775151 439416121 500077537 825307055 334813123 761736275 683188427 787322151 729560613 839939653 737676331 778209175 417835077 919149821 678934347 338619113 7430779 258090905 911050453 737911467 119195401 449424731 916428765 971840277 521916183 197931695 722985187 515409925 333952443 3177001 598687435 584229379 903324903 236213123 139019747 57186621 880525955 941537439 512411361 192834701 259229013 757344397 218268639 825852527 53725197 608904315 910630245 965182477 9030727 885479623 458200415 528987701 302356355 786195955 517876259 835893853 878465067 54838189 722499437 984394151 139296399 720612293 631043429 959710167 468056553 702066487 158713237 232862305 934004057 214392615 743290357 812809559 63493867 328062431 211313121 81318011 609763981 35136469 510147869 650445363 200282907 167109793 437780697 508726929 954112341 934355463 231593639 204018761 454121187 624966901 270200711 631541179 211026777 570498171 853561053 405367791 205575471 709581013 621541751 452307861 800670917 242639975 905778313 920194563 155480423 998674109 245896369 557654583 232754755 288763273 137859827 331752411 893609333 715910053 498803135 236305471 338235645 334105111 903193577 92888917 974149059 119113479 520513965 205669057 156019355 101905099 169150899 578786505 50576701 844552927 230668805 351023451 545158985 131698915 333942553 199014161 432741193 41982373 126578383 797858343 995665841 819242007 269493097 541844359 89415637 110147155 703492757 79899583 355954939 711905439 923062379 139434501 325330761 48555621 946085475 827042619 182897363 663773495 892199015 72086245 655511697 139706323 162474435 954753589 296047459 783934233 496786987 410247427 510855955 521079575 56411837 122952393 373684563 934411775 786520317 901376949 1301181 386422061 588063707 105161105 547925967 819685411 162798761 875349207 120474103 641980813 264363559 509332391 847713921 700166205 330539387 550996677 650069931 229307441 404222767 329347745 311366035 971109769 824730681 155347541 43299651 410069907 275468023 667946143 481573805 239195587 245089327 97707749 110951593 931568303 487180813 556640311 217243131 286756641 822161703 378524237 444027977 164772607 290638715 367911557 324178983 849701469 947085163 911119589 905447691 947333753 565410505 123941665 442113625 187808949 250425287 751227787 516765785 324040091 537569281 864011303 735620413 346324447 76550017 717839767 281158173 194681181 804730799 743248943 428397565 960120857 541478501 116401891 386464451 938810683 553087709 882379861 238832705 938306585 432319677 900258249 970686259 737272621 209409297 780626481 775646263 275546395 82548049 535513891 301674199 112224685 735877211 582007775 673126531 423493337 427004783 698763853 756483481 983056311 120138047 300649977 713310805 864838027 12371167 405489949 999002083 469837507 253380299 244678551 782491475 141915631 918380011 902003697 108869793 552789195 620512393 808269909 631890857 784782651 660211037 250124191 264612665 29055561 358536833 713188429 74399745 887247659 685673085 747324293 182889881 829543481 556777279 158061079 8802691 795618297 300159769 437597049 669207081 248225299 276725707 282964173 634912221 257621087 607105911 99796953 35962325 228361171 727636911 792115211 245897011 988012949 976356965 129263485 112305667 572586481 948220663 675475947 631614005 915762519 815847721 914078143 956093089 489442663 108209707 240835845 561807881 307316192 990296465 778510969 756029463 95375791 509205079 456897653 585719899 255348713 285734883 11005445 691545423 68410053 671300355 37616597 794176853 715112107 139361517 398720317 751884211 451572513 415292987 33331517 621570463 436190175 443955189 880606075 478299439 831515071 898141831 484581703 658623077 414089155 264622279 312893593 183549995 994613271 656785651 263886095 471122257 561059597 496683949 337673971 440172945 658127395 858103047 620089391 816047243 243793657 539049329 657321823 136185547 891199581 536517837 862439105 503143103 16491329 209825631 324263737 859385283 349942209 596152529 139726171 738344215 992969759 599459133 4168797 908197605 29644231 306581533 323862813 321507133 357140557 42081623 734697251 154532633 662601323 175766071 528101789 501179225 404314883 406825079 185198691 252234185 297665061 470068015 860979959 251389463 841619455 84711397 576394107 603900639 418087919 187133321 175499203 434537633 702057335 865967471 970197571 279287493 752045378 232135765 875020061 10721439 236507687 473236829 67623701 704236647 948292125 247683863 682998941 11524157 822761801 883160697 893199051 88283947 208068853 513668061 205722719 395187749 138047125 733607437 915663551 122103551 701041349 288486705 613738237 676626815 892684361 892670945 61171405 380596301 832287497 226610203 469611919 663990775 431581467 744913987 82299211 537652219 361957817 120405031 523373487 937569207 493946439 616003065 506398485 902471543 873653585 879925595 1060731 390511465 635330951 152069713 905699719 225044135 586235593 906628679 654472585 520681013 188957973 665230099 75992695 728663033 226266011 28128241 407309555 134241735 420188587 725890183 223366723 954320983 351686081 917087203 933324117 289763913 104257665 799022457 707558849 817182503 907196855 272479785 874779849 927426659 915322707 847428404 101505615 296061527 30837 186228043 237799399 264627009 550556763 697047425 112097221 662565967 556964725 431362645 594922955 702595213 543514195 592907945 700150397 724178937 895562931 512927439 88135693 966826097 95964277 192136055 33202513 330838719 100347559 194027715 798884553 904464277 212384379 307787575 683571099 978674827 895572555 118507197 590696599 975651621 180997277 172688815 788747061 806002121 259898139 45059527 456098963 354618569 130523031 730209579 470848633 329849697 553858319 730349929 712150103 796257455 568837283 455342709 918542403 241876669 708267169 91319213 714604539 647013757 331445627 442673367 586402793 524936647 739762381 945806111 718370843 755156573 979407961 24140315 608016201 992771817 354639627 691061959 222196687 340113661 528989687 144578187 623854777 359568143 146410325 556169265 612909747 971636099 115494797 951987951 811702039 37018017 476961319 932543333 32646369 168243867 648288983 400608917 162761657 314617993 731756153 574296815 440701681 149556589 871798799 317363525 79554685 63608369 481809861 694528983 392756223 8290215 148579311 514615113 662674363 473201029 466160647 693503911 710957475 634865005 711861169 33509737 719089229 49343979 109915575 903093867 460044793 288967535 989330701 302336243 189563277 114070865 969360335 486254253 725695897 941904083 821756481 26940845 240355157 388509727 995179467 562244469 186042271 800482117 710910979 985720293 249996799 600238401 286151075 329710157 954806693 610825455 163534735 771288161 888462437 406374429 703367121 253203265 298569667 90482299 910303903 354864751 696034275 293801633 638291281 843008729 492722837 464158481 689271147 133420501 878045775 462610741 295131035 20664353 838957363 422196317 14240433 839430369 959917575 484585667 111335593 230028449 237149497 632899719 836578727 169975897 126233569 595195061 284355831 244105317 490610367 192328765 255464969 7696265 907235131 628179189 207810429 818445301 7458913 418936997 543930385 668209211 703856109 292947439 573073845 406789723 978019641 327234921 692117625 848207545 342584399 91662987 87935385 544681251 132082911 586218678 511829115 901473229 690529599 542203955 644010917 712133207 271295855 765826869 259420111 846953153 581698069 303900371 101464275 569401471 57799041 290312717 14264497 569557855 614186667 899700433 406115481 275060389 350429745 201280749 598130141 795034609 416097115 233650459 263845109 992010325 603096345 952217595 127735943 69916481 656697087 498813209 418222175 460211607 491889745 550624739 172609135 878132889 966113011 639244981 849305043 711646455 713677429 527429071 588890061 138757571 321841933 64822873 19108553 108802429 80569501 682240871 815845209 738712841 612774825 776517361 457936699 405252275 616780901 3682007 433713745 310529331 710947747 450807779 950165413 59063461 380364261 300275913 605378667 244266895 43474515 430304029 222035709 720545245 335160249 935096933 107447779 55793637 151182225 143933191 489457859 376351075 557724411 377414487 73679217 990836861 150200763 115524237 713272555 817147073 93063491 776860617 173174355 428968997 818361769 263482133 248344051 867800579 158256299 127513187 602695231 716895779 356100277 664209549 472721619 634221491 975540689 845358675 800536433 455602245 716671161 325311837 22104839 673651927 578103243 732692287 42275491 324740305 195635215 241546863 181472389 404728575 498715187 268636497 458479375 248893075 911979409 421498669 792762317 187068975 129966373 30278967 898727535 624223447 85959321 213050755 39781843 595814133 414419771 390593559 451038461 203159395 379377409 318277081 381518357 519174235 911986061 687860635 51872625 521316995 59316517 578442009 39331467 525731305 195600311 319149041 259484423 580030721 324582875 964029101 411626417 29242281 288451537 986601919 721312121 851573799 464612479 945118847 478051453 88448039 562926711 64946225 465067265 300237247 435003629 246418171 675273327 296441965 740092097 429196527 479173209 395084819 168728957 97573129 403313531 693507075 96562251 46073895 694138553 138052077 917092103 954365459 356877855 11244787 604594478 320959101 684671967 320315543 266618601 113311747 454346579 193954761 927953413 593391905 11317249 300311003 498972923 854490435 481417361 420735885 626893289 852852153 443623899 205326851 811787159 365171391 533604821 850540491 104050805 729370227 943044261 970906585 977651607 114337247 501469079 863535243 875143105 189017075 938557469 469799589 668704341 284384397 188008147 711238743 605184103 519391081 44696699 96141877 388059053 749336371 697439487 149069883 517677955 365651579 976138359 467022033 859819509 796679355 751619611 848059841 283639983 446518101 321023821 49080128 473543177 526243985 744509083 334980337 360654851 33484959 245972151 272878803 920026949 885247133 162043773 222191189 865072155 550297479 852730607 433212749 673291647 231979337 637510713 169008889 91803665 752515507 763579053 714812157 71448341 656797567 752508105 984662117 443360637 14505293 263094575 242704041 569446108 836118697 288992169 741002405 71853177 430719235 794550827 79709087 937121845 74976435 650149841 121452609 714716065 663532027 261188061 777764261 149395701 382776325 944717499 388444229 121624591 315020769 337681151 403423495 877063543 20367241 602227811 8693817 798624091 336741597 504489163 540910735 208074901 833030825 316303681 249279529 309930401 314255259 174869241 64422791 109732777 220585295 485092942 352714397 334980475 667124037 220536263 451178427 261167245 837159399 966700297 152622751 524132865 377848709 541136363 121750385 629363099 383439705 901195623 27777467 880279757 795162243 506822305 818947445 788107695 176894223 45802981 525534713 42395133 62771435 789923 297000721 386277919 158011123 283233145 57654757 500779557 371275239 759396139 577580559 542786761 310092657 347312545 755524231 449638501 369217823 705353713 223029431 502305795 36349807 760270935 348160875 170299987 396184767 248246579 677592535 867453611 684309083 816381969 391024793 823314441 532588401 968224935 910660279 91730455 968610333 506366413 402618525 219155491 419148383 283560585 27190561 691368997 950585119 381170949 806633599 4685755 136299825 546809747 907255647 387938605 852529229 625757615 206499787 218945641 473461779 440511229 931871289 598047241 527925517 858612297 849156233 747932745 97431471 744841861 93274365 61286419 760440141 595869645 206464835 461098485 691640109 978679393 675461489 419354405 638076789 728831409 592575237 448299653 465843769 273393999 905583587 516064153 230426225 944737778 108763479 20128659 454785789 836749957 558038809 852119112 212523431 705028875 840615493 733890363 258813985 769391549 865782369 838184593 643936005 963127797 770259543 506164247 835670737 558506805 384707457 225560135 435480307 109102121 483049113 447597375 471007415 82744229 269282501 492660681 225219675 737901985 721685651 960758863 312670205 682635845 212421881 224949229 642708647 711879896 522156625 216407393 886757195 741624529 753034595 528976401 893132739 274309321 211661915 916540685 109148620 927908739 515413967 798342157 335683605 522813675 902600637 774478445 768193325 818475285 143628423 728517177 480462987 139240763 591609343 354887455 172473235 380007615 411610709 490749811 741379725 651404849 479998763 228544823 491523499 991352383 182263939 390322963 3569671 639976135 255453133 432436053 110217375 891946443 476712155 149397235 255437151 598331511 887187181 507009167 908182039 116575775 260385703 727163245 116664195 666375997 706325527 961900159 24188481 599374453 117578161 917842779 814784987 350188947 430729555 937607489 461323715 297976455 293748291 382653465 840574033 911909487 230160173 63637359 831328199 397655183 395582759 201932157 701403471 282630991 444925101 10535969 541805049 704911173 367911079 263994339 6717889 458640939 654109535 21104371 27182723 384621029 878707595 52380199 883553549 985854847 892082507 123420157 337062927 570198569 319081249 630432670 427805985 50463811 495833339 286510043 648809415 313655883 371744047 158561833 803208293 309439473 225360763 777206183 437112659 365851397 26134019 455168541 252294597 130433667 224723541 951916793 875185885 824433553 307345509 653582421 146281127 422030965 494863249 386005485 807801107 175031207 182726557 323507243 936761081 243648703 932075961 396765979 57251611 343208835 434291575 17175927 50905379 467308253 956420057 607151519 852029601 797357023 586544191 743924889 419221519 688722631 308130681 196530963 951285711 8148981 627882171 508471909 579921193 945234679 846533797 404827023 757428045 348148095 789023287 266864183 694348375 92488295 865378277 753777581 107419207 40934069 535376511 259411433 127957511 499795603 5225539 187686537 456006759 868180565 404149721 923053013 146426657 854592371 727819083 430473661 759195093 735457685 54888209 318022359 595290383 612778371 27258631 724351329 488194877 732002353 945202033 973896773 534256571 400490939 287787007 863985681 153573321 727990371 459530947 258952701 216660369 113216405 716517181 595066599 944036131 305108707 752074577 339357271 567213945 111529227 728212557 484838267 251203443 612957935 833488357 48487467 505792221 55042713 789126455 214248425 617645925 336947773 217236425 955840727 690940327 559966007 413337735 346815689 30173731 599173897 625426631 454497331 913351233 615615585 722185029 714905399 330978645 218411021 600588585 945365145 731425687 338503693 315701501 167864011 580018471 854236803 83915705 940179683 373954833 106918585 750584759 755537825 834845251 649090597 933312447 562868331 163036825 969704799 157046783 356735571 616319953 856242987 666475273 683628299 964099225 697334135 68807389 40406521 630969215 192235091 401811935 654421791 15554555 196906235 569197019 577033773 585498481 456877779 314328329 869962109 750402091 410897509 1827077 509756685 734043735 680901735 189423061 415117187 969215761 124823729 481348325 39690543 716866903 117515591 971377673 343729415 517676823 486073175 687739009 325989805 34252829 157743153 829581299 754262119 814266151 963699793 671399785 359957539 885144275 571387997 535610969 726678136 268219563 523969051 464920993 676521131 592881185 99269507 703094407 24751259 278387087 750909357 965464505 165156317 255077171 907919839 695877705 542975652 892263483 450089603 45419189 654883027 309078963 53240875 173402597 779737329 842944409 17771667 495977507 56596267 132760523 408845729 232458791 665189465 744676627 684630107 776706061 810896123 363947043 408666617 609872473 136611383 105742483 734193365 412164859 261999325 602965991 541034353 812792901 477269093 729001093 304404342 918971383 252416493 343413951 229121727 639900213 786569021 56397777 394688063 821715597 630392773 258690777 50019103 788828403 442641819 53990369 268357543 867954887 311596669 345415899 504331339 774429129 528020181 26872479 516907173 635282221 450600113 34275825 639264891 402166401 536040135 558627447 140294327 238430921 992918905 439268803 976328301 374980965 764921293 31857743 71201239 729549607 531210353 578735741 571159383 369530687 301601471 539697045 164753019 157807695 740482995 921323721 208260343 249285977 190651637 349263409 218489249 917616331 140296663 435647951 953507203 105337725 630981709 745036429 703289539 523694503 413082105 506723645 620647351 555288051 773336863 909660565 901717975 614871149 334030257 843355961 506319051 76321673 395811909 346570417 963655515 51592997 396002075 612142701 244505725 256308103 892339993 497689545 788693065 219678297 949224143 489349639 466345731 582026165 272611701 321271627 475350551 245267221 310122473 774346157 284379929 192219233 142313907 224587809 282746051 126293219 455089667 496333193 721860601 227510353 754670765 613960113 131328711 917116361 377498421 656276553 800155997 223312083 67262911 308339689 278537497 326944855 842837019 423609619 430749567 543173037 227732159 382315825 778134327 981926801 185412045 14229395 687175447 510816555 416322571 876674163 666359577 47175943 9612263 896042481 156285283 954241047 789439609 187649305 167334715 681009853 837193857 288706267 604299801 77096381 586858343 479599375 226623637 995338049 323996215 285723511 51155317 570776035 96435371 933135035 226960545 479859101 950206499 714927983 89696303 466348757 279871139 992674058 938096987 835489625 395391452 572875505 638389637 953431389 554194471 732739943 708418875 844184703 642232705 693386915 638749999 540371653 661170833 169563579 236483899 83416475 881253287 233234865 354344293 221259479 750529979 730697325 77211351 352055223 31513451 894305219 14886115 161477597 588126207 157191787 130496517 193803865 153533543 78723845 375809763 439893153 955562039 304805149 80385861 901324177 799618227 182477345 804816671 113254509 940267967 697216109 894706571 626439651 509437161 146577985 720782287 73379595 138617965 982273733 623183445 47068765 586414631 201053965 187734449 812956867 323992221 833956625 508420507 588949641 241391619 546901169 342024187 620872291 813600043 594441911 67234265 713061999 566599831 428909527 686483561 690772275 273994093 847368613 899055623 486191258 855439487 659049383 623829301 469731067 795936065 285985861 787621791 458922005 629022419 1154509 412313369 830148617 367522047 37144445 113884829 884385895 742678321 552789619 665482060 28996387 938978689 288428217 534447991 107469725 607136685 793586755 856204687 155379607 304792607 592040933 974469933 266262591 492654823 721248869 352998933 198888747 380072631 879877481 431080755 884699993 864862709 487195269 338585499 119484973 953440161 312461359 582023047 737231987 581745 518880971 97946459 265287523 325528505 850870691 689536673 821081497 260178551 519676389 497375501 323188249 377202773 518917035 312719741 923599187 4388513 90205433 210547951 386657307 827983185 954250933 578706833 13508781 565659655 435218353 437082039 406118319 700875527 857694633 674752733 772367151 467696197 800481339 913104035 464664481 618173523 979877873 872258517 960563427 76956019 380382525 891236713 626861883 989976715 378881399 577009527 542191701 878357549 743187939 887935043 963079751 64663949 778109095 750688059 57913485 56917899 52830677 350507503 364539151 741272497 704753769 177192731 18626839 399833897 247758657 531914661 455046237 324792783 104284711 639191443 945863677 930480417 91384525 259265821 723195771 85515589 525638091 73161627 855131589 421392395 378881443 830229139 469334067 899845098 142271935 311666351 49295231 461039875 918931313 985022145 242725071 736960539 390104815 92679367 462841519 94932897 981685341 15942881 456062999 631841455 391096515 901643869 628093795 770979841 39950097 519441069 343830361 223588609 264064293 304989803 946886693 421616317 948689595 282955869 282495069 84352235 37476479 567978093 39817213 274398957 939389185 753392812 183790955 439331529 808086459 826619483 686990455 588994093 138080271 850601175 396940625 269411697 664329285 98829487 295056281 867953813 846229647 567937173 753087831 790316097 489012229 782731877 76968435 415973057 878625705 736959009 991277381 928401679 974863717 497005813 760532619 610900425 506690825 646074421 857050471 138563129 828004687 933164634 170956011 492723529 742080217 476758025 704702601 997241493 520907565 998015245 929831199 852157787 3765697 408065369 320287729 989006721 663648491 898997769 233351599 629916823 903113965 83700833 443940715 369125077 726456049 847431369 949880231 610348569 217622023 342693335 30950723 920184555 320405545 848947523 205455 946017145 81280311 976339701 344543807 696959133 38622205 68653559 394047601 859129043 290156843 939676025 537392043 52153157 879484503 989373913 302942169 327167681 413410055 644032921 771206993 526487229 813462947 635378791 142572497 920003675 491182715 575702545 334913915 186215263 282763977 619555225 619549153 89726779 130976173 923625501 245281523 768601095 683807539 809200105 747960339 173156223 437693257 947393393 399401219 783040011 882917579 66778707 286346995 617734075 602051705 909531213 634235765 852151111 87977469 25634383 830272393 114112271 897291495 50832745 692454035 821352471 546069423 184036311 338977633 976730385 879989947 819565053 368967975 4710739 399238479 133296487 53782147 128558555 403315359 313021381 383722619 534530643 874939077 842903031 29037435 826981897 353012161 781262075 379208791 475400437 892556923 609643777 847328593 675020469 643033031 849911385 421668616 2432913 981855069 977857153 228125071 592694135 171115741 194358041 550306649 836225793 908935379 666461935 394148928 483407979 479440813 631989491 399412879 223117983 941715653 880430916 926637553 367809067 246332767 83933733 25870457 842523205 509364643 274681599 413960615 862820815 33917343 841832293 269453149 606867021 15976529 383102485 293381357 10276593 739509911 601580015 443635209 84834705 280278587 282019073 267511759 692597165 165908207 755370877 658092483 817192813 348715853 726297277 524420309 604133021 205142485 423835719 537829465 410422199 750904303 801535685 671737099 776918745 218674925 405949195 20587025 812105421 608457483 747522323 479922169 297186301 563505255 640308991 161384375 681307013 216762891 418873885 226662827 850407971 517025513 495819231 482482839 579165501 664892635 435697377 363301033 766479843 862154143 640612837 616167031 247721931 449212897 174755543 595093501 135301207 409156659 103367627 562961315 912013197 294825483 384615931 501133107 671623965 93146317 688928971 454269669 566705499 128706241 614428869 852011605 463135817 367226905 882151069 765130119 777017999 916991982 20781103 848693737 445457531 339238721 907451263 797669203 140569859 186413051 440658869 957964031 16415945 167749103 568157223 337883795 918461713 758017490 195551055 760186653 860456653 649205323 528354257 886345233 879796115 488381663 525889399 581143117 943316131 356659457 503418933 812206359 325327845 420274441 787880743 878358811 614911717 739563833 323557777 456655725 89189341 795069115 517136347 805107855 216324267 65691297 80114843 913013601 716352983 88748769 306496909 928181811 994337681 502861663 114996881 377059259 279488687 778983651 861191859 713107475 79849903 104387613 382667049 996278213 254573499 746929321 816331339 929405113 989831585 708134921 711847071 676028743 555273433 916670115 731083725 919184685 163537025 361241801 48036779 164193423 55075937 216713141 421183285 885922041 396147175 115049609 994882955 586303075 792709421 562324301 80622843 96385577 644934639 679309297 564138485 613045777 635694229 655325009 233320985 707225925 844297521 97777709 343088423 48144223 190859383 52756527 787874825 501188953 956480201 687234279 718049239 127669403 944890155 113712335 188873415 563264495 644817999 845236297 114896703 75639947 306434957 534479005 928845003 854780685 143475167 69833979 993056029 255713403 535663347 166877055 865667857 981216577 772539923 314546217 372616617 286425653 73671993 705538019 191301905 298875285 574804483 510211453 120285595 611302405 987919545 521329841 176096453 670902673 725640011 502306079 138368047 594825393 573458511 214430547 714400423 593903423 357637123 292935101 515020063 667828613 644687185 386844597 913572787 535321899 656629959 866213499 86361253 373036107 416684445 164447293 200998241 575515743 619489969 747452681 115867003 709025101 33971083 355017689 846530477 168814179 303193945 271484301 47208665 789333 116614643 62092273 42693901 96937281 798896859 958457011 196868221 70338477 842801203 150932079 940159105 343291269 6309839 318702501 215815325 154541599 182513699 391573437 61346173 548974647 983310161 314711563 844023285 999862515 431075357 793633991 929862655 677468899 192230137 825917457 273730495 255833335 676511483 94649589 236201599 994528657 462590179 325715041 134153651 274750835 542645783 857248817 27593207 87185099 868556711 901816357 993032207 598924337 412154699 145978597 730828771 851871645 671389795 986377477 549153161 13300089 652066547 423207419 294105659 427757457 499822251 683863341 76485469 626785305 60641253 394447583 618225019 134839983 148294815 957293381 331813188 288588631 830933885 920991097 787712665 617053057 275866835 297850489 688877947 198439169 133724055 37837363 551129363 848026899 312887911 469882995 846837943 638299485 726230155 683200503 422911714 11736813 705494257 460976477 282219575 412062009 303676721 45906991 390479489 777984283 46560395 187835873 3051441 707836379 578018023 715742919 445844199 904494117 886459347 226234663 726155105 530012943 287154053 535261735 896030095 684684055 987580893 268878041 852513281 98148129 394327397 413427001 607576181 181928313 124835913 225372965 709027019 871463639 529519457 364126567 307599889 694943575 765829933 84242609 60144505 365809021 189493459 191189661 411240285 435170105 710958371 893494953 186841667 935611613 722427285 877735233 768208853 478175273 261202759 515390647 417356773 490255169 979547137 630814785 607233393 213086131 130335027 761079043 888990617 472642931 56482035 521149701 856340651 770830815 922182399 327538745 350946585 843090109 368964545 803255671 142751359 902930745 216001863 575770499 366293663 984110825 288189511 311008771 861215845 386345161 351565603 93323401 254834403 381061697 255094497 943768463 957464662 450210843 523727407 465716087 663405347 112586127 442218087 974636937 668871889 704906039 657660037 963075831 972837141 515302941 105869361 829319129 237781707 530024617 638732989 609621043 172030197 20882867 77018141 62912235 426517951 824341881 773148145 712860883 708395901 44225183 842699907 640468901 462675369 41219379 405777855 328638723 843041255 841312169 518376509 543361909 382292225 933525471 603925053 860284779 26859499 576780825 459334309 301362243 179582657 422574087 419133957 286967609 84988869 340456893 704180117 189273209 612985957 636457143 132314675 100243475 19613745 656627419 271240039 903165697 673408997 95981431 729737313 891884581 474642021 316562497 35741941 216710469 732237755 720909395 76999847 834666007 962681371 804802357 567087003 282022193 664204515 50454483 637147039 791673109 170220945 255512453 113596207 794987821 133868757 502949635 93365351 14935241 221520767 368740215 396335117 335780899 688486283 47200619 602277525 309652829 641005853 45132247 318949649 360956797 500998527 359601943 388611651 316650361 53448231 244611567 989119379 812804391 128756653 23997583 433845261 387056713 937843415 68582283 476659563 463848841 609293199 509899999 244283149 948879221 989771239 686527729 635826423 268579723 534677787 867577743 595588827 75157803 527413903 757106925 610014479 397982365 581888719 715606185 858050963 964107793 967927437 164685513 405063949 124743331 508625827 861306553 768240589 563357011 462188055 493871695 428466379 579032585 741832467 568084679 530089125 942707865 156926441 853348809 442713251 716927931 17044759 986600543 349039029 74082319 901136701 281430017 605554031 989576481 948451369 873822601 459153685 30484063 548747725 689302079 679458955 25920037 345395013 197000401 269608287 221346483 485887443 165556305 5798349 131979057 896114659 843012927 11910065 946348211 311443975 55002751 529467281 194556721 246580221 453480031 290098591 69184651 198950821 73782675 249546931 729093005 568198157 606981689 847222601 867968229 413782119 866512085 8353929 930128431 24655119 389860695 982244677 754404585 876786823 2361875 392834801 654788993 839337595 561890501 218106029 444200003 111005887 346377109 20395075 1932397 614954061 432711693 76331295 723625757 985557065 956583971 138888537 525821023 531482365 709545781 888517807 26269217 492140765 108787467 244897163 495677245 932125573 259133133 589580285 740726391 761268919 395287571 930550455 495521653 208172895 234548699 703267869 76063179 484380305 99627399 635901237 470674927 130234503 591182825 858052271 567944263 652119973 377510451 508068833 994142743 653702005 216244483 307238857 44106387 227538861 890979165 375553553 444061139 583899429 925383089 248428551 91673051 404168929 809294545 302619041 933473681 347809551 310664957 300816001 882376649 674502143 951025881 535088875 811736121 429909805 701300339 907100369 259605125 554111549 335390785 954415307 919244597 546933241 567270429 33020693 858635451 724425046 423286863 216593559 49906801 60961903 654363779 13169123 129944981 809404295 134948047 113657389 885630547 652328455 131331759 891105877 4711613 547901317 297342987 562400229 509561289 958716093 127514157 213359111 663566427 98827919 932186317 830710935 17176635 252259593 635782405 29910291 917513499 879934043 876773983 639026593 776762259 759496165 147988419 180365329 743957541 680342821 159325833 105255131 907466299 811686091 745058159 744405021 492593447 770338215 605447065 155607199 259758367 130514871 560225173 824527 150991943 716301595 927096919 604673479 268896167 428009761 452909629 84054083 318964785 12383035 385949709 175599021 359102909 776312837 339109363 220654355 316271117 801399359 964974723 994541099 852967883 2345945 708708287 608685655 101636487 753480933 84655111 5530013 624469179 177395867 353452843 464831403 737057481 823301219 369881953 257598681 641163257 275547845 196090947 210558759 801216125 340024949 207119321 77021499 238050669 768496975 883447695 117339495 581493195 987240789 864224061 540469919 835383681 993556915 395795995 382214019 301323359 363235771 400372691 414144349 289725727 240139243 357271921 607808279 322423907 285649637 14260841 194610253 220514225 545516659 755298199 462266941 64557183 441726089 728766021 335944909 623179043 769103939 772377885 74996621 998799839 227273955 36138291 122066101 875197405 519979221 665755911 1272867 555507757 965840557 643805565 812707423 879602377 278808613 635419363 826760599 321562001 513891105 921107951 895474853 894993233 184342699 267008187 758733829 252181689 116546039 299401679 977283809 836966753 906101089 665189143 629108231 583962315 239848301 600648425 304266989 113048415 385837507 763410689 594231477 805649265 464920121 826566534 961084195 594398777 622367689 978043909 660422057 602613977 512531351 431661683 863128669 406785367 771633133 15176237 640775935 757628329 961019713 660064503 607974903 209671331 709469483 353014271 325431121 492751115 269943153 447424221 967824839 146168969 199410427 336817291 458759097 114067117 428920031 741933167 625541674 155572207 576774487 630476117 363800015 855396021 397820617 501359223 133787129 493102659 113341115 72774765 222964653 929792975 401693925 751968829 829930127 960377709 48291359 890133591 578345967 329305379 294795119 647768463 392781765 441374681 575712509 186991137 213769647 808524893 526177057 774891189 618406901 842822765 599796561 504366421 357965957 592749991 416867635 583554679 597260281 922866839 382689171 592631291 507096205 320561067 132591459 546130467 180546859 42782783 869005501 257973917 250808927 911531409 598301671 774894977 349207909 402141647 560334411 126971463 949591830 951640325 176010107 508207833 643680001 588768817 326083125 106525315 753035855 927373361 624203609 830799097 545339097 353172175 161676533 630961495 724549663 215975871 135697211 43823399 891574345 918677397 444031367 467173715 13144867 830756567 458129243 295621935 952605479 402544875 595016035 9943419 9012339 318538533 220899441 871125341 280339919 78409659 61667459 291794271 578040235 764203217 271797691 341309559 893582109 867299183 322567523 375829763 808537829 186369671 318492399 15826889 165261417 521222643 646619387 731063541 602424505 283405169 169346121 89832733 232764299 301790127 809819333 60746303 595713089 246201145 196750979 143449277 276299489 320143755 719548091 189760617 776347417 316036615 705541333 750113653 460341571 3246839 278506841 581705085 98328923 989320841 127387901 741672587 487893515 527988183 560451481 66400263 151131553 214561763 854160177 812930507 477909779 739361943 557547761 270646543 976542979 658433989 367826477 697189247 820034229 277926435 694130527 148660768 101670683 746031189 825791787 743991407 494061515 358023651 56040283 748832583 481885189 286716479 661601253 549708777 428710319 165447617 707176929 129084679 716787291 948689579 892604563 325808053 46692413 311792679 197324905 900915311 120968501 919116103 385985011 108213789 7494091 721573377 407831277 332482825 55364655 626085945 902516027 101849067 158399287 260341431 414949865 855150301 388407649 868283947 528836647 977576039 735296983 793553459 3700819 24890999 511201639 860750923 532205297 386027359 770462601 794620639 598887851 208101087 693350235 33136703 714590291 107886361 520785061 818867109 704038885 764285855 334090453 115049523 486838149 452794979 355997187 491510769 61479807 419056323 720979441 509358799 579222597 480090243 327433985 527350697 429024113 252751059 749784903 769816897 491623625 758102343 194639223 359210299 835787575 926519003 979829235 802143021 539923917 218377461 407504831 605921169 574825161 72158307 174164877 609020611 66515083 55303771 73786035 679736849 617541281 979153783 49180721 284794537 868558525 628882111 566332335 142126247 883890617 697478303 589112441 418268171 987301531 35458541 883342985 447022527 360957325 543406823 12270973 996238483 131827937 539494447 548541853 978188865 82350613 725344215 280706265 871354475 66087627 672783951 38050759 340702103 223802829 666499449 435052709 395717179 206358031 625347991 388301405 416624557 664820139 732720217 618623357 6997295 228650217 730514899 468845373 325084905 286834991 710886271 276118651 616409839 287813137 276427081 426247869 43335737 849466957 468664951 861334327 740202919 133229253 106595523 757235131 551147269 820431747 507492171 870084555 334579201 484859067 404773263 981924239 786912566 686506441 713238657 657479893 713773351 124121135 246386549 275889171 869883707 84588697 993561897 482398569 599807681 903696858 257217215 415380385 280067063 97726959 236296391 276918055 809291515 569163513 128857143 770841875 992466649 908078147 941894505 745338917 280760447 649183043 211660583 583075267 889665481 764818065 858829209 815999741 828654711 286763249 885626199 872468363 74632497 262254159 558880351 507894987 249992331 345408703 858519317 667879623 921126397 99710333 711482181 343748393 335529703 234186217 865720615 39038029 629427091 210330255 958789719 207985711 695888435 106798115 794231515 173183865 57250785 47416963 924345375 141885049 21956509 750569901 774612471 124415015 900328783 803637969 194089381 924908833 662929099 963276094 364289225 784637615 63921351 278523763 236410995 844468159 822146535 939806225 553321495 742325737 586831797 873115365 183449749 277714541 229808031 437356001 719432495 262201651 858888703 70463007 76705427 942864329 338958105 264359141 440250327 144194149 776110099 218243739 796526969 971558631 386192385 589472217 811091547 822017497 110761689 805619285 401168591 90567015 332466303 752282613 816499589 452114537 259392955 88878533 973240991 769102175 165271359 550870775 306226849 317505903 606899365 545071079 133762933 52094825 770369387 20171029 585503605 606700229 37232637 147106865 392705627 913720481 257151661 114679053 828269133 551431877 592049329 85371553 257001177 232353953 94132525 414891541 846865395 99098185 535196201 3409841 646084857 884367745 976219543 247812585 551623601 987058349 98820687 596897367 968870727 770865117 465184021 275872961 525390161 709215175 967160207 287078417 87755979 773082317 800965967 467903323 10807581 127212021 926203601 631294169 123413265 364072429 475120753 132944109 292543453 95625229 516596093 443689765 523023905 344848215 608553765 20560691 264926943 668126573 291474305 982862835 162829447 745020323 100188309 114570343 282201579 895144941 667583815 242806461 131825483 649919979 297728105 217240387 1751371 246770151 659829173 437912441 181370359 804301 925725389 865273089 123814855 761455669 226048569 52787365 269386903 226887517 581037163 808429403 921462445 471895089 635143355 337652027 898970037 586202939 465490539 437226121 983221699 484365237 45396389 761669296 213310041 711473789 782444153 415010119 382700375 235446555 221616097 789815045 670261261 674990781 394763967 848041167 895536687 997789501 964255451 645916847 557415645 712485401 506537957 632189659 39960473 230603637 326409849 983383723 911575889 609347365 152829719 659693989 764026715 58307999 216294697 289283185 993444981 134785281 140529151 707114981 828528577 970450449 430980563 23391227 852002257 964107075 652390599 889240279 351574935 673859497 746636769 67825093 685827953 862809093 730413591 658857013 912765475 740556223 722785599 255675591 633137117 832972771 479755035 777640505 947170609 419919403 102776917 169171579 309158431 253854711 668482429 175163293 267240715 173927755 480923149 494663389 306528195 365581273 546632037 69356443 785752699 878843895 862432721 458469989 913719507 329678245 564318079 466199019 774111435 722832265 146320267 21628429 214187989 87579123 568686325 374227659 174443461 847078875 714227620 791220047 898694617 283444703 969313135 970371825 612575155 35290439 577449739 121991207 857620069 584791299 914010395 996705177 488389471 80388263 59004197 490347279 469104003 353247607 603124381 966817915 643922963 675543893 885154269 477446397 316848063 355477461 83424549 383423445 647047065 73645357 57339295 981490543 243490849 86298427 593668697 963769437 618349115 328315013 233966417 624151645 68466227 560614205 18073701 170333521 717384897 955289659 53620321 742622787 13595137 327648763 588717555 461775463 101088377 431394213 401167031 346734105 668241941 659265547 545321003 297754587 467848491 904740001 556015293 140400473 125094775 46686343 964499131 238507109 446255391 969319815 848322909 220936701 344346545 884203275 900210119 582156099 22128419 107826991 47371267 410902145 690997967 980667313 729042431 288052267 659955837 653208823 149535381 136383965 952569177 501961489 229456009 21108059 749888251 203817655 949740929 371327373 856018523 987367495 348685073 592093065 703089379 566304457 547090865 703414665 422168413 632617709 857342401 391393777 397464833 970973191 35111051 789816907 381995627 241883419 98491713 158721099 923545761 771433421 216648187 286671565 933370381 424979819 994540221 29169365 389787529 161148913 717386349 399754891 125866319 294420731 211968479 689165381 867840517 348028623 254900425 584644477 940455865 109061471 882233039 86518231 167412447 26056515 658907769 532677663 731652437 299719351 728882745 112017733 308622177 297670819 658184041 585923945 528478895 777877401 425239879 99594441 386251605 181475533 151546879 793142997 924902609 882407710 119165347 860200733 778148613 230783511 208218921 678531165 230497091 185107173 821491573 120526713 485929275 982370655 742157391 755008125 494478863 909771525 749523305 780986267 541805889 842631677 140038491 401068077 569535937 947604503 622914217 962966457 43743457 227807691 904975545 267276521 327802209 629853495 810698461 479345295 649455205 68932387 142179151 31507111 926384763 941518845 407939633 61723479 164278935 35112671 789320843 503306213 504695063 831797381 28959055 533582281 280091839 561338969 134809173 662032797 967320511 908330345 429281119 524373539 920085675 223698795 233629463 168232263 566961535 195553729 901852685 639606555 858820771 202275441 627501501 779785437 623608801 672713001 834708867 548681709 330577775 509285441 790285229 759162073 137012973 979266489 824520811 610650707 790731357 800177207 800719061 223077431 542679853 927924237 126776301 31997575 650194739 607037999 262929821 467190895 248289709 852070205 279882165 280287043 206322751 174782591 245271791 93979003 82043893 704437989 90992109 982757823 236072519 995005957 902095415 178266583 608286737 955763487 522600765 406734263 872473753 50691097 42534235 766740603 42116233 1176707 341644497 250490213 324836603 968546453 432653001 175239395 393506409 143257133 653522515 855263619 557280185 832729043 834372457 843546885 804089145 298818997 975445485 702086475 156934045 910954669 601003173 893571935 251513093 584478519 350577223 969914999 150371313 79002749 336260201 974136555 376657493 824753483 143200909 738902847 753665153 548330269 511906075 585216799 754461747 388144399 169131111 328753759 84338067 575235815 267358121 272940537 156315179 553377815 129440771 132362001 188484595 470977717 16510843 164809203 182358085 13456513 105927687 418190095 161827051 978139107 562876029 550646275 187327245 140925671 180131229 554983059 713197637 725520967 782808341 296652199 518558603 787693155 39765107 362114135 99837001 998925375 925957681 456055001 747533643 814672013 575012015 14173075 767052229 526821537 721556791 852036623 466478165 68231039 478289149 483615235 730965505 447192267 531419159 315760711 437728565 401874389 76226693 530979297 341520583 571180693 896685877 469660923 540844787 28095145 354128629 671470567 397313631 141549657 378421117 891034657 962635035 769234323 514011761 131668303 835986839 675440369 566115419 334517303 156061109 72650415 698118057 198040529 421331383 104856503 293312951 627674167 755343179 82407573 808930755 110492075 774355079 170123909 839607291 538345879 968982249 988626017 882507373 654708115 395406933 294464437 764643345 566634581 279168023 135609773 127267275 630269125 336501223 840521249 300451173 424458987 344442593 264776337 589390477 144680187 673151627 907519267 46278109 304421455 505595855 117081001 195452377 533013101 511411207 15928983 264921063 715978239 17959405 895715341 537140571 617433561 407056039 18186450 443384939 124985331 650546883 263889241 94451515 175601781 601758007 701253301 866098389 905952423 845921373 168480677 657566247 436422141 926421757 614315925 156086539 916803859 214494019 911303567 138757957 959099563 602336709 158028619 341299579 296208049 881608833 848805419 448403007 941698361 864746969 414022197 947129613 341032317 442691485 831646487 713813827 730364641 431620099 303091499 108606251 529164271 118708391 844537965 873816311 655861083 695790477 132918151 984270271 842081025 690006565 37893319 784959621 588635875 1020993 549407011 4823349 690052655 399752993 234743611 473378715 171255859 319463017 7957593 119823475 10802545 939864359 730020201 60187231 604806277 414435023 875503107 321577703 998504769 34232895 657224551 750936445 164107667 235378877 995751803 925825657 655425689 456753909 619971537 961226783 14078871 354416125 864965277 145675157 126009589 290296401 854738879 846027245 689765705 586365655 885832127 861737249 423931469 98428895 1897677 254462227 742186981 580556825 805482431 236037771 697460509 282459559 334378771 728672315 692246311 173473547 556929523 409878971 811826781 438082611 434571565 320236685 556865347 94743925 587121721 562863387 519226247 932975759 968739893 650493365 416186617 113759141 473561833 136425365 743335575 322933829 666506691 195578333 219373441 717217891 922602203 176382613 536056835 18564955 191379955 90852269 6870163 336126711 566997357 507124227 271640267 138583649 938807133 149874771 503165547 619068717 44097655 858342472 509375587 894913117 211509021 465248117 84965827 287552337 284223571 256433745 663633609 51165401 87865547 85182269 133397973 788842025 902794715 19621765 55629941 648194017 443380355 827942489 334607451 504478977 109545067 28130257 939358307 535275005 832635615 257362927 481229199 581574565 636222937 942506907 378914825 283212343 736416503 405244841 118288425 900526683 519646849 450954705 203009895 579320859 580341863 651025333 371413349 374545903 275892543 560435163 58143473 67083699 279541063 625595065 577539837 235346859 247368041 853267877 849855909 24785799 781640243 57357793 153631531 323535193 594936541 350427541 904179451 719741601 554517573 795299029 747485865 38932803 114858993 28905113 102200557 777840781 586070293 604456899 776537263 717550643 766144899 141690393 228592631 143820627 434698941 507282769 615099129 520016755 408306923 890311679 507744017 310638975 614917083 389801641 546417603 864867021 248256003 103184055 911778231 645528089 74587011 653323129 897335747 539708043 189933861 588968231 885716961 665298093 780954965 649575911 339035699 21977975 652584235 108990653 375343625 289077059 22243175 154234013 310377681 35986137 601143151 654764385 121817897 380561511 515162195 674298057 62810069 133141631 50025419 796917629 40196285 181948705 823910197 171786769 64336375 396479665 755786905 1564669 281032893 786467579 511522215 3101857 640565363 103359543 227034293 609010759 432477091 650932737 228411841 474877729 105486083 862109791 752349557 345837641 537357419 56004283 416628767 398350527 629471713 477908719 703792311 425886827 394718861 9996341 419471323 134674209 52150725 698263093 206075089 809926551 259607045 593407993 632450189 894044785 717519341 24083191 516340385 678281529 550384457 842004493 63828047 107660125 203832847 75016321 670701439 87238967 909879639 947476737 925854141 155133707 422777447 547770015 785002821 826471423 740188073 288710105 916955633 225987879 511230895 465731479 871474253 181942393 264150581 624348707 110353029 371899353 934648609 5111861 369475953 569082895 138162555 994950121 576315791 218560461 674963573 760728003 415040523 75455149 763968623 684379571 348715439 608074797 583035881 594706955 793463285 803614393 337921167 392849035 452325371 886010019 72277043 159647575 542592393 188601633 764269011 587410941 145733647 697860951 315712655 791182449 149646753 586943821 563458229 519724051 595523587 605005557 682029751 42230947 388778905 748236585 960489009 591941459 760899699 19143335 852157669 132121527 574577991 765858075 915183551 185035469 390751863 342295573 257650641 924186103 995008265 929683473 499680089 605771781 373615019 30390125 421000889 831884845 183261109 939305331 994792827 930123019 952652839 993829203 600803667 342379427 987835561 263380267 896121117 738169955 207916169 515931383 658778587 757683235 802964413 678829475 402691001 280985883 450559461 794658815 362661643 319536629 540536139 500664773 47018827 962735293 774610395 939945623 15746075 908070375 108246061 331661053 233074251 770635089 228094079 72884073 130542793 698901825 143482301 618125107 338019763 503221601 312161393 437061533 931897163 481757643 23751637 652074705 385563391 332817401 737678535 236170975 268452957 134959571 112960207 815910081 674078247 239329955 819202331 122900313 738537785 871852063 607440773 495645807 252309925 61271397 9431947 801938867 872159129 338841595 802461521 714856897 594110579 416357583 323188395 330794265 180859831 442686771 165434383 921783077 710046733 33956325 172088219 558581045 524245067 57237005 960004629 560516483 363994221 954825783 846117871 435680817 918591635 953325909 693647937 386273863 880488457 535951817 567666119 652510901 408070213 433754711 278799849 484403543 87426527 483067177 487663033 449291757 15537565 522653401 971035883 297803553 134537063 279815009 4637409 103065987 318114133 957946151 777269663 550098573 24086685 167736825 466929879 279071135 675316389 710566411 533405407 160144133 813622777 118350075 57976759 958814445 532680523 224921295 864706053 211175027 717436533 803877619 627190297 288958103 818370941 92200253 583264491 927335747 786559373 627954921 378167577 85338695 315383 181083551 52513771 711872091 345238329 865941097 315333711 763132453 955503603 296296639 84863455 650189097 362909171 138303869 885296089 827981020 399397163 314250727 650576929 64398741 695591605 631230123 948462155 893670807 663449047 938518241 423131277 260465675 562507003 45685505 769018563 656766977 83300021 117774325 708183929 618282865 72225983 485455369 679819483 140595777 832077563 498262001 807964611 757845301 120195191 367468491 883098285 621787905 924067941 415579165 847572161 922815807 492688161 198285011 650322641 74546543 488998189 928625217 884447825 184758265 6736437 228634665 656605281 948654897 606257677 86843563 15431371 124302413 295140271 433109847 486157561 52234867 32690749 634998817 664184583 35368871 566208007 718094953 41722035 165126621 629498235 61665265 997484643 268667375 327613495 105410023 977049639 24709275 146353661 778873313 855718071 130611087 989704633 480902365 422303345 24907863 585249919 939651647 948318813 372612465 657339529 755066067 918020395 220581179 176096315 17436625 396445743 37954815 243729183 276558293 385548909 929483247 369463531 25875427 504423305 852722725 683555447 869700203 232472785 637584799 681789639 406591041 932268097 195571017 266489353 174336417 133504885 966365173 466356365 458297649 165000883 420624729 837901775 228337919 618501101 392797977 773186419 474652543 208283579 956028863 147677251 293822095 780891737 119664569 304893749 990902901 874809519 723832929 577714785 719406301 674474319 861346553 167345165 508558301 618450797 209636779 107612065 736252657 840519145 690910345 794841267 630842369 234514507 496949897 669200383 118800471 382150595 199201423 322659429 203563435 985633319 447960163 108277745 396710681 595027191 648170423 316349145 427832869 150531161 137092899 365837943 616784829 508018717 669522219 310491723 906623289 490686651 770084661 494807301 788136275 808970320 990489235 312461173 71487281 777627559 656768895 359921049 293799263 677070635 871963675 650708369 846338261 112451063 694468975 679814827 719078895 552285895 223157869 309816921 677939571 588243205 985660653 552774965 150167949 390676415 53575857 426551813 993622739 577412267 627345507 284540595 67971905 898925867 859814549 494076755 555232573 502596931 797829821 61866781 992209557 135993511 884600893 198607737 10477951 556933033 846262113 135711471 995592597 704621643 851257945 659313203 189364447 569751859 563963453 849184031 827060939 746227891 784406543 27278265 67835691 695965119 578237881 530307371 694587199 457756919 613837067 472003785 956575401 475910051 548140735 582606093 943070843 297408179 622474615 441967769 384504359 513292733 412303547 303941437 460576907 565212161 784834555 514804967 789058283 855299429 471959955 177021621 987300343 479295353 673403331 53595113 841281217 588510837 301961653 127631598 819735499 576636983 786183801 368654939 514807797 609046855 560364553 264701927 447182735 809204179 610089031 997214069 759371085 269834421 756538873 186420757 201231693 502031465 146543573 413518069 230995989 763308569 339182449 120362099 613783441 738176145 415284303 264106769 583139863 521024845 34298073 669059709 256077669 544098151 907979103 927429767 673298845 479104683 259693849 575730219 506902609 507560581 672110893 941425805 864867185 991435533 805853087 441593847 377054303 559913987 155876965 815042783 157469405 541158863 67649109 81518301 658704411 590310525 399922225 68936629 127607723 790121159 185457569 686006357 697223821 925673227 513849401 773941197 665367077 264789587 867998321 827840601 965868353 291864905 61250729 939016285 678463765 404738377 687500333 914334053 474526271 824000849 714557995 47392035 216148421 735963399 226293951 258530929 593961491 636259259 133067751 957400149 97771005 368461157 19417745 763183351 444243909 124131235 412150155 920375981 471054347 477550269 292404877 850002675 341435103 712196257 949782333 71939945 102936759 574607337 955580959 729552605 505447789 442761425 31100327 189794881 442602313 38675523 683743535 471676847 103156729 432999627 830029303 80558957 534408079 305790373 814391335 783458021 528067979 89105323 882002899 494913449 105637327 88601705 359440369 985077367 21637549 216033035 355579237 225807919 407768279 826429289 470717945 219226847 111881323 439781635 227291483 426694841 537029101 499097087 543592485 494671641 726632013 359187503 224486107 101009793 208467679 182427655 374345443 330605213 985880159 829126567 701275537 685390143 385369075 206719447 802140443 22385509 938845737 175040263 545030565 360286511 432551925 362902605 844679737 71123435 342370231 878378087 454157765 495489805 266977839 73511615 655437859 587716907 893006225 308700771 834330391 284032783 229669997 419036427 596522311 262890655 450823873 629846037 535539013 941161455 604967669 379107209 746364045 875092029 36087507 359848213 159147645 54881003 690631315 46519571 239603551 150385283 460408785 702625151 255313765 157134777 73690257 151229187 672784295 798576745 201460289 175074795 619850025 18655383 310783161 42537779 13084625 58583403 791146803 937857397 953997169 643155515 716435797 238177789 777468099 395282816 201913901 661328311 465849449 919152097 953332015 968153659 705051627 710632229 289507129 762151113 856771259 812587843 505836433 757544263 781336881 447423315 216165603 805368135 177268113 417394841 893856323 214914813 909406977 908058499 540237875 326747209 761203859 939083937 192443795 629463987 364244545 657233839 696670387 341200747 536045549 90298001 340662345 37622343 485828703 887710289 558256239 313627845 297079881 786631205 913572783 904311311 737592643 288095333 806695921 994079475 461077711 327840663 26406285 258560745 596361047 688407907 362815553 941613327 480297771 682855841 618227249 663327019 118401925 13847367 204853993 363445937 206711175 880479611 618109537 951176627 748015417 547154057 31497717 914786805 617719949 103985379 494187883 540730841 429314651 851351075 303432173 338484595 144512869 262896655 87861013 694564727 28163413 886837135 138164189 955633735 46583227 276701115 533881771 179742951 66984721 452223689 255359309 647924745 886068663 346705185 908288505 484702979 908761337 278379593 811086921 186230997 425284103 940061689 837304645 754181925 541447417 636252939 117259609 841801541 21308881 732050561 433424731 459979561 243366775 836485767 523963785 684972657 980115649 475017071 475489927 378782565 823251297 126440119 210570849 390626805 496461567 368421886 803968911 560628919 220725793 835094037 626730987 435203561 179511607 870406635 615925694 913815157 216894365 244312477 35677875 246644969 839503507 21873005 542637281 385411709 814001731 756428487 719839171 444251661 528511675 463600447 119914815 698475813 717500665 296144783 597118115 355567347 751978973 513874075 801325987 170223435 173286189 946606701 299783517 637320111 486997151 61132089 877338455 456532551 674231495 540748891 931989117 271540447 640819755 695105877 102543397 392088051 726759475 119163091 444267786 750946717 901024815 385096105 553110613 645361833 118580823 908424657 577335955 865423235 927485649 531660143 185783989 400451395 375227041 599457741 912340253 301696681 188267709 45029471 210503309 43518235 127919865 689217987 842374963 522262953 443836699 185266871 476826535 58936843 811932617 882531113 704154081 483358111 160958359 87729453 385677387 969714285 354720253 275189757 258044081 345601573 88931931 476525821 531544391 686773533 657700091 708911289 301159851 381266771 510786065 376292321 357533153 777372017 883249329 840627797 203529049 289046981 176319457 763042835 966722023 969397575 243771271 844268107 442124999 303153301 507942775 598302797 672596383 456040181 885293159 145559701 860395901 293787483 772005629 489244103 68910039 40071001 646263997 669056943 725428615 168035377 159040283 223748669 632366037 714478539 250525809 179917969 261997 77098419 245685501 230310379 503434597 889524773 999549931 366217397 788472379 672631547 52856909 385547141 266780883 521308353 712169497 105737239 322119033 562803105 431474995 721451083 793948901 568805497 372438629 155970351 913226547 583335361 924927069 816475637 160455911 606685351 88357045 695328503 314670577 364640757 620190447 358084795 67832483 835512613 491591031 246512363 38060733 598728533 79017113 709601625 920805987 574294605 959420305 657420035 266406691 951103357 362087297 339696905 654711025 137097465 678813299 358127545 578661675 623852165 477117011 629091717 918393239 631817861 167069185 563829257 821430625 523291401 554275385 390395655 320487455 429542599 834412199 745401707 700424909 20295201 96383709 736509513 379249875 62152221 366008145 149481945 541780731 915901289 453423207 387904131 12830845 686816093 827588455 477066703 755771891 562389241 134469507 492621169 223992935 413755365 862622930 521486405 768119873 135916399 806207321 101409101 195212889 919106445 917828607 317613749 867429613 881714655 224492437 959112913 589764769 90966703 986347477 49191707 123818371 912379367 915863137 608536887 109029383 343999523 856594881 319666159 88475659 41066913 173917287 64209463 335723475 175061833 950296491 896953387 620253967 47786919 392665295 729569807 636670419 262606325 762703869 957868875 873502619 619597073 534984005 267246965 626712141 142713987 82784673 957359943 953263415 340023673 263512563 290883493 332796943 651453901 90193923 400791193 535375342 213960955 302269825 96768601 872266847 27309357 88606475 804093501 762324043 512364593 509019933 895792585 854370569 847066239 136672545 152276907 743747415 486793779 386333803 343646387 111341657 25427481 823145779 675587805 549429915 598299293 138697115 438138957 990394133 457027801 21966507 901335631 16433699 622155657 606484819 476651603 81448073 631415829 12780399 974513401 892435575 704975759 102812351 96525567 691152511 995848107 377196013 364554837 875264673 779657163 882985865 81827595 447850307 499778035 447714573 440447069 997169197 293306837 255723993 825682865 364539291 594553287 325169721 541910413 907781925 633743305 954056283 215787177 391462611 920009345 397729627 349975263 522388497 156919871 652441145 950666799 205022389 545657851 548130527 529157065 902242811 721863251 913608989 441149695 19390347 139750031 264141229 765670473 498783343 345910173 306717487 651417167 129583647 751919383 140353325 854196439 391922549 48629817 503981851 528518105 549025721 907508972 413385551 985458287 324114329 709335233 444167689 235247579 810449447 853817837 934945399 363649161 687928803 960144461 349908391 917148939 826394033 998385261 73855377 123435807 64518623 145940601 695385115 230405799 123762977 273755465 40627209 280929453 761505173 609949535 237931023 304329317 549651903 441727965 627723719 381248553 97061263 899105687 707528881 582465665 259106649 815464449 137138997 515037459 902282969 470087739 543148967 154353075 244164663 129808909 188950335 602787167 572185853 962823399 500092701 76366137 844825889 797183199 91206987 399051147 526395393 639884213 58134459 183448265 626948453 275164111 388256071 595995791 57391733 840423741 562730157 441291423 818556105 551133367 516142491 371699175 53113695 722255003 73737629 986349431 298450329 105230321 598273841 749699979 626359881 796395881 569494197 798153349 459394209 65663063 186470259 829549045 319435581 718009279 442069149 699073417 213020967 983534403 400580685 617967135 785166537 590496311 219323009 239680698 377393911 43130513 838506535 958427525 410532849 635295725 456854539 341172947 913553499 121890967 602598379 409271327 372740675 620602491 916760421 108061965 172061727 594872369 696424195 608576105 665750985 858845691 689203511 535856419 187201929 921348283 955880281 873816 621109003 453223683 629249709 62645071 302473829 245233165 412268377 778487919 631925011 764042931 144207215 739641419 218918141 992395391 11725289 262398879 831921005 332841633 103531945 20809039 232629275 397060847 174663287 161442663 585124385 41350377 264145925 19818521 525806857 417952949 160896749 532485823 496297403 74657827 117561773 295058143 310843279 596431275 539106225 771040545 6090051 623527275 88956489 940421213 338084859 52701739 681126321 970470025 736610373 147403865 713713669 81756109 223863061 676167439 325411411 790340463 672838857 604613897 245234571 986968295 152847911 993428913 186517893 89491663 958027611 633976853 176169989 542859753 851511545 451203051 832700849 509922335 23985411 753556117 614915867 279581577 632900569 310233623 226679741 529159007 235416907 86551587 699151097 603281667 2452367 951078161 723530007 78600963 451655231 567355613 807503943 944493073 337618275 295200303 205178277 759592969 808473191 521965401 432325681 476909 185606435 724923727 401529813 522933225 728309967 756179121 284863585 474441295 342730517 893603527 461895825 15988381 888852225 311579777 892588801 136137076 934315525 103568757 957529407 340142753 763304195 754261219 179868859 157522453 507129151 942141617 51636685 515257069 791897957 161087599 35317943 485619819 706652297 242800725 104851617 410164987 92326699 39692865 808018591 633510705 960335407 419757753 193993385 613626567 744902115 155628529 373547681 684730785 546347261 88484539 970525007 892062409 379898775 317322651 970197347 11277171 681970745 403948469 978382457 964022781 313769167 252813783 553539601 426763493 202721199 775146877 156728469 893927385 237779093 433990593 519375445 380912813 191657897 823639151 170606731 885006427 963242613 603599603 670634071 807582727 160626929 652958053 85756869 944273405 574057593 848350597 810958019 698930349 139893457 593959867 788855853 452519349 286751015 549491730 169264835 696986329 146584851 527020871 422061613 675867393 535315855 467261877 975643647 896451395 277472769 686168167 213625009 799635419 981188917 407196679 216907939 502996265 167113829 749228017 565691681 404791993 534497833 332355363 834036057 51948609 222570375 976599875 761560423 959252121 879943919 500575649 808923979 990428871 476385077 612804661 169469933 227460341 911898261 669805725 464708641 668243317 117979575 453770017 698594207 867121603 739009189 441324975 555204615 500544901 368645077 619620575 378107363 305083777 762314535 341399795 327543717 768798895 387268317 324118733 862849191 766580521 45190821 693997825 925690409 797724975 666752663 585895109 379375699 538675249 631537707 420463861 604583737 793996225 762271563 813670173 599065553 673852567 535224131 651312745 790490369 546533787 362084807 580269745 314116237 506820819 756820979 385107829 960239145 635154039 54548817 821021915 402564207 783770081 46396107 704242357 990731741 853875859 120500661 624958327 366103007 964818233 913352399 270634817 568447943 325700775 392223039 497330907 903620045 36722389 290197391 80585909 115758609 543968747 913448117 837625829 844627869 540306225 372664079 356689193 928855395 12921883 29953379 450797035 773492539 438890821 965630941 341797177 537006313 769005937 518141203 821374667 404763411 48387723 940375811 503271423 617320525 756802727 993952783 874779869 210100237 509684479 575279113 104438035 635286967 569544949 69690147 223086843 840357267 737247001 696697081 972938897 760403411 679624217 920550805 562860671 971438479 312518611 672643679 751624977 417305547 120398409 999583537 635740483 794433132 805222055 549028675 523172271 792403783 139711553 869268543 386257825 394806549 576642449 233122097 590259717 938735219 762331451 24348557 186363507 5284591 779968267 974828595 499547179 642382841 118243057 628925027 487356179 581713387 539115019 771156687 924712125 739596547 942545821 254215819 656868701 215678573 875966991 328305683 496432339 529098041 372015095 140198991 38018471 476089185 589156623 606895497 400668681 328442567 642371387 858431095 561124044 438769715 326479239 826658105 962140791 673427031 76427043 449147985 791451179 840053451 230733423 897101743 723349689 26535697 746883049 243448741 756679065 901300115 422358849 928420851 513550825 549414561 164245063 417444539 522439535 783100791 169330167 343482767 44257695 998523185 918913399 846249569 20876939 868054493 317440781 303992463 749850613 772285291 76258097 857241053 246073925 119553203 728655739 676967291 414657929 309592183 895233457 919895805 810922103 936618081 557977277 318775135 447027569 155416065 757245361 266632711 126900603 868477393 467202763 730261955 747571015 144671795 447148139 695863751 621332011 941017197 500928031 785794227 248468775 502452149 173527961 882533257 730272225 320308257 886393267 784674487 605489067 258435507 36519795 288567059 712476793 649249621 795299075 109539547 213886955 212007895 246663351 856567985 270872137 858198259 72230919 307271335 966034307 892862025 619461787 645807405 677511725 317969509 471812411 476002341 644086411 116716981 446416603 305175505 610140545 387362197 163429783 159359457 344798111 253970757 721569713 68809831 481051677 768689391 377034901 538488035 644437463 700700835 943592405 463763769 775769689 215411033 113675311 607142583 236897999 480567287 259795077 94509329 986425107 404602433 814810337 89372519 903938721 974740461 937650551 776214329 571763619 421064081 14901667 304495993 831362021 299580332 211615463 33900411 750700003 896539567 822599153 150193661 553763255 501444837 267909519 114667041 253187117 557596553 499918785 875720311 949602225 113156539 925405865 179387381 554435931 524236421 4047249 328209653 421261803 496338651 789468143 188950081 638279879 3095697 407456859 623169537 563464959 705182061 218741657 822727885 576134731 396730391 58489239 946780323 41637385 856900893 78791781 506280935 842055745 722005501 878148415 501345893 478892707 175241237 743101321 462621781 669306245 579351985 165279693 17437523 86515941 29176063 27884225 735745893 387902317 227263257 189621309 848867319 17378667 524253443 7845959 660212445 899155415 375231651 875264519 304227673 482672973 474849228 137787603 38253835 700544281 963649849 246349605 626135811 334237737 210588039 557006755 522299573 847484945 217814593 816678419 104988417 822901267 182876377 888687725 830156585 807063063 608546729 636009417 470243291 697631657 61920495 937016685 137975853 538732293 608549847 309210051 263828125 668342789 30737779 749982557 888382989 519934259 718240699 650891255 435447503 545115839 548669071 568978295 599911315 815773055 978898617 841933027 392832635 75446259 794356971 889142131 134498827 137532737 68702397 787564417 201072173 633495099 300818867 776752015 477379899 405261397 877152819 69189447 288823535 74641071 513224335 487392897 829570415 207552273 42426371 709028915 808321609 738130153 886559661 935601029 367464817 640606801 592066967 259386559 738325573 528517895 205587379 285650517 502181003 483418481 19156185 607678945 176943471 703750045 326954955 613975851 496091271 699756615 531215923 745351959 176810191 675378123 552881059 238071487 856097199 591677745 775632529 807820891 557858801 372552999 697342817 184430669 757863627 527728389 254662491 114687011 667745501 393952715 986677169 654937489 343923497 56298273 916339835 420964205 123603999 448609875 879083963 739216065 163693713 310986589 94294107 229072819 735035071 410799576 420048683 812009625 413657421 743498769 521145831 83123947 62348359 599294453 629125163 376825425 120997925 161464347 737880709 630748563 814749379 817917635 952424805 141718951 480597607 959962835 971908131 679506085 173712573 594557661 163548161 299335889 248565721 431644691 840231209 422103959 261647165 47308123 734367659 738958475 152161993 402734647 907370115 972222567 73604045 894461911 224978061 221688847 845015037 806007829 386950551 642135951 974102137 171166317 838091089 70010135 119581379 649795849 310947411 971367941 865589193 261270967 861922079 137397725 492666081 736452847 726444319 842408775 523492553 60935373 689815971 784839961 97645731 458372637 497494757 522436941 838611201 49996107 51706117 755933705 662153429 923094897 524467983 262657683 422640765 744223051 175242737 271248483 618107581 424942145 771683719 917626897 821039045 989915493 796107665 184184931 238210599 419560043 788838585 967549249 207239651 424761011 246608271 668227777 965767005 634612807 214669709 949777439 339903587 606273235 58811923 811937979 828934441 833982639 562393965 298662179 680429903 887008729 185671627 205083145 899811029 618327805 272799299 561703239 732051245 464689253 588291547 618640099 572331563 721221387 187796091 350002183 535310605 91533 385472499 238995461 980001653 463010611 147119869 402807131 405160053 11447019 880221241 967368873 172561277 836681807 975121715 621044669 552440687 546131099 259223385 975961225 505512333 528132537 482360583 443253287 349272199 170214711 665577597 118681565 494600047 626546507 513599715 897281557 327142085 218087383 168768845 113456995 538855789 656885089 685884339 618937727 686371763 876306967 719917557 770392145 240984655 759481041 331021533 455026401 929757533 853740047 177328927 687126115 943487843 398701817 887773775 49876275 771203149 869949019 76950515 180422611 341857905 849558449 198185585 391294959 696457099 798779413 185798685 241992027 584830401 933718353 351019055 917250321 3535009 523484885 683793351 461425203 60978721 546371767 696661743 311970063 962037147 343356087 970772377 856106009 848707287 672593723 462587551 382413033 747222785 438307411 459631809 491617603 454409137 425262775 994410919 885957651 133614047 541149893 984825061 27441773 917921013 590521221 644912881 626720395 671506365 50393509 557718063 767192785 645819759 900063359 355929575 112227529 828589223 90383633 592451915 46222887 380418155 319179007 166714997 463005129 892356901 547294109 689111909 999596717 211874735 731983073 697568515 836684545 840127555 805927527 225807905 828582169 654960519 995733115 153875579 357436529 1589129 189969673 759450031 764072617 414711997 159981737 637255239 353176717 567934721 377168795 735983797 884953362 255741083 497991367 284511313 272182355 148194615 316631225 440578655 74716817 568603883 882472619 752071429 330185531 670312245 223440765 363709013 321653729 127028215 693032115 38702923 799726911 41466499 514318207 762991299 931586107 899649161 883794359 980420749 174829787 464160043 854600923 128523859 835255639 75838955 689031953 203393717 98140935 225728953 261599273 850999855 488805233 749991399 358160027 676493869 630935359 810478901 585240197 462577151 162615619 325854919 665163951 604456929 376204667 56587051 522638727 813390831 483048967 795713365 865226791 304629559 96716341 951790499 766091595 328283305 82262903 577658073 334144093 242437661 162294375 889416487 64908395 802153815 737391563 99425569 360209707 7131389 63281037 427117251 853563391 396485025 189007295 670451829 978597611 775080637 789609887 138430465 157293473 621346739 823989389 37950877 924695673 456142027 173869847 493550313 508078447 918821429 455240687 681699303 706108203 991692557 827846385 678415877 273254399 460082261 98604575 371452697 372352223 523858929 66505893 205386849 894176363 575010745 481992151 756014465 654126571 70231137 763458607 816673157 671813711 536276619 759281743 540134373 9353005 154229187 113650181 907351933 516241349 916696953 555639621 713633169 742823421 280595973 527840549 700128976 937522533 518956969 446809838 400981073 132005427 145489295 696997641 359163533 252629577 993544391 417588745 628258411 193145389 991290699 663074729 48280633 665486863 123428091 220924875 703679659 893340867 31755427 590510975 231118305 905572045 903383281 497058291 722318427 706407247 625743233 252131205 943499277 312356125 522386899 529652407 255740231 93688749 74290769 515493687 839918023 419794459 389923147 739877589 974289333 520553523 487831035 675543181 578388635 631675745 864506241 589654915 305263729 845794749 517867497 305582593 490850961 456006407 43942689 985094267 841235141 613336997 151099909 634214031 539857972 835010473 454085461 863034875 475218555 771933127 200827065 215778735 755589775 647283295 34415557 952657083 715738587 347113081 392713457 77915995 539531051 943316677 704658077 967469043 625802163 242494617 300693013 68230671 356344337 752937717 912542855 276340063 765284171 48430463 664869903 441209539 328394189 743581063 131480237 217268025 114668653 551495941 637452105 633672433 778648423 901449111 883344055 430039611 299049313 284422019 420360879 350888085 373216875 141803709 815477457 911429023 548062453 254069207 9959335 568203303 638119137 920677141 835605413 176893725 253812849 943562585 291384863 528138913 85987667 957328695 577347163 132109555 41284509 471349731 877890687 797842815 696635085 91883583 594127519 340802519 600148679 478406609 239994291 495205049 329742039 89418183 959995035 198478085 466608309 548025337 179248417 837128905 462543229 535783399 669120759 4367415 866849461 797811639 315650743 829238441 72478023 955230011 608352479 834068389 331032717 976770279 995095773 604931029 620153665 902787291 375517693 398007821 714290313 310329311 85814909 423736903 668164339 31029347 396388475 325148325 193493365 195097981 197975809 446679157 822104681 731424747 605201665 934085929 678124183 192840983 425372757 221857117 921847339 626176527 242838203 978627027 962844603 60051083 504355551 991219831 273089859 743069673 272889171 162405213 20394795 664517681 507891597 280898495 135914301 596780817 613873905 984941825 120377265 793395427 944920519 945078701 876174883 946789795 84965441 32510583 811233431 38033403 156599673 487644987 465887357 435848247 636164717 801641981 606199207 546173779 960053001 30761445 828813653 556631017 440591645 625120329 990205739 88526661 474636133 334279587 991026231 561292371 814300287 17267351 42878957 183717035 949311989 743731439 172556587 563257229 86568249 2339999 223188791 87110879 586752675 146324677 596143293 569486385 108556917 498815135 607001811 400454075 677180377 344154779 502897141 802588509 594171359 346251597 283643657 808695707 572919939 1491569 470585951 858396839 669129121 564247015 12043431 13002581 174103047 663071419 60951555 94885417 828979301 885434403 289670389 274534471 158434387 207771767 876698475 796268159 750834517 116771901 149968315 35300425 972260302 507322653 898798499 516842689 534895129 381346541 758919495 91268531 789087591 214240425 791873589 609702029 711537883 792469361 750754913 231504227 538920577 718885779 682187047 93942263 568609353 590657919 857935953 40204465 532125963 284184277 308476681 803999135 662253449 593882453 930841827 929396599 591399277 310545897 449949409 460122267 760752711 219928489 25268323 448982543 611432081 415047371 881133625 58874501 3021485 995569077 663984535 824054611 471016929 767581683 111436059 71147385 24686947 993930551 175862219 847854749 81271113 883895901 459658773 282521105 97969045 101456487 536035531 931447753 511017265 736086913 156190763 491087205 463423725 708960253 174664925 212183853 849484931 90027865 607926507 791233809 675238803 28544309 524563661 729354661 969066153 996035679 616803935 860356397 275302963 256962505 840300005 618206861 414473613 382840207 130568975 578091605 832519671 113803251 112723951 181861819 857307035 930675297 473314821 614957473 146192521 694897261 184814389 954449805 637962683 836140241 658503885 587583149 207637009 730910831 625024129 660732635 294820695 393016661 516000111 960031635 100559163 308132791 686951709 507686655 361987161 477144813 814591095 788842219 830947121 668085883 221816019 26631123 538257707 8400141 693662445 875135441 990929307 345166199 750283757 203521969 4772537 574277555 53696093 793546717 436603045 528838117 202161971 902802291 316192875 140506455 421987023 979266859 652316409 779509629 853205491 11966067 75797034 277225203 32555215 305566293 463424447 788094589 366453749 535860875 349895779 676395011 653670757 662156915 899008163 529895835 996141955 597568533 724328445 116959871 993048603 83022113 305530831 450363411 788947813 6579693 928664165 345445091 839329533 165152375 375227373 159891359 751478505 484357481 345722243 47814693 63901331 81021201 541252645 981209721 45942741 291121255 440489921 127221187 161784809 455570439 906489891 454932315 537162359 165850941 18111497 350412727 138613385 268596469 775443985 495206269 739393941 352932553 9389509 350598265 551436409 902139381 516816535 299675 305007739 859416163 241230049 793464067 131322953 218030495 165724897 42114287 802770165 182373859 146544581 593137359 401381117 43397391 894540441 252677939 433709385 496149415 575804763 371993049 444022307 794751453 760957417 53135521 650992707 688028807 997387533 135803033 176858565 328896037 438377337 277015795 524065581 422619101 268757188 428837897 690851947 29678209 863539317 141816929 407315409 465571205 975524079 601233829 584975647 592736265 925047941 115550119 220814969 773182933 686120051 214000485 625060205 707060311 932446167 680836607 629261295 289658281 808480955 600483779 245881183 177209225 754150673 908610339 807140733 351085659 720063409 832406459 117833083 238433843 953295197 518659917 585180909 570746311 43831233 214390981 866628817 950563189 791372905 464704309 83098249 377188419 689973713 890725083 588948709 636798693 964430939 431674905 998503195 158005933 805351247 352987769 555864519 118593181 635309535 166293935 588569069 204858460 551154723 548549783 77462011 903791929 564301341 569467443 471262921 806786349 969153207 27865775 419156623 274144723 572998339 136832607 392436215 984718197 48048631 719105725 516829453 269698051 914743799 463857005 38795845 816209939 852297033 493544761 669951869 983130597 767143011 143632661 141045499 719795807 452239003 917789 898335849 984147987 51274037 340483477 109011425 711255091 347604053 772113893 315522269 79666597 907882003 652302755 655699781 372076523 626151267 640275849 49913955 130486325 134263591 556088443 196308461 618626653 24966443 116166787 81378049 367290847 650028319 26193367 71737125 294952677 493440411 694090703 923677511 193022781 742897953 16535023 620965049 416516447 326383387 66242277 663286841 56415591 106915033 407981953 252494575 149466145 682320533 887909823 725679975 362290681 875039855 180027331 928743571 931328009 986577267 46418649 151481557 771430669 942579345 18638961 916574449 686944365 847067041 327523113 997590801 410307899 455940197 13955013 890005455 817562411 340353925 802685487 258817317 222974877 824289173 620901497 910454137 235699867 471872013 169063391 331840153 919118289 441387599 344667079 346808505 853444503 615421601 388506807 415605623 699018219 879223097 138918247 444444889 159564663 813264685 935714223 214299723 619830411 965413247 439619477 750980515 668776475 286685207 580083779 92638748 231037127 193043657 648497419 403816801 188306903 504754253 335532651 12038777 527253561 348781891 486795523 140110045 52987271 761912631 840934049 19779431 841448189 901671319 732283191 511806305 54632581 941186751 653576673 582147443 341686701 529852143 572847585 121188023 831327403 199053647 178337699 760508325 792734561 926586099 29916601 519237415 22032469 701363667 390850529 291982729 378182581 900968399 498259451 197537663 261894745 708270513 932051733 546025767 309820609 821312557 576128097 798034183 723464725 545166551 126854203 47333643 395963169 446717749 4751653 880462215 350618977 973056941 311173323 871126075 364391407 903468691 680615169 425639245 57463445 688177439 943499969 471686727 368388291 983094385 585410351 803405599 790392975 572743315 877447317 391802676 720339897 396456825 613927271 279208523 537913511 26844663 777046849 215153039 107886441 791919827 610655717 432811159 133950135 163043763 541388353 26055265 533802735 837755435 632053091 107330641 308374297 924329649 875260299 825448243 172214243 387534761 875140379 858933823 881336999 29615197 486771615 462756369 772894305 576068091 369836231 953185197 30947515 379290781 250992497 822962051 732006659 655533127 958805663 497012325 66241329 371890655 902637183 717064341 223393505 345279031 614382433 745020083 111319647 68659467 431669441 853387471 802234263 525682681 944715843 946722653 467705121 544721291 478506161 232475707 359317821 688031795 294539521 614107055 818198739 409715017 946114379 334887781 75212911 716514321 73679829 577871731 359856971 452759217 876167175 498854229 807249991 593807163 809079673 358928115 114965223 864040619 612859617 897512855 694166621 954733023 199742245 52677369 2395775 614862497 587747921 37230133 280900299 11612323 116587157 77918927 879248237 666592893 591670097 901062581 342145071 753803441 53807109 897524799 588991369 928111785 231636827 302490919 556525471 159304119 940228139 911404435 26284849 525517841 12735083 857553423 213016757 290430427 453086785 111963539 288024383 502876701 611616505 662393979 635047309 295332807 831516677 124697485 997692681 18215095 711621633 544392949 829624510 798924969 455138221 643411785 879822955 778390601 693202681 440313989 943253353 724298791 65426935 417344783 561614783 944323517 758803935 597029045 391190815 763091565 280867865 180160941 438387681 668085887 495950637 289496465 887390721 991669797 530419663 215572073 822509607 600900727 986851291 508771235 548782243 626001015 349055315 44534545 915661421 804681231 372397411 819953139 138205221 406589199 920132445 57971179 453173007 226644529 673704895 195677707 703998493 768489492 903876395 916841413 935444197 19886663 42065259 163986423 853521061 282639927 920871539 796918245 30613321 999532093 849699167 707054143 50269787 165562011 196261745 335896087 825490451 216434299 541783317 827494383 764820563 146961133 78581471 552458407 258520993 327905259 14081673 7837839 136491565 717336917 181701623 519614043 201801419 659734007 922032691 428690473 132961791 345507967 135297137 483696255 454497515 123465353 493353229 269344585 150941283 244957077 294656139 855845597 729960411 802209293 89805971 322463481 223220853 597701185 4671739 739019199 610216951 220632939 601096381 225524929 911652303 94764715 625819901 228791279 97887765 814157325 286910981 273058475 942045833 48761215 921400907 95171767 767561105 989050333 777036135 928592707 493604159 750880231 452264735 210588129 189739591 299250503 733751899 200417681 368824073 769750411 54991409 708534711 391041165 47259953 889803483 695454497 263771011 136848537 663080639 456366339 515528001 195917577 939918691 197775355 646418631 615832501 559873663 440239375 591549883 463873719 197118699 280554667 63705965 630990351 105503149 581524899 893099475 184291493 163065581 469269561 406092431 321006925 121759491 255746829 447054311 691142079 991209317 512244783 588750283 865099163 857903033 625429525 221915855 608298349 247162059 972974233 614115639 512994211 65985933 49757187 829056485 199021975 421405209 140154881 263704429 496628877 962869941 740019877 552608003 482435243 384861899 431052143 272798601 145352709 61871085 152706625 451286149 918197651 670230745 435650157 887870245 760863797 907289199 398561701 336585025 935361461 189067453 744067335 608247385 594561989 478196213 264369175 284694163 795440383 168981363 421505477 845844927 781446115 913213113 162820453 820785749 707701721 186930291 567210419 297551989 769410099 512794483 288430037 117237475 37416749 756731831 104711769 666808337 377700581 712390497 753472051 574284053 356373605 341636539 387086787 71230637 826869919 66656825 554649033 216629827 595490669 126213495 71265401 948253925 238326925 67438647 400537187 641166411 822538411 839972965 620950405 204125651 82273881 530724373 143303751 212311941 721925901 975663743 913258099 760231183 488222763 182488331 25497153 879840971 177281019 788060737 926939469 864274101 214441135 24975063 311561627 955632501 76493665 146283685 892307609 6628189 136293647 918948783 309668895 42210657 549269413 476256033 25150823 286614563 590675189 755054159 769959959 921061097 750837685 577134515 654321981 780697761 606982281 267396593 783168589 374564579 863141625 599532755 573060645 425967343 937041015 856462927 445892107 398479531 466317659 554166141 285158571 990398375 555587047 926196129 82432281 996960795 197051205 405883177 50102231 785551335 641006727 108906661 66724805 40610703 500703139 76170705 57878323 631714627 535328893 902147729 158147799 919693789 530949597 887566321 405254347 988109275 324049523 68023585 695452055 786673251 55580635 316923519 281660713 566590021 487815063 279006863 269679059 766838007 995297293 849159931 234431317 83265435 233407887 983807381 148357587 110696951 974797143 383230809 312631513 149446011 85251207 659455851 31443039 811514427 251427621 683709975 712733121 395646969 859846951 433771470 809305285 510496541 91636579 548753453 247248021 742152629 348292251 764670711 517264587 834486903 60451961 452937495 553928289 828714435 753271437 306866079 188345533 460236963 827265873 993196237 974654637 364484547 64427303 322614017 444684647 954944123 212239191 523674569 626618757 924489163 828573969 470772951 322278927 636445017 941921905 831027973 183968625 801524341 738425719 984380761 214163585 535008535 8700173 310412797 507795837 932773087 396351491 197005637 911385353 279238161 910931475 108972201 39947569 931791517 558986973 148980177 5375085 271213341 580476653 914856325 350528151 526573519 843174579 253437113 228820473 40894873 178086789 98166663 453848635 167106827 586265769 496834103 645816695 948753755 362932807 489522735 232011559 54928235 749639791 515398915 466691377 593953473 262275611 855466865 251978467 645526667 410855467 943318107 309327345 569838755 183505515 231113675 283592569 752234117 506106505 116440053 10567937 999912539 60803361 226148917 779415925 476647921 939017907 636656653 869429803 332486081 936498343 82870313 664255455 406648299 606338129 877536093 627016119 788020019 328669673 756018083 493929027 447759883 367960975 470139167 214247539 575477641 373577807 261630747 646313 103722605 659098903 831866637 666045351 192142367 920370627 418830733 149945755 244533675 475382289 167485279 174957341 624085195 709247663 304965233 646109221 19932381 627187755 694180049 834915101 418833385 222718461 778553793 347520465 141596575 882152843 479728799 652037749 539578963 919558937 665502711 464736935 797907465 765464795 820728959 970554475 95809380 925058539 758180367 330578737 88026807 866024775 650276011 72755405 832771317 350216413 512023937 760146043 718498497 485941369 495857633 740417505 547653985 902175961 776754759 995627533 132303811 451328667 887279447 674307701 30129025 517827913 567913693 36552691 108632023 259274837 479851211 495594447 54871725 878690841 928357947 987599541 220739989 717957333 676044915 448166331 431104195 935776177 11774427 229397855 347168793 738913215 841260299 157800069 207406107 950958843 580516793 579259769 699356923 865694531 459379659 713906931 831625615 327278433 87912013 529039117 509353047 956908551 364149361 649720401 245757049 530721997 896731283 140315305 86814407 572258103 884713779 800456297 679817395 452115883 969664513 896037713 584276835 572436093 653785807 812365701 602004121 839515363 706473621 759443 177757125 529691137 314608763 379151983 902642433 219896799 433257161 366569591 437614601 915709551 994109427 855856753 601035079 514525321 738258835 573770121 54463177 689670897 998668143 702911317 887262535 670399309 50847857 792122065 260543775 190930735 878654381 489136997 262614871 939934993 805184861 261469147 790773923 387679573 980927459 16970091 499086933 953899331 586975949 87903919 596467567 737082893 686128589 862403247 209082265 695746507 56183231 611197913 301434399 470441089 649683365 737150719 653790459 602819347 485173165 745597025 468846541 345329753 448548901 237901987 429865689 151193607 365633677 824738259 629418001 898179521 192746119 957242981 411049995 376108559 825212637 895223351 688817415 285332321 602240133 734653837 976544747 731539731 927269271 188086807 197905223 767472231 723131991 497968617 391517779 927638915 541351473 161923199 816816621 880815225 523753145 80828863 478579613 115220547 832802473 83483383 225748627 58971073 190562021 483003357 654910117 574002367 621930871 980232587 467559249 499351789 918217365 199041417 237110977 738608355 620745623 852702915 691501251 96166691 866109955 442407055 230057933 272288535 640147073 872328619 335650817 874490895 114003943 572112187 279782437 775866437 446850607 593301963 484144807 488899547 419498877 468893779 440822943 279047639 145675549 669154607 592555215 901467439 655152769 559241507 855053465 342959545 324509763 202018399 61092113 138614583 740378407 432079733 525124587 180140113 507970331 321599077 430211207 554908571 22155823 621304725 895685359 490416269 585748385 278823117 693916877 805803145 724390097 879807561 954316413 518305749 176325197 101658529 309868029 550721703 236539077 241374429 383884787 106585621 695363609 980764009 811292337 292971809 560616009 90839323 15547177 764506035 840839295 558810927 91222017 198380959 855010323 152379725 772098683 891056029 403497339 28684927 408125319 107220045 793133919 96923709 934803135 117182267 571727751 56167265 347015007 820188117 119778277 315106611 559763793 759213175 712635289 796642401 764907043 197849953 497991139 631524349 908871179 894446011 419695919 16294023 703777003 828587673 794023953 211485923 952821065 265745907 160713793 361039711 149793619 677041065 399978407 709808815 427049441 481812615 241692491 344362225 374055795 850699067 654874209 83154601 900343089 433064801 230540101 682785735 651034087 661633655 948166777 398633631 170928399 57874155 401691561 575679725 699727817 82761993 709804199 972810455 532375513 619757071 985478769 628666861 758032049 188706075 67909673 592054815 458216551 961993785 318152217 431633613 868720315 828604247 833433269 411354045 168049171 685500239 921293209 399890973 204422271 56090341 503719049 48786303 342077111 89985983 596058733 991912675 524972313 11600241 212102747 765880747 770982573 387044465 431992461 124669609 534442017 611039523 101941607 620190991 101753550 382285521 108066931 350991737 497043379 349120169 919286117 826757873 468486263 164931781 465606937 909186529 962681449 957364521 174827667 142485277 464021375 502783163 987718139 47015141 303893339 887321679 623606183 614122461 655750211 760256411 382129425 325864467 412383269 460535875 203302365 632717307 842014617 466432207 422366935 670317941 657918175 433766321 425559279 440652483 573898463 621414979 559068229 275665299 650063909 348555203 348756759 941976059 797522411 686830685 249371861 424215415 205549329 779406883 409868559 388690927 506165531 123709451 333845633 900836525 639973179 386620665 12205583 198105449 249174855 237683893 600271813 717812541 464828605 564102385 98122709 642615731 742288329 353530949 260529561 719822770 331400245 350201139 742072471 136452245 111081593 929244965 218683257 371193623 408837303 305418093 602331409 860761181 907073461 142038593 683560283 632754421 388658147 725547461 590369405 252370387 254356565 952699649 827070399 210595669 629940175 19738855 581124755 256741953 541322677 318393167 328098713 11408579 834157333 452984315 560193937 789657455 755377579 884811157 328142439 995438663 107707089 57881773 700699181 152720299 61996691 894923965 754240545 686860651 610056861 287503655 145782179 510345661 324101447 803480115 759537473 49001531 55967889 490845715 569145773 855760621 844307747 9683423 529253059 191552319 127432521 89434265 198326405 282349321 152906749 735563819 591727647 137489283 626067423 411461221 974216933 50779735 337137203 604764673 876825935 282889361 222415851 924683169 443806213 248747427 125361309 470444235 943129807 684856943 280075655 836504309 234737057 734379577 126537875 767728757 236264343 56893357 680746833 836505485 343772659 752194527 694676467 750507879 217652515 834109775 835190877 593113363 743985077 766816993 893981461 750317195 858504553 213841123 366355019 303329199 442452513 231181835 429722835 933702987 646510823 826284659 694842673 18677775 429663473 825388707 943638663 304711571 725149847 108890247 532389801 95735641 33591901 535789173 245795851 826025929 333817839 834805289 565980879 178612023 764690209 341366218 123960763 737129691 375674093 727508709 413579325 690840021 604068471 340578671 979355757 46337073 631572491 296500421 174157323 737933277 13026329 284026027 353557885 837889973 971167295 630897743 880534229 136154745 179027009 287979337 496536263 75725267 307985161 712171667 917922739 851168083 836532137 385258899 321107617 598102385 831195229 665312533 570312257 56536723 450159497 991353939 139953129 836189181 234993849 487331813 273982617 19724517 100707741 442357969 784773111 285195615 660330261 368116103 500156243 505970545 361953823 505221851 705030819 169887747 296371947 399499017 480318345 388471267 147790793 580255929 676524619 804627151 786516533 434204661 557282521 410426981 372633045 396079923 17963975 939323697 738473327 649168979 675368279 829025697 216636923 252940183 433294449 405366545 581750163 831851693 534220195 514781887 279742585 392733101 69423139 655956697 892550167 252032527 542708435 972968299 515851781 594532285 561176375 329898867 360660729 344687107 933872257 601473998 689063899 364850325 92445321 221506121 573804211 433974415 148107467 977188501 710053301 546583931 26318191 534390599 811221051 889975363 750930501 283400421 253384139 349573179 619422661 558309077 646802703 403468835 446000143 397050475 759899355 820417825 218746855 626986461 830168361 263915967 107716031 239382351 723298331 391730419 643831467 361405897 178487551 174070555 153417071 126440509 766067527 472116989 660308335 378837637 673295247 673168069 504509883 989842527 779917977 916247817 149149195 388093049 103999057 967034823 160427453 214550879 243553483 411624289 991191769 832849549 330582849 393023913 527181581 720937829 582321431 336630479 143539377 571491889 211970775 8171637 606636999 734131485 885302069 236518047 806009585 938197321 572042253 724300471 652913795 615764913 200226657 837676695 101775729 53649473 472694879 413072247 458934877 874516683 14354005 950458113 49872523 597553669 785119173 677441 2505453 652236947 805707595 370163371 403452699 534061053 4207801 917924637 200625233 992729013 72196093 744747741 784665207 890271251 158332469 663319191 839183133 642573145 843523749 912266593 425819771 968878257 85123509 408252855 584628849 114065709 8634875 813772417 122439555 805918915 124668209 429357577 868147681 75096919 351595835 943841029 277951077 768420785 410033957 832852885 217546125 190155393 957032993 457374779 794118271 74206565 416667785 988938471 97622027 800869849 835853537 844884459 324218791 985635401 934628055 75671301 635043957 842648837 792106043 22174301 91411515 289243463 689795595 249258367 43605095 850121265 378695015 37430879 750129427 187865547 545161883 541254747 223166971 848966149 281606173 33419575 834258825 42819515 732161927 422951971 156238793 684335533 601304729 314963635 422158199 641917317 934695491 822897123 668011245 691912915 950622101 594813721 492987703 227265041 908125901 535702307 386798337 291049889 279573579 619670837 234924963 399694539 873765277 640266223 959099421 929680575 272531061 926770771 795502613 549528985 751074735 469677775 971508443 719097177 802177613 191340601 171471463 612777193 938756729 349895887 536041049 82844953 106149515 368464691 206892789 865909667 417943547 692539255 282442283 558987817 303883883 593126923 396863637 798783281 965563049 37932241 785811569 478554417 207364007 709341707 689749669 617424767 204658561 753357673 23901121 996642141 621164665 178245373 500836091 748514035 918767611 351438919 663466293 345368661 202981275 493019435 241737717 23807099 153517073 187828983 588380265 737834053 742282309 525155679 970819179 239390079 418596927 96076163 194930039 261176791 477264947 286660323 972959157 338625001 919435645 695981169 859557111 46479925 159784865 350712705 361766321 897377827 741875015 881750225 10718213 224792839 364923205 100826499 897307319 157727513 659732373 629411879 262231097 496983161 527678041 885335475 130530209 438489651 790159585 940451457 323667375 689528117 583382683 610890075 505860555 922256219 243029541 584437353 576847617 557238885 801904707 812622915 945880843 42287355 753038045 197621479 269334855 40571825 653951497 481610425 479393213 308401149 9598209 401175429 706625565 487328581 832231209 824630659 740512955 295641037 79380747 402653775 105260443 605320137 699961181 438152687 712609633 52731987 83681271 840398799 988110429 597669995 931859679 459296707 322161029 134698489 651110205 23642893 188100475 734486737 224759911 979880781 302413189 699537321 885670617 735612307 149706897 573697829 325700915 862052179 583873081 60099791 996805441 840641389 845775289 799113749 308861177 259694883 885287673 19960657 556001139 573741347 366533003 280504007 577260533 785279107 255316387 870345629 179027177 254612927 189282595 957990628 463356641 923705279 503660175 279603867 399029659 841492687 586327065 481253021 953550583 385423777 243316887 167430581 877246467 3557463 21719689 21729941 64277999 550616949 432048405 816414423 579406107 606281445 278275851 870750713 607708167 647425 10861539 142283367 140594271 952296323 291618493 781739635 33157621 630572689 135412573 631495507 610008007 637772217 820784435 127342123 995225845 837598959 759229529 718156035 99993037 527425425 988515467 303297485 918668993 380464997 811602995 356828001 356052845 13145495 917164895 382391427 768351635 946361789 775466695 68799705 623369247 615792851 439116489 941719029 763186211 853797953 341046891 356419665 548125149 330493649 317641823 929249359 992002991 26194873 942727165 474037559 91154211 572787609 678694977 487433787 583431149 171441011 759391445 956094323 307925225 946437047 989267205 26215651 806300441 548335927 270115019 875836785 192306345 738103859 872384455 399031279 843022317 551276367 505274941 773569559 302549599 194896535 932927519 483734411 407251873 270645379 731236354 365962963 243423875 492469999 598696489 95925343 298102771 919130657 473352055 99733901 773800463 777703877 986093181 323258265 206821657 907518959 772438131 453348527 604044927 679373345 847295543 546858207 441641935 662388283 611363665 10549027 941729739 854957965 427190513 527094877 670888783 82836427 812195565 92212307 470082157 374592021 897962179 45790395 971353939 91418605 391750813 439422507 358527327 850189889 370783817 745443109 967813653 630449255 469551165 19575571 140371485 260843805 419394715 759085893 873127501 43684741 739947561 176375797 353458849 464404529 466061653 183551813 671820601 242743827 940357943 24360507 932840801 21867913 745672847 755318733 416605839 589781335 555807429 824670161 28894555 513735597 839262439 720566281 637614731 230872861 408085675 525885215 421924361 259045287 99299697 548177827 64877031 557328815 488625985 951462671 235921249 966052099 333379019 24728259 422458331 619773911 148414821 775417099 667259873 897769419 600803343 835795477 897061413 865460959 910294639 590922493 313165953 283195525 707379413 509161155 838192379 319592081 739458105 232442703 933575357 789755969 317420345 683533429 284010265 258065719 679883549 988691693 335772301 882066053 279437013 200543065 469820857 697630619 16096759 767966015 410009195 531842907 756676033 172552723 829516949 764153607 65066525 196237359 495477587 236976973 22320793 821391827 743143397 796088645 179384171 212467239 354879163 191168361 680457333 678973503 293153895 829352095 197665341 745642003 990842531 535024435 407955697 385097603 231323473 5791709 481894761 260572507 963962751 7604921 622179365 5670473 417996383 299282509 233794125 222837737 408320077 33864837 869299885 354380729 561719243 539703223 503544511 647730727 928448645 950470047 355668387 520347009 679720015 773338723 209916701 984192767 687904803 698360209 131896479 680385989 195886371 365977887 239578175 875871709 685922719 448312423 707400125 760631093 301210629 378307377 449860991 913484967 914371571 641172649 364586901 218069751 355476267 809479271 885356727 372864971 169456281 454455139 758520643 576906935 810733905 22969095 522790465 564474419 584290189 914178589 739856991 241607327 888821681 672204253 372172023 187671365 900802887 331901667 122987781 286913879 892730885 896571957 391506995 641223917 19554499 492272701 859421135 903701515 474099333 665982421 463056335 970790295 802855801 545203511 754075093 813410405 371220463 264516873 184013351 462103595 27378531 867075929 505086131 578890893 862946681 977581211 137452049 578652691 101916923 302470829 526622849 631409967 929919198 632319445 226822379 268899643 665517885 4751807 953241563 167947637 69553243 530812545 827211915 917233161 24541601 444536217 117455323 814199049 930942117 510520553 115491151 813418859 294360099 261765571 188614169 595686419 804176123 423221719 590758927 86908105 412476217 90216519 712759471 427647295 723723539 10040469 833893923 375768589 232558563 8188849 41387067 713066935 245357865 430679277 147614569 835823011 48705941 417261321 414657489 547844387 700043767 751045929 317772857 843224689 833328205 584986587 288973073 409008559 732630711 6242323 953515373 175038437 636135043 763107887 169229329 794847749 28182819 547146483 882020447 237963239 362229553 480456335 685052779 469935949 797035891 503574423 442647274 954146529 126751699 545886215 980651067 105917747 578158693 105392199 943734631 128172991 152783969 603190305 266928667 366738913 548420911 870534091 123335855 776760807 90277207 940284133 74924323 812743169 200731021 177126257 800574494 185883463 558790059 798641373 608219631 248968379 493942711 443804927 771564429 56345671 825289435 843092757 94537113 401358267 599404139 15087299 361451351 177706449 931061473 667069205 442375097 169482027 261994207 840667523 813585493 113320273 533931573 860846825 858525801 856573363 119016657 973729931 34061791 255048877 193808337 643165977 489726533 803225215 618756727 420356007 718994387 240783443 568707375 47537841 363814503 426649401 61940365 825860381 847941257 514558251 148079179 607258425 682472041 927918603 579082829 15162297 804054747 282717855 523828637 388149435 166948449 792616861 174275439 128212165 768736291 840851099 395934751 758189507 340139247 817984283 168856113 229350411 534766651 921730949 333259085 927360859 690430249 570473005 720794441 858894807 922284927 576269899 524377375 837907211 47254699 613386497 443474931 280191215 838271685 225865301 571274255 578146013 421056909 255062077 337005545 250513055 27991401 232801677 887685913 157340509 803304043 405891339 937541987 403443887 886887239 537944159 118218165 313093011 547479133 588450073 819777823 824981869 391308469 995761075 419660765 84561675 945075967 76070029 940762195 812471713 507525777 585173233 117379597 755096013 495786601 319655443 848728765 196758165 198904883 126804487 973746493 803666021 272006969 714815699 873308819 693896723 225536883 585364319 804772071 523794395 411671683 918556793 133679759 643602019 689615023 584187871 246847751 706769339 301873639 65314607 179761135 784002131 625410239 469748469 300070421 437526029 367125881 741408671 161136235 751266091 218008317 730024585 955637515 665620315 680933337 412725489 432202299 441178803 842445123 151850757 485584229 457202865 711308829 961627345 329797147 408736569 296169451 880872787 958422299 456087959 465328095 79109993 979002181 222566275 482747345 496863967 610517159 416059929 180326717 168205155 634762099 64184031 357267019 524445071 994375941 265346751 3153611 518826983 127234783 675327251 955603253 173165009 970861997 709472405 90931113 785747105 690440769 297439851 385866475 773411981 678629017 878255907 643489643 801382841 656885461 538725811 653284419 434526509 278430277 358806133 456695345 967203805 549544535 953556017 150414491 349760413 282896295 156782355 200976529 313568305 680673021 756798897 320296395 538324549 361052735 303458311 766346151 899048549 374161793 984880253 294317099 931888143 312454657 351373533 60220683 304305825 655792417 596320095 946120345 742503013 230989163 698155423 593843929 270626701 123186579 271543201 498619501 188908849 168145269 743299797 743523241 533417043 211589909 959195917 942027649 922583773 231450011 857544585 630496919 923978401 529009757 863561709 820841519 287385173 986790869 388657479 621893947 524754077 96020135 578108683 103834963 518274305 245815965 598031895 760944561 651532531 271319981 157403057 87339075 298280139 534385903 324658309 297258131 691405 381239719 46853545 768003290 24455199 295267907 844849561 108932857 168248787 292549459 558668091 692017527 864216035 688654483 346122463 725146751 436488241 958814183 486537525 733827309 315572101 930105433 188378719 658415935 287095953 927477535 135236831 80682139 355998957 604717713 816116899 913950673 124736539 799642933 689746945 730556503 838881925 789204659 161842871 893889359 458772603 156403427 807747305 705005183 570861367 368587451 424611365 312556373 266288603 818046817 579115101 386384363 949627503 765144865 894272755 144704509 738935011 920748653 843311531 188799989 801240597 155674847 774297009 691967455 336823489 988966973 319476889 997553783 403740305 474279793 869031781 282126871 485431067 955105677 553939829 972062155 172015315 96509133 490181529 678268991 995750427 316710807 401873669 756266699 336796223 263187827 110601815 26097263 293247087 768194579 285801109 674673873 321164483 17134679 768607789 831679297 648565053 142049599 685769201 797672887 613857989 153065207 867144735 887922129 304509486 361424337 557189983 592312793 238305075 826466123 142412219 88621497 280057203 226435335 391676843 610146829 381147509 945696717 869829387 71592723 540178863 959556759 109515807 897848241 722924919 487873401 833124503 369055863 595408911 895634619 681447045 59786395 836736415 170965959 949354345 11033343 878284347 855014449 258516263 77370665 208714971 11638963 496514317 73151047 956688481 33321009 839152847 949918259 502552723 565606581 896611211 824689257 597357861 163637363 35863239 692119825 998488753 565227207 770849135 261198845 208131511 519161651 108925657 166824353 585863585 921400931 226176449 148733983 553470909 597679915 158901071 302392891 360506953 329040773 833772557 66305127 224515429 829637013 594668785 47700409 971616279 107543205 766965851 836401905 557594963 560322089 39936269 980686197 885996787 399811775 415443767 687895639 465812663 145381669 226786667 486703947 147599687 769199433 309360553 154670001 299198775 192031039 104789587 63370129 252471295 776891969 989540155 120566939 694241535 398325171 558821011 621198115 552243329 12212257 701681657 88073517 760617655 25872443 729134451 773895517 286519995 777355233 665243755 859641859 195026829 383037201 103194811 27663381 234288917 585020667 817242013 421281333 694053671 707376879 527161529 665429929 964207225 705717609 486049049 655732063 537372079 974804237 957255731 437552881 962212947 643922343 225930981 466638235 3663827 818661671 344508021 602400581 95668361 141376685 364164495 426761601 14223545 585754489 875036491 805272707 982046601 427390965 95227425 529177645 286682637 476659383 526072571 142363907 47967803 378239867 881240611 253374263 174791159 291422753 423219281 979220895 527796233 844586423 873186209 22626491 672509731 351389039 657898647 226585521 78614239 335341475 846083363 838200657 903306427 733196505 711472023 131116819 711437603 549566139 714234291 906789909 819944553 373630235 591206811 704225823 319598531 159256311 649404125 135874721 266950229 710164849 123522925 378323889 904651815 233426129 874072747 697600269 880648491 768361871 984446551 459584287 962023483 66418501 246012835 873276405 818401301 12379061 780500515 609792071 656790629 240349643 769947861 601488497 12743867 870994587 905451291 165966719 761293203 646153309 611347909 9089565 671805257 316192121 257183753 299785637 950589739 80660343 959701123 635497747 851602537 526677515 359903799 914983951 380494109 336098833 595253139 66748395 480468293 506904203 814497135 423689371 558170573 690249637 812414467 610509761 216222085 664388531 104612345 817148833 618931239 168546351 554715485 365409837 87317333 550105789 483888291 759965691 168956311 75401767 592252841 35710795 917396831 763510113 222641843 201632003 496044549 316143751 471215473 551217587 319682251 80775133 437754359 965114515 977614811 23329483 524350401 271247489 321233733 323470055 113685175 968072453 478677507 948919531 924479011 792846671 135919351 312651707 493161403 647044917 500057577 869733217 267868829 794041909 341062793 138502163 509624399 102493305 6929779 965985065 712635327 614751695 394824999 774168615 328866367 768245421 323146511 92836795 118927501 340895029 698073723 484742837 23174609 1484333 862988709 812261137 122680983 538413571 78431919 765688563 30564305 449280975 973652129 839691687 265754593 239177297 446778987 520738461 300138379 226837233 797255657 671564405 251390201 240785595 17978587 40075757 841731269 691135851 235538923 463964917 712570601 486152795 554069929 891624349 707218891 658382229 126105999 316577059 998857529 93385 500515069 859008743 579567975 977238605 531387967 525677941 911904755 282237985 960007043 639218051 292593379 639211243 482389989 422542059 4569507 86975227 713081445 590191021 35380745 818433865 900651757 539094265 189160785 56471667 690428747 539955233 591456547 257542081 171803709 792138653 811129993 66049571 724085347 809844757 776728315 941414703 690458435 883959119 119100243 363248163 946600019 663148867 495567067 762912489 802505191 918441227 197698107 254056207 381467205 918101481 915930251 493642443 166835349 247980105 723463241 272148991 512139749 235699389 927362137 804465969 516700723 492197123 874521865 180577423 813454685 277751549 561751821 423184113 533857839 739128757 380385411 219859671 547940695 249547359 886599153 489554793 166751345 748869461 148352321 224646515 189892861 28571423 716805837 491198063 638233955 27501411 955979855 105138557 114433527 530458101 153060335 840007777 850115567 474337747 383119671 690227853 778526831 998993951 235057693 653382167 206218625 733110563 476883969 633750207 464795411 393780563 912204453 261171435 135402497 778060875 287771959 814986923 294998793 589830093 359727437 129184439 70587865 229200071 375671781 829010285 331850237 240893513 376769635 177532373 287522803 748181647 829431699 161043101 11202585 976492027 767511725 554665759 620531129 190696477 714410061 211398231 695464965 240056995 997811063 559721455 745883927 695999083 84294299 359890229 803639533 33757817 345958539 11144735 665494131 8651509 166087047 741866575 425795195 662640693 477294133 182694923 877955771 66361779 865712799 735843649 766974167 66894099 195751227 337214089 467712855 314696993 960009191 288374819 529119917 468563661 307208425 699982071 752671795 391796277 736241133 495775633 886320935 405674909 956079881 988164907 606913973 854746223 506742713 122467491 523471855 460632637 608555493 361744259 329905867 955620291 771524823 98638071 640494381 711367653 405249095 993775317 432809693 44566703 97602385 860748961 261975949 527185491 171145081 78582911 306146261 216493099 853106093 367593535 67143225 606120381 983345477 571960921 992682527 777308593 850406139 565057259 54152921 442820831 578482677 200223421 27319457 555986237 327111871 664978495 930566553 358753523 513588305 413886597 612505289 530839879 435428615 270346323 904080675 228637617 48621479 867482379 641720447 994574027 441015389 168725953 606598303 311168855 331471295 166322219 24215597 607420225 502875081 827035557 609341883 660495515 964566753 380371515 205613759 810653859 532245205 183619481 394111643 660649145 913848283 607786007 502364059 621967211 652207501 4487093 892476399 243394411 44978675 411857691 926512303 487724693 811986043 949896341 153376477 972849899 657613047 270203677 387248739 805099417 801730215 810070867 589039377 160918001 512951597 102192251 909546913 196706417 826399131 989250951 188155061 351942587 577426275 534084107 864457173 341763993 733026147 402333003 860364401 674846207 133513439 954594603 721289957 426548233 111119495 128943931 106962801 41076473 931878253 979416499 299951423 388723003 34765329 199551089 571386207 509756771 62956377 458749437 466594763 5372715 958226319 472489605 379421797 637815415 348708201 441167587 196086259 23421009 857374981 535078291 808534827 52671983 472609513 414116799 154981283 893869481 444892929 578131509 26309853 12265987 460243363 919472747 933717313 933738153 150547597 378532227 329831203 813079919 147123681 916903745 875974587 60700495 319325489 303373081 11965483 951647085 747446381 64885021 424452729 259395605 374198519 670050063 33311899 569345975 717730961 198366549 427557735 856894961 856694891 27240449 337109407 433122951 192781335 196505543 454365931 952200801 776263829 253083399 830985439 937292437 576204617 104798921 532419059 951611231 588658433 751608253 747543687 234451231 842201841 420067129 327179751 92662113 28581303 633267259 352210753 882478043 718492761 303208557 345520305 220017509 218895171 547118877 156555829 927284485 416966473 172219971 500172475 159960293 36734637 26417533 983317265 184328023 977716751 101566227 963775215 131400151 308564351 998669043 65801723 132084235 653819763 128992695 546668729 499297977 229372357 892714395 728496541 269979865 671873213 755509129 283050497 157793413 855554569 804808207 123247397 230116349 215645115 222006371 732550961 406968497 694003027 358099303 65272889 891525683 470420147 254936735 797025075 445377339 320956205 429693245 201121539 83649201 879128691 593735447 921130355 798767259 504829347 241474989 527854641 85604657 927738433 612123943 278192087 145771469 164247357 157226833 910413033 996325361 352260075 932894373 127302349 855860809 894933255 333995329 112107734 223425961 955841463 99156975 54805821 216192009 30911113 504501529 644417059 821203345 803897457 681355739 257581715 525483913 748267469 929207026 163150715 242838373 581358947 14000071 594212533 595968960 781391201 174769511 376388101 514180959 417284697 29484939 421630993 419972139 732915273 577280401 535926635 594790969 261829529 585679231 880071055 888078019 163441171 771096329 110996443 993869611 876791279 709465729 314302105 500445185 386267849 117205481 169106427 966913011 991498405 53496297 326153497 756920543 721701617 647274703 458667767 570367175 222041477 531853201 767256443 493575895 163282331 529037009 131688567 493413987 670300889 989914067 194474661 551482341 5995597 264237961 490699431 841388033 942015851 300127113 782938117 451510403 765031697 749555475 661165104 264522075 712467589 268676623 770272643 377505703 633012849 845527049 20996671 978309803 427504111 993904443 967434635 650222287 747009915 27453827 846989945 908277417 565489655 488721257 401943811 600248307 467730355 940172061 486147339 128876689 732820325 394655093 952159577 977467791 44090663 706583281 286650527 662896157 169219457 770952887 153223797 39038619 59249249 488948119 612742237 482192263 857663001 598012167 929999553 199133329 863494249 581512745 869409777 316281225 420847477 752613059 248020263 424062827 822453961 635901507 363697541 16202589 65864797 179818691 728041235 865814437 848121229 438013439 493487555 608103099 72658463 871045729 321185900 29090871 461150013 925758453 511803859 581756383 457052289 986321271 644062111 149888669 525666533 795306305 904887137 561404803 554859983 110167135 253185939 145205455 593165837 311994237 200941717 285316321 132878549 210211315 198302643 616631623 867194049 276088001 695606813 326753203 603329753 144249741 74928107 772110079 601870217 319701415 365607199 771068465 206100391 232756487 952738977 373818227 245083505 105129803 723333445 67731737 249614217 460804285 740910275 913867931 658640385 834998599 958234813 760393633 495844683 765604741 913899451 2611443 488387395 227504565 805887533 272501125 146415667 16343227 424772463 543574387 547504579 414114603 983616193 70746367 366092813 635161659 611191883 419832213 913319051 215849161 942591521 269382343 237254947 298496093 42904891 231825235 969259299 567939109 784320123 533044763 978868799 883828729 31147431 872217385 449376149 486605659 985471605 409866929 438035626 501015661 622272889 111493647 210582125 185071363 67818297 876861125 577404465 150713233 47306013 257948545 807760051 802729017 948849269 665644817 677846809 4481983 745316729 968469877 719873011 21064341 730245199 384581327 302387249 756401617 595439099 217417835 56967221 470450739 205945201 818631609 526538945 473353505 385939083 650634071 542509571 465634221 897669897 343420935 912542867 462206859 362489747 691969975 545300585 770056731 931883197 561557111 744359407 643793253 736089087 817037699 487748849 16326935 495178425 179044415 816254883 252815755 552587573 169653557 460749219 157274303 816658343 427774747 59510005 709766489 13368611 602165193 287061257 191056297 236550831 911585605 543226803 346306213 739527217 935192759 296358447 675459823 347204989 898867061 603542051 733425613 669300553 306742265 75820189 626454573 497937979 837129449 914032915 936228775 831585751 157062155 763173983 904299389 31591313 400836951 668064201 689030545 895293889 190756837 423219709 352647031 780488363 191706875 778366481 871497059 174017909 361733891 548424323 805648183 709058355 828795535 408848949 342249335 452717531 170397019 349023097 908276308 803915601 749415245 764838657 27053223 496655455 639235947 982556905 916975853 581027251 310049005 121298363 343891021 449970407 262250541 805961055 120343959 523766141 162930605 285812783 473762371 465251297 153655063 450858469 390736239 594298463 25364547 651328167 929709795 143286835 649123367 498774019 32825871 577432191 788565483 457385965 688895241 261160267 286421975 543097795 713968015 440665225 500606047 690385739 841904651 275360019 139406623 731725233 919208075 373692327 265232345 961631371 46082503 792765425 970949497 267790549 531129371 594169731 24064273 773494775 941043347 404562131 96194271 969684667 228663258 978535493 574589251 983119449 722784077 747221281 180697549 267119979 198377957 15987863 585371179 374441721 435571531 275438789 214316347 599402353 402252497 322163623 638183423 53323173 532629611 820813353 99996835 803369429 141598651 168442139 598445947 139393189 861111045 330781239 13269505 523082275 881851963 843426591 644936151 101856963 761845235 71932507 828238795 606543459 552999533 647203421 659406545 422512455 674330767 320974461 459473665 883743007 703794409 288504317 334728863 769663487 499748531 963385095 562854167 584415587 967658187 798146475 557055997 728923441 847891129 865128675 836233739 382757559 680237997 3373457 841499173 580108203 835637115 795439997 421986391 474568487 881275303 625794647 354485457 983330995 215528533 124549819 750827249 757180731 157099349 227765547 566865979 150863381 119128349 219313931 483856727 146740223 390709199 518248881 739202331 387188765 775149617 233948501 157326211 950797051 760741553 814507033 299602607 511084433 336753255 168507141 939154411 626891835 910630931 430100745 912918189 443536829 665512221 134548993 732565389 485358151 752590481 87156141 93266257 160776811 769796651 936854711 382677985 135569961 283861829 511464879 105349461 410367975 817731049 105571855 154253027 623718765 806321607 866599223 325523441 540966647 92865845 709692275 637104907 713310749 355034163 849432817 92320995 47305959 779575655 39279309 316137299 935357633 728963361 64084999 263109217 67430785 640464473 619551369 228506423 612954211 155729325 321246755 748835111 894479119 371599461 3441549 330836143 3610255 393337713 13302637 986577007 578779737 834658917 141377351 290674741 978626381 570127493 51837073 251492339 948021933 785421237 837814175 156060867 42642729 51596165 619831479 752279531 462042579 241142315 259661569 62717909 299782443 618160009 303117709 98969877 838883861 692468771 485140563 317027171 449154783 445240365 299074361 405616295 965421117 777353337 21172483 36625385 615859277 862447496 517177957 362748509 695351187 391185539 388416761 649387615 92105215 960249913 911431743 79643761 863720933 387199007 934028959 75028031 451150593 909083479 141045357 372945309 18708345 214746021 645894879 49747845 86699229 873393787 923138331 764195609 309177117 398402031 443848485 203029671 764513689 506421183 245606641 197215907 86843927 78775383 176884057 722159781 499555781 201332161 612542235 502028401 805647925 798694071 490333669 775160563 777803879 331003799 757043011 615014719 546614717 67532137 566962099 740722575 496847625 170584283 462882707 396112455 837633405 690289991 574212653 321540337 747188661 733010857 10331315 219674947 795714747 963037611 195470143 637842965 427521273 913360027 615573455 851071083 810681667 346533487 638270289 896930416 924375513 803084489 557295761 12833915 964255071 557484013 241250123 599051781 598999523 409456079 988452641 838772911 852364761 636617985 70643357 618126661 234773793 615930309 314801197 693399229 823541245 455109377 371692843 283339567 85254683 198761287 284594393 346858207 788187537 690965963 808755043 913700155 788844507 390019949 271233749 506375635 866420449 442568631 788496939 820132707 879676397 847182803 648011335 749876945 821410487 305234333 504374001 885525027 914213977 53377171 8227803 272500625 134957147 930555611 366803871 869854835 862164395 822555717 595883195 396499535 938225563 146024777 145687707 40991695 370788587 12901381 831007375 91332549 279930559 974733633 383014609 296182319 642823589 465636205 170422659 186854701 264230545 115210653 315722669 823345165 34531809 941684885 469952577 409267265 873242203 4629431 924142359 456019043 801668139 251461143 969603059 556621625 648825317 321923945 423285625 219247789 549996427 330914063 216585793 30016721 189254013 135384847 517958079 104714467 968776587 283483927 541777751 82473027 721551339 199333759 723894607 300385151 763055671 205256775 946570205 796765513 94431351 887098391 969216535 719281533 303468567 50963259 602272511 371993629 291719407 516169901 749522559 461119061 297471543 919508235 615404647 203851641 765654937 896202655 63849329 992766467 128481825 207007571 726223423 177471125 883455809 521338307 860955737 784228605 212922843 84697133 287066927 703875375 80546099 490573431 836314911 911073857 234656243 489368113 839286885 750211453 467306293 446335891 540702251 710708553 653227379 592287867 822485893 505378875 802434963 64755057 272523883 690645005 908226531 473867939 165632191 23724193 109112601 568010987 573181257 665937159 497696079 374965957 46735033 559485037 248434957 474685787 618985131 86470961 644922943 830317947 804749471 576152533 51668283 592971931 928423679 272199175 63820733 992259549 313607195 391707543 633430509 558251781 875706155 219296129 695134549 391218565 87352661 637593833 262292461 247390069 234454687 637195289 830282001 369722001 335902969 487596423 888133253 922374977 657854783 789106891 188313975 599080853 845408305 679607209 172174207 261104197 722104183 699224335 713859991 338849713 658359461 2022925 418511653 784864989 868148275 654167775 43255541 421857915 964715649 832703977 12064321 388949985 826901723 905661623 966524833 486329357 432444015 870431481 483894299 857395881 648863577 712876943 365111327 895267587 840800153 530186615 21288577 22561043 675239447 552220385 293804925 612100727 364358055 395599389 663177147 398964087 536564737 488932009 97710917 731310593 196573381 843165221 920483473 502870191 456928381 13192543 855782783 625403837 448511899 485522759 663431761 678360085 354367865 963850237 256009909 416874565 555921751 732511169 687569091 499074435 151453021 240482815 559545843 952000177 228810143 118538313 902955567 925570387 654961939 213453149 320451267 714171035 85437599 728653339 721312097 691523167 313225223 39143057 712732971 356515359 817407231 117021425 907040677 646116866 197640737 93760663 493753275 365947863 743153131 313178373 105043137 83003925 346454473 416767717 249946487 927029979 612992269 439655695 902425859 760851187 860373487 477439867 505574895 921124039 828555407 934368843 917188913 567524211 522342903 420715725 227756327 169280437 246861593 482792563 168114839 389209843 806157773 972942297 266669997 161089597 354223575 434984385 734462207 381787977 546148829 729857049 427390091 466190713 3812977 859093231 770772147 628755667 178689295 314700163 844622665 283676935 423744789 16689975 549755517 684626025 440559309 34519189 470923761 297200891 825964649 516110929 612393895 790160229 916746497 331527239 150491407 262668789 679524249 124083323 575055867 268280225 207889431 60379157 776148907 130563339 548612685 452659819 232219587 842718583 582385399 199226871 920808273 144846807 14183601 625248093 296382409 235848129 174704905 148584551 399741961 690358389 410489199 733835017 96888151 280928219 155980861 903515745 233630303 905528703 855309745 244531117 884950071 193533339 700955383 362864986 152038235 760910349 645965087 623576575 47987891 859937629 204816419 281503061 136176777 310935995 842446821 908006205 910683027 86356477 406724909 422583491 945134065 937781921 878674093 367472413 350204453 630667473 529240061 927922851 955023901 56752475 708662431 605384155 761767473 470344119 265174781 61236845 919949849 829690627 571742567 493245487 998404095 394221319 799416601 509977629 684746607 333503793 872806191 541536087 547310685 179019163 815975863 829718571 428807207 961744385 16105633 959424777 932951697 528622283 847389893 83740561 122733259 443956747 576230629 744210819 953423977 643276917 140379307 269916617 934659687 212177515 928325031 983494011 146075179 341167857 421297235 580822223 770560131 190240441 449681169 516036141 975288995 578449179 168010023 88982299 638070059 799424787 512065482 317196625 4988701 374007369 527378195 979034025 592117991 645612045 999449857 806119205 150405983 912914007 809450623 432448497 438169793 475208901 521949789 440552543 576641461 418570143 188059221 199224813 99344967 587139797 87757319 228873275 820581097 957013245 453686783 814231063 494484861 815724117 814285995 397076083 58646085 788377031 321415015 157319019 281423089 80172513 992510323 145274177 203619731 687873499 133800185 719463777 480707499 618179219 372616201 953520479 22925597 384168337 812534683 975806965 816391991 909620739 928592533 967101957 690816429 919047105 574804155 777738141 987979679 606669901 265116099 450263281 843867789 24678345 602948675 156391769 512190825 134672905 279311035 805022809 789344647 605906817 318017689 917700765 326661541 364802131 578497835 530001657 133243109 774583619 701362347 612602215 780958167 365918915 834121529 800048651 387733873 634832873 941477343 91168303 96784909 353824629 978252177 55406919 243025523 71680205 807522851 944972783 45048529 5002499 558414683 559602923 715686329 687014345 544907233 970449443 136790827 850762885 868467267 964453805 98563979 574074681 149966335 327030467 671963301 916232597 942678131 64843465 959605937 356733939 211109867 635174987 958654283 322762833 630228629 14335481 414206073 19611989 380989835 961335729 478247335 461751117 701725137 903750007 728235177 76144949 90766157 622550131 146089665 507540905 855485395 574519805 70566287 32150001 898511387 717301899 102724643 225969403 209954501 86047939 557843441 32971359 284674395 603125873 313571289 742024031 741188943 857036677 318337821 927483869 858503931 579190047 524809323 35158381 431633053 953700477 386253017 954064963 49912161 194934287 881704163 439412799 549962329 467392101 246177649 491992555 108735867 377423677 715490511 767848819 406102187 612984951 426154927 922287535 83960499 131657505 595404339 280501535 77399105 863030893 321632479 968805097 482235119 227650229 833182109 298591709 475391553 28858495 247383751 941407603 709397149 508021109 772838423 336513737 601983573 928456041 897538995 672364455 940995237 32851289 119318313 301818749 719956139 388736101 958108781 970613857 979009137 200239323 320386269 734475793 886829545 321091373 110801471 306704119 131506667 126478583 109504959 221314337 74443065 181897723 245170931 219537221 774865277 713497893 780861655 753311685 774619721 616238983 827447505 399628199 287961107 834920799 211791793 178115481 171339071 328036623 955652775 662843125 158307605 615441441 923585109 937044151 355895495 427988041 768827837 80865927 869093485 795031651 590575439 394723767 680527881 897919857 833717213 134668859 433730181 663046047 545809319 821598645 498576560 450609985 907027281 653429865 83191881 765860305 27408103 957885513 347840233 125436659 698726625 830650859 140577055 939737457 255837467 584084879 644081499 47764031 697095131 472797211 283550453 389487993 58548941 176011807 711157551 728223075 703852037 436224211 463541299 986268005 677840133 396410133 632053265 530218261 392241581 439425645 165611971 585534253 730570061 976567819 726741547 273527953 831992729 224982467 198307089 925888843 998103473 585653017 440097831 982268305 43097879 784029233 313908741 951472315 370257593 681194203 238810925 388362829 179962861 454935437 762466057 429287157 753994097 242346601 387181289 717306755 832464999 712335413 678460679 892666867 672193889 773483359 741408643 461997161 764061009 681487615 940958568 133323825 271991955 358362069 827798951 409857723 602369521 548697417 42120729 262915237 304091029 640447591 735244415 960766643 914187283 859720425 958099843 345752783 639775595 338273839 530074037 968228619 535851521 910019133 460441231 715748003 335387043 615166149 534370673 2905341 986260613 156412445 44896935 486038687 990850629 529605701 729635425 484654657 404973801 872066531 127891893 97690043 847955933 822292807 730561961 294406419 963557111 713156969 479681061 973062515 635654517 701780711 207849721 395490861 208546553 897618697 148196063 81963455 527623317 75583167 942370935 583454409 159440825 819731357 908010317 987505433 201818439 140448487 125398223 567028385 98913409 905861249 681578841 14094972 417058325 656610297 987791657 385157103 555605787 973173643 394084717 482288483 358457869 267863827 856107315 710975339 298312657 549836055 846741107 477320645 130601139 529339339 870394643 370692177 684027243 70838273 630927319 86653469 387826709 826190395 294713203 141652571 345589047 114488735 268754817 968353639 511877309 420827391 962772865 128294851 213714173 393642959 421685211 497533723 986399667 70111023 917495523 976445763 917277445 494117609 620030929 247760181 981769345 941005417 374361029 931210261 227901469 104121287 471565001 626873389 157339443 13232321 75836623 88037873 164044171 669916097 291701937 487036669 386063953 570360023 247205679 396356883 133740829 669346485 110112753 774956833 904251111 798811583 641622153 985278517 251836697 387420923 754340211 558837903 970986109 670746905 499443469 828142225 334733899 51183471 923988129 328603079 568330015 428365563 247080289 430770657 535532031 361167207 517633895 218184637 43065173 808195585 828467889 103176285 449185787 596890303 778700845 8676847 235806251 515722051 588489895 637280963 27135115 914583505 255741405 794711125 746075433 70845021 309421933 202211401 161858681 18860409 854157281 699167593 487521881 823194471 637638571 265370283 898390799 774066957 346596387 885583911 684989511 273742077 714658957 652643363 528254999 55751275 985703695 144921607 228729853 29294647 822520763 276120427 988384731 67214827 705546123 759180037 667893507 672152241 736166241 115669947 579125029 730997349 880399621 66135961 663080803 417148549 727159337 83399375 952680767 305292086 549685095 380735165 131346857 490668619 183253821 488121059 618076147 853755961 340188951 595872747 687607005 39709471 875146309 256062125 971230603 522891717 599001859 677546271 324852875 31897753 649039725 935051111 936898257 316069557 436854417 766446289 736167611 131386581 716519775 686270671 834485005 30578787 880734127 166358525 632790519 839290477 324806469 397488411 232141325 125104809 599240903 181137945 269300043 646657657 627295431 649412361 948015641 91869155 455917759 352465187 979394625 319045269 502537745 224991695 836186105 149029607 765853957 840225173 952654049 788674777 200587211 909259561 310411003 536779027 700942207 246619751 174139829 451069921 653467427 128833361 4518117 17070141 652809883 935430419 296824777 680267973 573596094 913559807 44806661 38148803 23793987 697612179 51499173 301916449 768442313 151185265 113898273 788670843 189589725 858936419 341606997 719079695 714450415 717305437 843437445 244435395 150369623 342564475 78126945 932285735 41439063 65510399 557885693 389631859 566688535 28952917 580489941 271267461 574082989 816564497 898308559 815400165 778311949 907359981 936947257 664188609 673838873 483545805 823855303 181338355 732479133 450494395 273361303 971896823 888548423 87805163 716000559 254900471 75063219 182031545 175864699 630322881 196051041 582398377 236890833 697994955 400429755 604316003 107018479 142744119 608917777 576641981 524034553 767081161 243068061 414686129 548070267 391420403 629371007 308922979 583911789 835401165 856236739 858052637 493048105 378723347 656251735 186867541 604435065 496942381 647782679 715138467 81868421 44918059 247414979 152111821 46712037 455116485 229234691 557104059 378318999 228509275 799456875 826916227 190852351 455306481 124300403 413676127 554127083 388661049 399298171 5914293 595241871 575733897 678200783 361450507 168298889 85961183 226109341 472027161 927118815 31244005 564485633 64657335 754388221 774762217 435495163 440049131 886859193 485124579 991109491 333629661 600163407 165817713 723667517 402077925 812811621 897563099 646572817 488705913 471937803 966392079 403220879 866314815 678813105 550370215 676278337 109612547 28215097 178585567 149611931 759157687 853080037 448293025 173648113 389561717 551397731 668423803 293723017 809506179 247491017 33019555 461438857 220093771 462037141 302707195 926826757 569484895 770350507 726872583 270523637 424380797 784518231 257179129 500173881 639662981 716787793 143765415 662012571 651336325 734659253 361503889 576974797 672873647 882463497 503380703 565183081 966182751 759913015 4160093 200500461 359484951 846367641 620077957 465906375 640783747 184224233 381750901 696091971 129482357 493155405 150995957 707975327 265871595 624660819 72515189 293363961 4947207 77973999 270885643 380973915 857182739 14312065 304926327 91692215 205736835 527300043 202067999 670522085 294002675 581453307 236800275 63258025 888074277 793360295 182792457 368800169 219162629 369960139 398541155 583250297 779058087 482324943 187023911 697810063 748026949 470566013 359523589 525285967 605670209 747690253 404062289 215579905 778988841 410790171 844243981 705998039 409130161 418642603 438196961 228016873 295189937 682448173 958523675 55852603 199618605 86698611 949364145 565218483 493045073 390279613 572877637 977444387 762933361 471113903 835714843 834297671 598843399 201211991 898133029 70923965 911420087 996350505 136441337 899965455 464191563 63877379 225983447 407984301 10590905 408564267 496334759 415716085 987464473 430095437 478811381 74554659 319383215 189671039 337283067 547259491 337550313 438014269 577265303 78925765 266456919 150623597 365174097 699696965 103257781 360832351 865347161 712806591 572621799 556643267 506198661 869089537 615270393 754216123 927745619 204376251 134810651 648055497 563255532 224706949 609204907 141156827 210352929 556786401 181549613 515708999 319451751 749052729 700479051 291692491 351096285 661925599 636429527 566767243 361675083 533802761 511171277 55504917 485992479 463820505 261907281 313204827 373207667 183600731 59395759 892533951 104230403 99691903 231617881 847803141 578072375 504970013 999740137 278651993 412916769 445703159 181643557 504643663 513685365 370702263 373841655 638897127 246920085 155974637 43358065 517235335 168219525 207766291 690732753 948269305 505722359 944250763 159647095 680755827 782418499 600545947 784798449 261836179 217030499 818442616 698449137 86727519 423144709 26296891 780808785 371041861 747075699 39057635 714787351 437402391 297550759 654471771 920267373 341496339 4293695 542216051 695367591 130455521 781364867 403123685 261864765 391937163 719135331 614216017 775119575 230509705 448979573 57157187 947012925 838813623 560221943 753279273 985188195 793476185 85746899 923934559 814291299 659039263 279286935 804038181 579272069 294119707 517927291 448405413 243575087 658697933 446822493 523329007 995761141 619283737 172292805 33958397 45576853 658305869 976361441 687303855 651075569 172863261 842331529 2769873 832944147 216348071 790741821 778458385 938239279 953863281 818849573 171693835 468022433 402882151 14529295 76389951 346103787 947885791 866168177 862452245 246709689 82013845 706407533 449080289 109757663 692145329 913389255 97204699 355385175 809759165 860923633 587176995 75566405 930465455 633052161 991063491 151534067 1916903 204468919 817161647 206977751 771788839 222335097 135160251 804163209 831643039 912546391 504351661 529366989 2656481 137544713 493436973 422513809 836712429 790393583 748344777 944307939 96730917 557439757 765197823 43472901 27896923 572807187 139606573 466821461 651034049 114713179 852311711 875198815 884260085 875849699 615798147 295249625 68597757 193783631 485881331 197839259 319722051 40544499 639322867 566793641 206034849 895617989 788610667 268530225 470636369 953784931 321074729 988979843 199843577 966848533 95272171 716794651 934365097 549968841 768756047 5510301 662932689 142130967 647486687 680238293 968520017 383208255 820805389 408013749 102780015 449880105 65226803 522500183 433797847 6413667 137554063 592111617 169689505 203238691 521905999 831346459 841922885 698434377 613594495 630524477 431678637 810325599 852951325 951055645 331676195 330317969 359602182 347457953 865357919 182321847 608187655 381220565 574435709 389451089 842442447 385349611 929278465 815850373 247805175 320215871 804696539 906568227 312537347 343311185 299768157 787362467 528389465 459160017 469825607 995515939 229602891 23000209 766254781 263007339 670775573 605344905 983193677 143099627 434018005 198667489 855191275 332318649 650553749 837809121 112328183 498157203 482361671 606339069 79371057 570011619 74684099 306723023 428639691 835370423 57411275 416474141 437750105 196065477 270007561 947220689 621850841 982215023 514062095 819316735 325362093 275072699 772075859 919509985 502808229 640095575 853525561 26797273 46938871 571970715 248027913 650356853 997899071 112680841 947144949 833583207 429460097 250840515 288081941 631212427 490911531 83368093 103890539 591905509 493498901 477091851 157848289 270194845 464509303 417409965 107847753 855464711 358549499 919925197 348834393 415712161 986066349 787731543 324991155 314721805 779382529 51120611 832565219 207438613 781275093 272040625 36571225 478947759 874041965 340173735 194340717 891744243 380558457 667806549 538505313 840928805 322336269 65509107 351096159 467285425 111288485 786302303 657280121 160457771 877198889 760450593 67312805 298299981 998375395 390057577 74139333 624834811 45654921 311390731 577905829 521263167 251951673 42717323 365373429 546608719 389428601 834054669 147846989 875628675 689138231 391048287 731031343 110284897 269491141 478205949 988915461 795824785 230784225 776299267 841217055 98829289 5414067 352967223 13871799 872996451 780116423 926628365 919207149 500671523 929502991 912897431 33104845 495126133 316552941 410895255 283033159 357952203 939926053 673762165 384766003 152725439 427264225 630519869 437651283 497633303 177953723 245849513 337093199 332858811 678582445 702218521 359870395 853017281 662296605 919882385 692005135 787991653 849771993 419271619 187592109 901225991 527282709 299311877 160989659 847425589 912743023 37011031 826177487 505783199 521354989 125624927 236715167 359331877 814246651 915650925 111098699 540645319 792219247 714949753 41010625 463489967 232807557 491652129 982099919 725529397 395202789 881994157 878668335 304274127 271416473 438674445 187521409 183913765 952181529 131113173 316365137 271548415 949363519 597224265 855632141 950126929 46141013 445259083 294110481 358554165 804398851 660581487 166850973 127045105 557034081 899363563 883309017 530663151 586093293 531399837 615570136 549025219 450109323 714916875 737917077 753981989 159315081 230586727 624256237 578053117 724405403 821036937 732812971 879292499 960022495 396373741 561363587 80891483 858390747 443276987 940414473 503994481 865515385 969171909 308336323 85314327 589985811 644222847 296296215 851065849 821696099 249680137 940966233 451886315 354473105 820033069 311472321 303027429 711318055 743495767 572204655 667384079 101113627 939631005 600312941 747955633 800985293 602768835 568518829 143281471 866903295 322481453 305487369 153835349 825752799 268294125 285419841 457484215 509488131 696471733 698383869 57627981 606423401 237061609 544528337 155594029 691123317 699718799 980046643 438686609 58135027 34114903 672980103 483610333 891734299 619036565 333009173 427022491 187271817 448067661 652362769 12137599 112698689 813308195 240026511 759795557 673195955 903733605 391679893 967210577 249477297 299948303 728096009 755332971 644771451 595465149 402524349 931331849 857090487 389878709 864418413 292032677 353968751 495128297 385024951 420071907 928604441 748548593 404584741 995622287 909066643 172858121 754827049 716766361 530240547 280380185 796474651 923834657 30950005 641813171 837816895 141935461 677401759 723301642 891155643 832704213 842614813 29856513 721210529 337554689 748007639 313709597 67725037 455137957 936438807 170301327 562495613 354525861 245036437 818588461 199937307 265829645 568773741 557922935 69461625 14322191 324819491 596740499 247761199 927300357 507477413 575944273 63035327 743572853 47054923 226862377 331088275 608134665 491984079 37580345 184195581 616782739 699821141 915192905 73524531 615043599 276510063 893621703 136039769 201842595 782179599 266007501 487802743 612051351 236730771 847845143 406558844 696491357 334873537 382961423 85842505 236862357 432899525 128694467 488391831 569208575 517148725 860807145 179834899 660779911 353414925 629151203 591443789 2017087 990310067 123881143 991101375 469490533 58850549 222695955 738995915 559556441 329977865 288820815 662295225 495788969 218389897 884258155 409772473 270440711 729058685 90485261 918700777 182515535 76778835 467820167 876378949 980314755 744851677 861408205 537463481 628312527 203476827 419058815 805027605 544687239 502399087 155321831 933327123 731790627 364081451 378707695 880463699 326839371 112289025 91207475 586432353 632788423 90858703 897783793 590742189 516786059 169386457 237720847 342354831 416199347 406396111 699366429 164726345 126452865 743899843 300342099 281049093 376465251 853857333 375797903 270639059 980875239 674907147 997819481 650056109 325842893 805487247 80398047 761648499 12288759 499771511 337267963 863801329 897741935 927460833 901604649 364605397 542329706 315487571 819984019 65929915 518385731 444350649 442480647 45017635 633269115 659242089 17534203 945856631 306266815 950175265 362790033 943141383 128109539 964902915 685302413 397391885 480495585 581372833 213776481 437768617 184195037 2056427 117626403 172602599 863226403 208634691 504490387 487774645 624577315 60052075 578732825 222972655 425685117 176580499 1424065 910083413 975053295 733604941 724834629 154281617 705579625 612012953 327717637 684563504 763639547 792428251 849474821 131778739 986939873 466281185 554284023 834470007 485755775 523254495 901857071 654807747 734531425 882575219 112450481 398960843 756768567 234050467 994530081 219010217 358896097 308864987 524294863 429605469 73243229 420787951 807195315 918261455 104537307 790650657 693702763 953430227 299627435 327328017 323183167 297040417 640759883 469235407 667938333 590046296 405030491 323114705 826548383 132711429 55529127 167678705 344632833 310150041 161894437 538787703 398384941 560497257 510046447 66391057 241317039 176935355 160389447 396530385 114809283 835007413 348684439 528272183 699271491 113265771 991034999 247191845 437383867 459550421 589704605 803868141 425276247 691914195 542326513 952844097 105996527 307056943 425356411 394151487 981917443 747696795 876891759 434893419 919526331 303472817 1456167 570316469 694978787 986552814 297319209 659756145 665758965 60690883 933325855 98440795 440957455 67697017 562613725 424767897 40600313 576751439 436200541 881413817 69430307 799426915 340989889 485626543 750535843 294162623 916848983 693750233 644024633 401054293 228383889 241307389 881167691 282296831 320606731 35351113 717999081 550758267 147610247 550352975 238085321 508300661 346026481 492488461 708571981 562931839 907310173 574087403 373774715 519621135 145819397 817433011 221477121 288289673 61330253 362951581 648507449 194061621 38482879 14347331 939066143 205600581 745600271 446385583 607575133 47938259 350619417 628688201 214236737 166108381 63601119 894719211 433412545 169017167 482301071 161089487 302305663 930428923 499010169 658593179 195166399 94157719 778889241 34940253 859022963 825544903 1930257 115651721 134846513 685755155 276325425 857872893 529630521 401363949 76308583 615853309 627912561 228379053 16007121 466628153 816082539 420486805 222728627 343230149 685995099 289868751 307801205 171924767 256975649 941034091 494097069 317343785 642265925 681337445 248331797 963047987 880473335 724637081 297601169 18311667 710299917 948178133 614897965 435585411 781890565 124443337 759029019 92888427 744519433 773301005 291177141 503635865 354718951 600889637 223019647 172884063 689093399 977754487 484000295 418560381 807188663 747720277 976377213 32669975 686305679 819295993 781913471 577716921 883548429 56105605 335624525 3112539 981802313 533850367 127328563 85439321 913029125 7466589 211269031 609600889 367536035 248212341 47140419 217427941 178862135 846913801 497826503 926380087 363969653 333685955 254499 780237161 904161983 556842035 374074727 277093601 144804377 443496403 10582225 881366893 930510133 757390341 67439809 531499587 803809641 499837457 29797061 568060925 89575861 100623143 249565839 753019811 461438913 168625507 840981243 860780961 363812057 442825413 503378699 935478989 403755255 667832887 847689449 900482917 99546041 275289225 527013101 692147211 35774311 209475445 911312015 335173329 116682225 142426779 12695409 640581161 454896621 301602951 488946273 403662831 313623449 871024551 407333457 709127789 70698463 51937111 940310365 603998539 411908429 138866903 251897287 19095203 945973019 317441105 645235963 855496175 161661479 168803797 203026061 491364629 731858423 112950877 12931383 815908195 715616703 768317641 11127771 221849229 620309329 544029925 887209607 847445425 293980719 5358175 227721583 477563477 817085057 601862611 533963241 559535973 208521749 52573633 81281407 127512629 343588193 716922257 180962007 884556679 570344581 728166551 776161991 341739643 482356299 390451979 761083721 119651747 736450847 408333069 638803071 600273391 419706905 726417321 480479161 349140929 321225721 356795341 919225445 156501467 773014565 463842645 118316833 682220651 444998573 542626303 236424369 849444359 517843529 775580281 907328253 157825197 623702871 681227089 703043611 18001089 348328161 673009151 223612228 640235537 798826129 548568039 565881311 732568273 239083715 510246227 383260787 525402271 526948723 989891697 798287799 128116095 901614923 996399709 784190339 703498465 5806233 567547413 748241373 745599129 201753173 273413511 614187501 15348195 861545245 846152831 498433289 913170021 934616119 343276987 205122989 339371821 52996247 629415385 187991161 354246577 968506319 817889379 515552569 769090251 590986529 78406347 145866211 169617347 158142581 775260011 895735695 804470597 567447385 160651393 16223619 489090151 699990531 783586619 893914153 97608615 183300691 704154789 385436691 929943527 464766163 121264829 612832511 557651321 923078575 591312225 519701709 789796623 633078207 439027547 438256779 464796357 409492865 967039837 270095721 683903781 540184609 469264127 107978183 666744343 298028649 769427397 708554277 205914101 863909331 628928533 253707823 391723641 679388541 93955651 129475511 394404809 433483567 751959429 900743099 134415731 646335577 749562111 436920155 779160939 592400143 467121849 11735269 585192207 512962325 840295077 322804939 807585829 979967183 230009755 461797545 328351705 398048333 58327135 623947841 944972225 287301 276847255 989550207 563840217 342084377 831829973 626113653 157402249 471559631 568192659 525868641 658059675 807318293 397321011 112096421 179459911 551474243 610243837 390002379 388920359 285958747 745938723 641463943 961325891 885076223 60055485 446657717 812484361 696298371 81216205 178688087 421702219 208210907 583263549 983072153 155075913 926129063 948692447 908873935 556461223 566286129 592229481 542153075 26982003 907273829 900339839 356036903 258775329 816516571 794479273 368630971 774697101 170005969 542260055 415957277 320612609 738192179 582502885 32323179 294061607 791749771 242942869 372134119 315142677 627356435 559314571 239873023 532200519 7282601 48928479 545144643 998643875 700085717 805174661 546327407 686950007 927527621 812795231 211002727 787738489 61489235 573286969 468436277 940039363 388010493 822116291 401433357 312761309 119291367 848504469 291397197 100254131 781122021 519103793 714837107 212522395 702572141 354077953 528494125 806953555 555497373 117216085 84187729 902259967 109203003 919835751 782196949 776847403 279717563 638169175 604060127 497232591 100657711 495568433 165890233 747417927 376110425 429925093 573914329 628533847 187889057 377093195 42948311 114160687 389605395 480877605 148857209 447170401 614153833 992036635 32329897 483339757 41673731 529668545 832984697 419544633 739453157 771872143 987969573 532969997 980199105 468736999 311967505 756902821 353511405 382471951 316342729 987981977 537336937 65135421 84504831 441628401 850733275 232050567 734483597 316177433 18117523 245430511 319668345 502259687 923253641 974976349 841870829 508614039 902379355 626560165 403660859 315991761 380158033 158935423 247483873 893040799 296893273 93247627 80943487 21695607 422388749 93477205 260919011 483490105 933785515 861597515 373268991 587230759 595986455 824627401 414300143 969528817 314217189 907802639 416909301 877956009 580039755 750090309 711168635 540637647 557113893 445958271 31064089 627641671 936125695 824765621 919765127 425050207 286442757 598134983 774435751 434166219 563422993 46333313 653781127 656433577 148731295 467376529 453938777 272909949 493100503 946110097 4210041 628941879 659552395 161701381 73612393 635866923 520903471 872572501 391298261 277261077 340333283 68378063 448914065 757672987 232861553 678270897 809940631 618847179 10793539 426996505 131025417 867865115 243966324 192251409 438245175 942616677 433167557 396938893 748505743 278257777 632883353 762461025 582541231 628675949 821227265 94138707 100275289 518362347 305717429 562326025 171689849 897524201 769998867 476056855 657497635 874255311 199056931 65946867 548024977 803816297 453403029 415970817 923359015 789967851 495156669 685585803 771684207 972302833 463367071 610522303 332765471 722136709 890265311 79206327 45839631 419921937 308469963 623342711 970124355 659955049 223636831 196168677 96986345 567008461 30372407 550808275 529570641 755856609 179507097 941867261 960792823 631501235 457423735 999946753 815468927 837356471 919458409 69021801 715097011 731510477 688378027 255299239 238214281 86350135 854884133 711765011 763658777 46781603 814004329 14996977 35554473 395971879 514267051 997096039 339669409 38705215 381270475 732339079 18244759 140006867 190789713 400425549 189354567 245453613 49851501 184676247 371962257 496367621 543672821 622682415 624428675 814574453 850476649 275760327 188999501 910587653 900250095 863041271 287576399 838267299 521628759 589512257 504798215 547918497 958845465 744632847 903184933 202669759 467902803 114632115 263332985 761412385 443290829 725470563 322238721 700591701 930479861 331754819 405859805 999448399 514054885 330283099 493338715 232616045 279323481 653546909 85810669 956800629 978763707 634458849 87324461 511605139 25705241 917691369 345941729 409007195 35131689 83269471 577591027 384390863 851869005 637845459 760072567 185212751 704449931 394603711 63738277 983306155 516763025 423308165 96238821 164572697 99954103 327654509 562667455 419957811 783317501 90137001 818144999 395553281 577288969 470718033 220641847 792819439 460994349 549976423 73448885 60534997 27108701 424732885 271782027 172842731 102851129 531496043 43354637 659200731 722257161 585694435 63606965 433831343 891924669 116332767 997421863 634797791 561887979 248836581 873199405 860599111 784971475 604290923 23583931 326236717 63829083 842899399 408054509 702917691 271513875 480586555 243349765 847042699 157897523 715577585 837469039 971026327 925570201 477119993 646451903 285729349 411641805 143788109 838464687 463852259 921236221 346919885 946624291 313640485 622487811 866520901 6797093 834308651 149888603 155723109 316149225 247843191 594010671 963468227 594274251 567452151 629584203 385359333 450647375 312753665 104385835 169863219 574360605 733643089 964042985 592301821 157037067 973347855 763350097 177112445 421180947 778805700 238402255 293330643 942362969 36674667 903418491 374880011 276413479 413114205 785542933 803243539 886798579 987120223 275764997 337710791 960601429 231289502 814822486 749012967 333100305 647494069 205457861 155124509 932400917 137696923 769757615 922947065 26167409 131478711 290656025 422000371 21070689 816201941 111441587 642457201 432043081 608005165 459589079 751611831 129462965 837380957 887233923 727331835 692617814 419742053 917031261 550154065 908439561 70297783 362940597 242805695 897354449 712622631 517468547 517108781 516506839 409658865 192852325 596017513 312766577 98396349 572475555 311339313 123394331 418042517 611067179 762893091 132239989 238656495 425180567 421595595 828352333 105248427 27385379 588348823 645125781 378262795 229601721 214904291 811375719 724635325 56649445 917188077 544701193 225741271 504841443 615488995 150669796 756391383 831771789 23480785 651390093 456852129 65841007 738396341 990772671 699408259 96627893 539353453 333123675 935872559 475553847 297474499 800512111 874491335 53812085 90843497 903133229 43675599 828109461 994388217 507289329 721460531 412219753 514959603 579203645 808600391 503482981 757055167 401212093 881663691 985141673 315367855 639981379 454253285 550486525 754365951 372822477 769078813 381475793 756627917 831445117 750473071 965570619 474325027 612388509 552400179 15099897 228172787 897128865 3108913 942467701 506277143 2230819 417328789 41287871 641945421 838452459 970852085 943188105 412534593 619800543 547856207 490402103 52568965 616604947 675900933 422803151 444899727 774362565 670423273 502443775 884911811 384703831 126989355 130291745 889412969 177882195 440776045 812725809 960400307 163871087 980035761 797684185 233774267 311105665 351542119 817729381 469130111 623807891 768090977 347649489 220404203 879780811 893293023 285817783 748980177 915534975 955687557 326318691 35594215 509724713 891137121 413657281 23567569 171691373 659614951 55479401 328399383 61952533 104209141 414761115 668911403 971871767 465954257 176557373 144215653 283295371 808606759 688694241 344413191 683981493 295976205 329679547 771669819 657327363 211204863 879097259 156107027 245086213 881516261 550206777 867049349 907694967 712960265 503840149 325479541 658849597 302523425 695413653 432784555 881863265 22780493 546268087 259440343 624180249 185136655 888981797 546905239 841356477 680176981 382325933 814430055 41611475 146427511 661747655 326242739 137792003 680139565 569865617 805664203 453184037 832527777 707968467 494331113 216081455 603922271 325390331 20381231 501892935 846533723 583959585 647987109 555672505 554174963 246791175 762528571 574385655 471125483 903490575 82617293 307085211 629497715 88016461 446302747 107624555 674563615 338366837 405799375 706708817 491500267 8661993 500960889 788590943 965113149 594208429 659904659 237809361 495757795 247253107 381830271 989163533 740450833 734892177 519998341 808032411 994323047 687283207 24361173 639022637 309366759 68732541 892080779 191874467 112129279 194251583 519848615 49544189 272903813 879839815 310974995 336595815 959007925 347996979 784185247 270586931 93134391 736787019 720934661 26380767 676595477 25215871 567653863 494911501 154653127 649437028 953223371 767254407 439210537 919516219 346389031 605866817 112608383 85346539 824514897 380298581 21870713 629328387 528756617 853400073 999282729 31894715 314433789 388609223 78280463 871878129 553431995 663647523 241896207 371088171 565866173 979349463 388947831 894972829 478469859 482458567 395380219 219607833 948214265 320478461 166094779 422760225 656758701 23337389 235976247 874612701 705529499 822828851 308331617 639251739 382277443 573657361 600654733 851285329 935815949 296706035 733936759 767815327 362168141 918539437 147540039 491727823 90814011 333710649 973684615 52041549 288370167 268127675 947232047 543827505 718805901 671574397 244917145 832105787 539799019 119441909 979556237 640704977 478495981 237937595 496325945 918456579 139608659 596083603 520948015 154142345 899473605 943282537 272113519 205575617 836190423 203350865 731449949 9703603 554560511 843285125 515337157 646298895 862363043 952991337 686499295 570830635 99349511 454951817 151840839 97052933 798202719 143724181 697304835 232429895 479360197 234192749 401972607 845971519 116068663 484525071 484677519 83054309 165396643 460828587 345705589 78175191 472647381 357524881 371575761 160829019 316154507 380788285 795926707 720164709 836939875 797824083 585899663 695364231 711824871 115717535 806679109 777792771 842602123 872243729 86179607 654708417 718718627 795103433 230860723 558901581 952232053 775581447 55569711 714199779 157196071 406608693 215748103 452423005 317319115 970204139 484405539 784625479 989838941 134620895 864066255 933777611 479483579 304593911 445540285 381889223 5535663 362135615 838745103 745529267 182335467 11901161 85941831 155816637 518494985 278584911 467106901 527241903 708940423 256535799 259339405 543975171 805080273 456749707 268819115 510870231 452990009 307594461 407311573 224162291 852150261 453184747 805907095 302221255 217177385 791484887 319256043 961238631 910489565 294500329 875564585 407345559 334429187 667141017 719057689 243561915 542731891 511939713 738311655 315823843 504396785 48352355 402636841 227794373 982946339 80478251 808940251 127996099 867760795 259642093 941358947 321412835 617794003 1622241 303964817 642302162 295455789 25159279 575184277 112726507 300096753 279712031 54872337 787352363 947713361 459853989 79991815 862901819 12151653 443634653 426218727 862655081 151796529 784190409 725950595 156207531 180454811 402027157 101649179 455431585 212781429 835356309 931152723 489163925 875982969 783875907 778080055 920798835 379215945 982561859 301014847 271828947 142331757 520341599 477243719 421054707 109818965 118709387 35290517 419032767 438474335 185829603 303600597 178488257 254688966 662276011 303007771 942416179 380312505 306913867 409034217 48915955 350875973 63059545 410518815 36871561 246252133 721543823 297070349 416816419 10311163 877297105 256110951 31839899 53697485 907230761 766292813 47523183 281148305 380024269 292441153 375350211 407824861 96420885 100615984 884596075 496033075 954028165 383027571 950190301 612855549 484954059 952466373 160946743 263131275 353155255 980506441 341099071 974465047 184533317 856145553 943506279 598626755 780728217 256558223 802836679 360896149 688859903 270019487 492597531 920672131 284522215 421417099 298512843 473832035 823695345 383942013 413670889 851938039 78018779 148528905 599388969 490431465 262042005 507442479 229599981 678862281 990437935 395260499 3554105 860557839 402097639 469666883 221303231 899774497 535649821 226701619 90706133 333331525 967222621 85299905 671707259 372585643 559683165 330589939 666398039 192320111 806238967 955312949 387931577 122078353 787524397 641493341 435610265 551099641 328614953 917975209 80801941 602261371 205174595 482644155 378252533 962112207 640663793 460612771 95745191 754883989 148428763 13573591 808422213 35671897 782396871 794053939 442949131 780428681 467272877 700465147 71059683 643506305 47343527 96415965 269252443 182598273 984163831 588337393 686109099 77436593 457841673 379012273 594893231 381667877 924849775 684922115 132708339 953253077 456088295 159222835 384040611 50665121 835231571 759892729 175132825 479899221 870516413 270477169 69062225 573952159 584595033 310738465 637706483 948173083 976778881 619741941 546237777 196839751 285389245 755454531 157377759 627018129 784857523 433194439 773333181 446212677 488521271 973357991 943803571 439244449 712704071 757410161 422500401 318494147 881470213 638038811 125966157 258838967 219897531 437409279 602313159 644447851 271194077 240822757 248748037 488254137 743718919 254186489 275896855 999027044 748632829 377059793 572030645 470397973 715985319 440056427 701737533 695662173 4450075 239154475 627824567 142430387 533077395 373168861 121326035 741790589 7716721 781972665 190916581 856990207 757595205 642412379 924355313 298919789 291326397 489478087 651236505 853273055 509667511 854681709 651545137 123000153 178475575 138943009 376006575 824229057 615910501 436330271 117026479 515460843 237412759 144785933 189157757 550693773 619553607 616663289 732849157 809330251 702479129 393000023 325879521 314181549 484301273 965797381 332958797 567081509 661489783 984306249 420590385 322138893 830875411 57157327 522503711 137697699 451891691 5215661 377952331 227751955 719914607 114627681 842905237 629980271 415560751 48520909 887061125 579740077 473374183 566031939 608071499 670310065 4206715 650603123 393522365 787685699 402259959 813960831 191117915 517391125 781488781 111002601 780600395 498048191 939215767 270026657 481407069 706016451 754002075 204189433 272889097 745790093 458299457 100721329 193093229 423960425 156896609 912994285 707363153 603270035 534227953 680277305 492461603 646068525 35023385 147816847 138924541 895300927 961702687 129769799 373963163 211222715 670941307 333873447 965168231 801443705 948631751 538255711 376990063 198692155 62099653 154539139 232506985 466980523 270091873 874987663 750592695 516473433 176717229 401799147 7118429 766688191 341241319 657578081 543704335 768919615 426007151 172961831 294759711 505536545 815806931 955772637 896780431 228009367 762581189 4373125 487541765 743940025 773261089 743957133 919027667 133098377 854733033 20027595 321264877 704643825 496314185 890019965 288549875 735564225 193889171 17017159 6507565 534907571 823159877 738930741 527194251 152280681 566500353 234511551 16090275 203324011 638032529 383374273 322759093 673641513 219217897 232018559 924169639 441483263 833440037 732556201 710528521 850392109 855166855 757410899 923653395 63861213 265104251 88918265 589574819 527408159 180024725 645039745 924898625 515539693 627157391 83206457 993453339 227007529 281560909 673325013 793629963 59114137 888243673 557125746 403061645 882466547 374213225 962286489 932651979 490261709 106382677 311540019 126285457 70917033 46864161 669925271 921411419 267543023 724523385 196746371 78279491 454608883 22623281 165654041 511910933 240795373 881460291 82843115 195226429 525487615 930642131 327331819 181999315 944845103 269068845 362689909 790083223 916205683 170183361 108737617 945216753 236731551 930713645 876179885 540888557 601475193 60220981 295524123 561867845 359073193 836410817 797743003 29574743 303744447 26419175 627849873 683032877 235934003 982423779 948897483 962400113 726055531 286001429 832228221 940171903 802596011 692092937 862284613 680533845 586528041 58630005 499246377 148393881 154858489 625993777 379928981 809260699 132976929 328753987 399669087 572780627 967681929 570915029 52794563 660362847 322455551 546396985 17686631 970232583 803289665 446647275 236732505 861344825 876390381 251440785 58978575 140556431 300092303 575436273 842830435 369916997 52496277 860758275 309736607 155403333 67054427 188798945 141251947 745067803 405979679 242626251 595981535 622738435 675896335 919381297 683255417 49511383 141097271 468051109 163852829 100336163 282640021 600409055 391018263 698044947 939262215 857319879 813413663 808999295 682381399 327578725 229418321 12216295 856078393 875328491 699761971 784871793 740452161 551269305 240038319 180025839 849556981 76763983 966357535 176564693 309901243 39794009 464249661 687812931 25777639 41358507 467256367 32560385 330538159 640002365 780900739 349603199 45168183 604495159 481952813 174571987 492728199 25765345 996208269 956228283 216207249 328170671 455349605 934178209 147005999 749631037 327444707 342894995 794151711 234760525 531876253 112725577 299190031 908687819 818626959 598916385 461359243 390277067 896075041 627269155 514544401 890903687 44932637 434302205 708466685 756693857 102991035 800979465 326649247 911880937 378939543 355505987 896473635 63058381 55734197 848688981 292087971 759742443 452574597 718716555 64017953 146867013 245591001 550382561 459218567 786277127 161408497 550636529 125212583 488310917 984706929 275566087 41787447 110355513 436891495 495934735 350260955 902598855 282868551 662503585 144868123 289001467 22938095 354061309 539236969 259696069 586449061 555799305 833088797 885536067 939485205 568512343 937902459 22490553 219416405 358346523 665605289 529717135 523868897 582938165 818792889 886154587 278050207 726831917 632481445 683269847 371667935 713029171 483519823 403103719 466440785 398041115 742926463 475535767 9732375 206677353 520380647 233934103 475560627 190520641 387720223 57969863 736637203 108208755 931631529 769273125 370118797 909827703 629872623 38032353 97165023 1099883 332939585 707459275 402756141 338377749 978239705 167944927 178136579 122343657 856909273 338124099 243799641 228266233 127404105 916910141 324747915 912952839 328611865 517619781 155475039 833562235 662984741 109877491 393317633 956920931 150431535 195706381 215049733 92720757 756528859 903140477 315572331 454468883 888047295 638573909 549785497 600483649 987380565 189469907 836963929 939114417 959600377 66557271 948681185 865880505 365469433 694380655 250574031 151720025 255410819 816705997 881400361 295185719 23800243 26717771 157805149 987151781 698839689 650037999 548262461 563023767 473480175 388363235 993060871 156808365 440444085 611887483 105470051 841306415 470424725 236726063 334576987 228891917 545040177 954947751 157993831 716311259 658600719 399609003 656914531 640591069 137081509 532181039 2401427 872833527 232105289 260588879 545852839 613407929 455140413 152358477 95540145 186276955 91237801 946895509 273976881 447420345 732698017 885061049 156044555 688653407 568282909 106562167 689294221 171436923 406007037 961547697 789782379 726471393 794121485 272573297 594811843 551856659 733164283 798630379 758773787 505884985 884703587 822196859 846793567 202207263 179664581 694857379 741283045 91798849 145380491 230442257 330314601 751170745 587944963 617690771 806284306 233157459 655898987 988231465 214915949 448133499 107489505 501787893 880266861 844892745 419879281 225887043 685126515 574671485 189201417 923826051 703728961 442906493 163532421 343585363 62924295 709270105 180772005 882504309 554438231 621831881 313001233 689028055 282271793 519551531 203329117 518498953 286022135 424660615 980432897 860252615 208205179 448645517 663212893 748802293 354856175 591200659 662712507 335535773 461476849 476445335 146676813 449263989 222370439 316841795 731774253 550043477 196578331 330886117 273407579 33235011 192243335 517446005 785295807 259059559 975974661 579682961 721841453 51095575 436604731 581302399 867402587 853244621 671632439 996979763 187177709 547100719 123099503 737055039 586010989 829044739 62104509 47536869 921358409 807899201 360431721 431435533 95147995 805203457 67767327 743090499 963603047 599599241 810439159 446455747 246386963 52625987 173393513 636071527 676390643 332453825 299777631 928383417 424257021 298212543 721571363 989296105 471657493 158422819 290778733 254676941 916636675 203188723 241427289 83873253 358053497 994818663 985639275 667717465 638725905 400066777 681706643 367066357 385944905 889007563 213954339 490935347 353479564 485753063 771146459 511158321 932543023 258218501 522801119 846244023 800745061 267126301 50721213 730106163 866808147 711118417 525107305 437093823 872498433 507746031 719003971 869126169 647087457 605803113 426305547 128039079 557071179 777527387 827424243 464603001 831864195 164804743 506795663 594682693 156763567 947502553 729205469 653102189 641187681 62531427 97078335 548945911 341717781 403060579 905148805 337761937 390473511 515735097 635949541 57548691 920486117 424044405 595127291 297149437 337839999 418508997 689931467 524925814 261956365 235363079 835150531 391447885 334278547 465932605 495791801 448749435 719387127 469071763 780218603 721003419 442486027 320710237 955190781 594247673 894811785 600591637 268313085 73741951 186566163 927476573 231117151 160133065 693536305 219990021 609410561 758195221 457722709 820007419 435662375 544941129 581861079 547886429 332820865 39565559 866269689 710128749 317620771 651469139 857934053 192822935 988201865 499739709 738224043 640741231 416065433 608713533 35554117 105297327 158681507 855706497 964485269 220711483 837546839 709714659 248122723 337207583 853741525 456283871 512777567 536821899 199803043 646366111 928331045 939183581 716916911 384837873 716617524 280380569 164015435 333665100 280916217 610229095 187614005 275194575 934925761 396598045 835349909 580430403 276516807 754849719 220807413 797666325 270715693 629175637 937423437 388595551 260607227 486774595 751583737 658171101 389396001 845208823 900968639 152816119 889590907 725853449 426601161 309262271 136819657 610491967 67571889 187011049 49965749 462057089 153071217 521909717 27742159 698132455 149995631 604317581 758839441 587109287 256155257 14724285 643822683 163241255 598838979 642329533 457686905 395142387 893560043 30918795 863511577 629920189 754063095 592653267 693376855 687374175 93983827 34172895 319497779 962569695 868314325 160654249 560433815 955225191 846502329 293376463 2345553 675163721 286386343 922672025 662341151 853146627 571931305 820343285 37568673 269292597 61799223 532732541 869984605 253583533 613601067 588363373 881371079 623722845 183370191 481953711 310030905 362928991 129793995 416656337 742031091 848671225 219423799 8095499 298169119 154391957 179810705 664428857 627926475 767943879 236729021 1864935 499028213 674425671 832483337 21606465 318808699 926280445 818999337 523377695 342949161 998933233 946271035 733100291 792103853 856912983 831160773 873028111 88290211 579666315 14351793 581955607 857526921 562144527 891565913 46189711 54212813 937604239 28820599 970904727 922352829 929906655 797681971 693742071 252958609 24812025 949864215 879376415 977155693 265933823 51200025 164786981 281851739 836226623 712397721 678407881 214527561 216522541 67630937 287132017 146704403 488316001 341506695 158395693 436328823 177160095 721380025 40676021 20227105 998908883 965812973 327353959 291967395 129015313 385536135 189690699 150979701 690254995 572480595 299888657 82917623 58291645 909847945 508137485 629991027 958744345 916589765 801768515 691833371 17576029 490027787 385615957 98915849 294181473 79483595 681716631 849047099 580494377 605157591 114921471 801345437 972706785 78539631 972140841 658984193 860273629 95417657 144650593 804718109 838605209 117249085 96522387 998888085 233385653 690354935 822353751 196711665 920906749 853067583 369291245 578592675 638499431 513040733 259361597 37136901 380472331 866105597 48144851 387865941 551514927 596187189 485708011 174725567 737088827 307756673 523942751 248460117 617834949 956660681 710746809 241639693 759376265 518567255 792416809 846877643 276393831 154769635 514633605 854642519 858763115 90989959 535519821 514335075 505455051 216502476 871860903 554791047 770823647 189186973 179935843 176897863 772875565 749577041 401214969 260293385 389334111 485271713 605250439 58592031 626546247 441239223 178932693 805680067 874641123 648559647 690322257 429499671 918029395 887938509 680609045 625468451 970452453 334138399 849709533 321718233 388213003 48484827 139544339 100891665 1344095 532012845 908711877 36998285 282290343 599539371 189229993 539618295 786354637 697703505 128992801 337039071 863940579 278948485 795364145 369411777 329050663 148276501 936426123 8238329 959960571 136922167 534353543 810891221 739705319 814183813 524995361 698251653 212416675 771528455 140763905 715247393 243597833 352774699 510224505 724844971 342523419 452554947 602184317 937166093 623860229 339592207 712929197 988842262 651963163 267448241 362991441 873698435 388819927 757561531 149125209 152931827 677763803 27338399 406884955 946733807 224385013 349553723 265243287 726376679 315403033 924379347 11114227 987838519 267918173 440045335 907379455 545580831 571701259 356950553 867489011 639104201 923463561 55930457 797568173 626731077 110117485 606850749 286004403 311790989 473712753 724134799 504827193 610218627 883452279 405791109 437382417 221337069 541198991 949581501 835829951 935204481 40322279 889960893 969533797 128772565 904152285 143498865 995891159 485214059 143802099 314723119 21407115 424951723 953064151 481717 537789853 626217193 245860441 388302373 782447065 726361693 165276277 546538511 644233643 745080617 118433870 283396969 882338603 893956435 883992625 604013455 205930521 89881297 150739089 37423173 884013789 635086969 546707719 759511739 696677251 322817291 921980759 732597891 749394629 534586421 786255983 144074909 51544833 376858501 397472607 710425709 59443009 874800501 457858659 380207297 950061103 628322405 78790623 648088269 915230503 221752737 526979935 505444143 53020967 582051415 804691603 68513005 678525909 671354019 995236443 860411507 492395649 879532163 245092789 341278869 211378467 440973541 518297809 964963733 913461593 15891095 206961663 326682131 523684713 706842449 309463741 442651167 433123143 296119993 905878187 639666735 955872645 525363027 614966423 630602781 44983911 360814995 170250099 290403377 637521615 586740435 547490649 829820953 398498641 354939475 842873487 657670119 459981603 368597563 598337151 196425497 991354657 411020447 828836539 961884055 669223127 899083893 819578881 960371373 808206705 829700257 131011889 612503567 782511815 331024621 565482073 223110875 163503705 394606343 437852587 583011477 833948237 943673737 312449667 503443501 501895285 634190583 362139747 746232567 97094981 764579511 545824245 136293807 839528669 726234653 266649105 921280891 86999557 413063007 921622191 529741545 42391341 955314337 267677681 59308781 327597931 271339757 870167333 422083045 245607293 888700209 457839037 180422295 892902605 589923143 383628885 435047217 888590953 593364211 661908399 88258117 612536841 316665051 731078073 527112145 898037515 649854865 490502785 454385725 750650231 939397777 351662407 486926675 649958651 931110201 187371885 372219723 501555697 249375187 785229181 116673471 388399701 538869393 782025771 428211385 960492753 250974347 629436755 473985441 115185073 299031235 250107129 584585809 549218801 796130597 352909893 821364739 773283883 801567613 352365709 616233053 798854571 376300679 659665995 850899051 551360861 970249445 589182499 169723303 550138585 871234591 323859423 355643625 41375583 119792551 280151411 535629687 556982485 845244373 808356861 214062593 406758093 951747821 78249147 714086299 32837497 703982613 428297243 676903619 388189375 843870815 65442993 540827227 321583393 533151685 817240633 709307571 946014417 826168361 935437459 37543553 515449507 376949331 326630091 429979615 168020763 178015989 672857111 113893205 705321309 137946535 389430991 720797905 125356601 276652523 598204793 786775205 567026470 254569003 620264381 938643601 702985541 946345655 859167601 359639737 258164313 639139017 231894929 952385705 774140887 535381891 293074749 843513433 194392529 154391277 143262403 952847653 761126921 618236153 7427219 335420627 274807527 943600767 246212685 438558349 131799161 805609537 886488497 884151789 352165237 282988009 847616937 394311661 775893053 396658951 907801933 690190835 717112277 547275797 751909587 540441804 207846639 324206451 40332451 609242545 219754209 809981549 244755011 594523449 52594859 279657011 570708843 134360173 20127219 100473053 958730997 99816889 671139339 989407853 302128099 569692147 101619431 506210251 373144673 187295577 232628263 316119499 185498817 449992845 604834835 742597157 301545089 817425825 203341979 559784571 715918657 335357703 510061139 704578899 422784975 648615579 380687743 491259171 847220509 856345767 313994499 504379713 656299847 970935507 105373039 929133807 719405711 398921529 819704313 101762645 673678433 30660435 476825475 79648135 665150545 7368967 582711699 46620541 606627609 226761635 603043671 378409753 584108955 602923227 868293289 11250721 123438055 358167501 397709061 646031947 497461803 626842623 95812245 122290731 300168133 971418717 119476005 337739847 786824759 752537147 698378033 211097095 337260589 963785307 211995859 453449915 253902971 955345373 67588823 654781595 348275995 926525265 565164457 455443917 938283569 539386797 521232481 751605077 916857095 75715405 437699519 759255079 268707601 611926261 216222505 904391709 195829483 691625683 723471279 883327223 130612057 974691709 25985289 643916637 363468355 60798193 240646293 951719395 611177919 260344723 996938331 332300289 310603527 725197617 27679243 413721879 433703295 519415807 12524027 515798895 158810035 314004891 785605161 380493629 515050579 637912585 834109247 311419285 835480893 859711673 128854411 608981885 311186037 706559871 312021509 633715931 630317859 771122071 503870281 507007875 234817695 730566823 652496035 380201515 282273119 145184701 988171519 24622455 480537609 980212815 507929079 587473649 833014377 687015735 983484103 942771719 754482287 370796477 201340249 754280211 132821819 679027341 900404025 175753817 98074123 114112701 47020705 373401343 376581967 588745931 283619697 986596889 419812759 939623833 354006061 150868381 995091105 661069177 997925639 314861423 477224525 512216349 768839381 542021207 840916393 125484705 180127767 925851911 432069607 814139535 551175667 861064473 860585313 538194127 342088507 424085515 618300573 602510779 967137635 649089099 845550917 638030093 632160139 610693669 151639339 767223531 860742523 26113237 876706637 631463139 600554145 659108733 63680715 36280041 948935447 544476197 214917107 191844443 466506395 792330943 925377847 652427519 990576531 988079653 588863539 705229313 660926989 776459541 277590697 73117431 774871749 985860923 69848965 337839325 733123607 411565095 147214811 523761947 477444875 280418901 317043171 387516539 385898575 524917795 135628293 754555445 248014139 526553306 798015945 668422371 247365839 752904109 886418659 797159821 570607795 636607159 314558511 680008353 151051315 57374709 221182639 368531697 743186763 251436115 604685967 854793405 600323989 709860001 110098979 349414057 137039707 71060121 211889893 604961473 260838029 927206365 324988537 853453693 506802113 444488437 145500073 873617593 435080503 713624147 890347369 478922427 338415061 131755343 184574421 176713007 886011437 917969195 95363377 99335211 464586097 344547345 190931685 387460907 639767175 164915729 956456583 420066837 74535153 450200613 379963601 362494519 551391711 793246511 975932071 799203655 660713259 435875063 958441491 196760159 621179985 398778669 696070475 214705927 87053179 982863469 827907495 736615979 476821623 653871417 95202475 639008545 956563389 633806581 771015941 811529383 760657257 770487031 484223877 34873313 247505479 634299767 766962727 654526299 72570051 594002071 867519247 858819085 397926903 646351711 650636169 127739475 841887 368677055 363135237 940029681 77850659 480127123 869730339 210972695 752215445 801892507 430501793 980804183 473055401 289355137 569868143 822406577 791563455 105122773 918758301 741732489 235931105 147877137 919868775 267569325 233489851 462972053 195775539 125409363 959945893 259908781 845365895 991046421 34936989 403737479 214976283 646647547 649533007 403577407 251431369 223175537 385911813 997041109 410918545 832078925 265217209 152883251 232559779 569227467 857773833 57647401 289431375 59079827 359297085 412606319 614003475 295112879 215679299 576243627 437037199 821000853 599604661 503319905 791707025 862697253 893041359 322203655 644268555 663527841 311488635 194577905 936618777 253630649 527780935 438435685 30294013 712526207 815878249 905361291 243894051 399440499 315094211 468289395 328104221 325981817 163355099 299019541 936578473 214968287 526535135 670237783 33553063 848517465 203883431 415239165 969746213 836970757 836196275 631817403 535328343 334610279 392943403 319241259 21164691 869590639 701357787 707155405 916209249 157849713 449687103 160343049 455912811 324108585 474889841 942766387 883997061 77125821 43690811 248296577 681430953 889524411 471088653 842990873 553303803 687549209 810043133 452617471 638556613 613719857 409523147 960332839 832357499 781266635 395661533 452863851 496448697 829345045 344629827 952867209 91170369 136795553 367497397 980272174 979041793 308128109 890710161 155650793 263243527 512088033 19034335 802881077 127061907 746759625 591871053 581381745 935412231 395562073 898827317 879860455 171166191 932927533 716529555 676175561 709672699 558969423 733498385 634234417 892097033 136083751 97414909 290448157 362355739 276801423 747918415 289472633 168751967 328477121 182746531 652404503 203568677 319552611 942636869 288077997 846575081 461697411 212982049 293053150 832844367 833278869 331825615 713007671 52650531 994199673 291149711 948055331 539739221 458916463 413826377 966813437 128717059 507851051 431639945 126430471 923133041 29744317 717548937 291926381 974971911 334822051 704396329 643263035 132502877 859143877 970069741 372796013 558905129 133518445 70987527 721728741 375451729 506220883 583185485 291772267 254265057 239008913 199093823 847993265 124890377 176749998 909642499 135792719 439921705 613403547 10134121 5740489 903361985 87734695 336810729 863175557 691640443 577126035 285380257 545835221 633465647 112174979 338560089 551074803 967995347 979066629 993668223 501997313 952863885 718673421 517307437 271921927 831748265 892817145 424507935 209089783 54338457 973475983 469205439 798625449 595965433 862738681 587154971 710072799 921822347 349681361 489729257 168170307 865927481 545167379 321309579 628356967 74881051 625484065 62860805 183420865 113582183 770283467 447451657 953681845 468936581 428165189 950169071 867706249 519374333 974502959 378376115 196744051 806001283 271880587 377120253 651969161 444942067 50005447 594365213 793092557 692868943 845679803 77987853 913353001 994447043 676974495 932894055 573379181 253118113 502234141 547654773 326910035 660489575 557840191 33279015 282910589 153883063 787523709 558687763 625204595 169475419 320852147 135437177 151358885 823340615 81228071 866847807 852341871 406668183 718904451 993157109 17459731 652049549 425179105 899545297 643931573 366200725 849115067 868727477 878774891 503974211 25174775 653439015 498125357 269614417 447222243 372687191 593393885 627689891 277752627 780694809 372179779 486312259 446242055 23927281 105333263 297501541 650916833 470393089 491005149 974717029 530863 2221853 12661037 343726791 300543687 597430715 247248233 636161075 413855973 363771383 484691937 356778623 137960497 315841437 873273805 806767781 812879925 195735577 331867219 963532745 544435433 403723651 293924727 643340341 282708905 481670043 347369263 85369951 86209593 449333959 597642321 9344479 801917895 337963801 110049183 342282363 834636267 714330437 459160769 790844699 10026911 430230443 161622347 71891669 167828553 563303251 109250997 144814053 745587893 267139309 671156831 80804523 227226651 716268495 73261205 498561203 605465881 565366009 260039045 308830131 732529327 267139089 345881419 48490627 323305295 460589159 141380071 823508009 584823245 851378163 117014081 360031949 160876133 308983379 347350317 518979271 276791231 438007245 914659425 111302541 64751077 632089685 677224835 238797509 195157837 716633213 273672471 343456059 470471639 366491273 581592977 824480225 318746565 957819227 422736971 953531601 704949957 48616327 185248389 805496913 741982445 196072001 857053799 771317195 233789883 707118699 188220933 531630289 735084307 431425419 113119829 220078625 857029699 263989455 688334907 469782683 890748157 243101711 292520321 414810701 388663907 172899019 467697621 944632169 864245241 600370473 407089617 567969099 128303787 581840123 752827385 597405045 172383181 668126901 866954163 25233555 187891231 413284471 243533395 986588535 522102471 894878473 690632207 662329887 808332365 861043931 896950029 820520109 32615341 802847491 851744337 407427691 715326271 421313087 8428239 213425869 751681995 26075641 118926943 84784239 58784125 395500863 445700805 103607315 6437099 187956681 682647719 236584869 845296147 542136565 36291223 290037561 339525463 376554699 281003025 943568393 11801225 782319353 835577459 668733815 186769881 704229337 572026887 503583249 43354857 801689959 514177791 10337419 962777019 572232781 616996467 93216957 136956351 76466903 563718503 200156331 434431687 732148225 961941441 791051137 857745427 980982373 589776723 992540307 292706631 532513103 593145559 886727259 910827889 385179563 568802031 3786109 624994309 482547985 995300131 44520387 373592033 179586241 730150629 415784227 641591883 192609441 269648525 37385397 816306671 274269761 537770079 290223037 550465507 913480153 490454401 257421993 527744163 143710537 325989125 320513033 413280535 501978901 816053989 441212313 376398729 479863661 150779651 601559869 842797743 993177899 524674599 434263553 957322409 706545869 262976771 744105237 310119417 567009657 869980975 933453015 578899085 257842175 942567981 660354507 390428349 715822551 395425383 551114651 455506497 627429917 203316781 258469913 720490819 268463261 725529273 352135745 90302287 960383685 786257197 935118647 456071769 710794409 629827985 867464007 95705023 847908875 885583831 129880803 973294405 874852691 229451991 866524581 404442139 958874767 848080723 364639571 907603925 2740341 873252597 668663511 570090351 567497061 507408717 648456003 875465295 976931945 990624469 271866581 122030915 716482093 797547501 651200493 473785727 257559049 798096865 392882713 155226019 531475197 882470881 850917643 612981425 293717167 820581893 480629661 689472279 165803121 419237967 182951637 435778475 33359927 589195689 582765277 146356393 752422305 483265251 796836361 718886585 513958135 779926965 560044497 462618597 133749289 147412933 621583325 430864037 944593355 147805593 334836981 484622549 402497057 587789217 322508813 391514297 151971855 751392569 763054401 40894977 496636453 192048545 553316051 530163391 462378393 808955651 733634607 466088563 60237645 530149743 511351527 209690369 352448199 816719325 350828473 322257335 547313973 873345331 665725319 811511881 671065713 358269749 483212891 339957205 865663479 755604377 653627497 789845473 739743729 529851637 564451085 999348569 56349739 970666441 532278217 487743379 664010529 887867779 184371529 163678027 12707053 794515313 36631649 599985065 885647961 776153547 858492171 311309111 172227029 442630839 885666155 4348653 993222265 345502521 766196427 993461541 369331455 492091975 90416289 346793127 98797781 805103029 565164421 641713057 627858181 483448137 614566459 798334629 582254921 340104105 715189425 9873331 2586367 601138025 973760247 993810735 960331823 874497 391332937 561065701 725857929 806690513 299176459 603104013 786365027 992148003 750935239 706812227 315843003 15664171 278919987 509754765 154079547 605241341 793215783 292423511 958507825 733343 875454631 275955829 735153812 270626807 785975521 587076647 476932099 939364313 744232741 124043795 720290503 699011322 926627311 994251587 28666317 744094723 130357219 931484973 952019119 682482293 494013645 952679089 878451369 705769925 804091039 343828241 276411301 365978189 251979379 949122299 212259631 450056779 700934031 87770501 605904769 321761003 771224155 788670763 13730939 52137791 38767 847891157 690290849 655900989 707562113 272827087 466930213 977281225 196642679 696697803 160363997 310744749 795967837 984848363 729643593 276099479 408220517 200530865 290517647 958421281 757853675 512491789 216128897 976689359 576362863 538657363 225891987 117198599 723414433 530466623 176483557 583596571 407307859 56349687 718092351 306437447 286382205 182083079 233428495 633061287 178311495 22909289 656816751 818264395 947206905 490924405 357623069 742931485 421489671 599877107 358296189 900622589 27091979 531593743 481215651 295071399 801575114 847980895 184971333 358314183 226229553 596830943 381726145 968029935 27152977 129649141 720644125 255762837 860111973 676972913 269875213 11649821 925036495 272587395 315112675 2608335 96119837 412850125 737392544 918024669 61741315 596598865 469211119 963241567 405019991 993510525 130344217 450311255 756760099 503008041 277766425 186828463 640302477 630531727 90489743 916125751 488293353 885875539 484508863 629127339 796071093 116464007 137587867 427110823 507250067 733161885 824715193 922153401 153777485 109977459 714401369 6063441 981635801 693236559 901448033 779108295 411133519 689632477 929369443 591734365 987585523 329139761 621520273 303099709 244758321 494372555 458563281 165790839 218154908 196082321 272241829 15583493 527404529 49547469 501654589 683813833 859569425 758052149 252490611 845939851 90624265 798761193 216474051 768824573 511182857 337139563 202826071 913179063 10048879 665761705 673083389 542462267 321333951 661333241 751620651 306811633 83170465 515335193 497826819 716226607 226515947 944076843 403781707 326440233 904754327 369136577 237823857 329070081 213875913 271333325 499478159 149648835 184080845 565199019 349134433 792123229 65079573 291824421 691116623 469086891 965568315 166283619 528945515 73405293 282525445 332993023 862081385 955970125 34574939 798012147 183894441 660977115 435136339 740060325 132189749 699793297 17361705 399687907 749740217 570667727 113641789 579151841 465437069 184115681 442652701 66622269 975072431 449909493 423518841 684745981 456043721 590250791 140869169 405732493 461265963 553294711 159964997 790153667 948382151 418987471 311738591 250603485 40450627 390991359 892556887 551689341 153625313 296601793 292567075 869105331 796548753 466243253 825033963 646320629 183267565 552133989 634499703 582412575 940248369 381209669 40111291 469033845 991270215 856431018 984236753 412659621 434230461 552287703 378063359 488310983 199467465 921768951 810571439 296364373 276131917 47731993 142892405 797655091 665079503 908745013 844469257 957197235 286473597 372624433 912823891 606123143 853665071 425310929 551876443 206311117 544018533 884489161 653193301 961782027 792357959 893292211 49173917 832212269 78330273 60845839 539783605 727319431 321693677 850053957 536092233 869475803 297448011 765401513 820570413 838039625 614915711 92861811 276951897 809313377 517500411 646457795 901888501 306268697 940377301 953426083 79753033 107130571 64374989 434644997 33940427 404314175 871262281 941915331 738681617 458465185 941588825 45138331 794949349 549554311 277628597 247646779 365806125 608860143 986368699 965270063 920595455 158273341 448179315 48654837 259526293 642041661 660305547 430427115 80303699 401718567 404041309 499946331 259297987 640611223 49439973 926738295 206923673 711355793 394343373 705469529 36251057 946621317 647397475 396560383 931393039 141880903 863057565 358061911 454581979 790787091 335874589 678354733 901881963 238543247 898871081 653313855 812725817 277933257 438242735 817285931 243073001 497488437 289733703 390034811 976559687 920782257 771290417 923626657 17115715 230482307 636164949 930774517 450214397 187449687 585046335 134310587 26800051 516558147 783545897 931722521 556951253 484412613 382868723 477883681 347383027 640108991 554149665 88535501 33691849 381979521 280659941 763492863 856197437 211348417 266319125 438639487 438139989 72523163 607830575 758991359 874104393 392762515 758210911 643062297 664283761 929107865 696658543 896642123 708563027 311222783 302860247 480169985 762484889 675417221 386347451 942680715 267493397 212473935 597515995 237697573 608751811 584146409 342423469 444276459 857643721 480544333 78433091 346563563 747171183 450986451 397200481 636113941 15712807 281174337 871137899 289122625 32672657 319398599 728416879 983771955 494089325 250759929 230040105 851735185 617134759 409494483 891979509 550465517 891845713 960668093 573085912 9492673 721886889 479629953 778977159 187471471 73585935 469616725 604349781 530165567 639311889 305462489 457784901 170207585 642964577 71253007 995486457 222461937 259873755 78362981 899119043 78090225 343229057 918048433 555768731 73557317 810408831 476685105 795797793 941168069 601812009 352722569 837088153 286760485 417566967 327500229 634199029 218448135 168229521 349565021 295914443 26023927 761363135 568535853 406026841 696301669 254231925 510015865 564125065 893763241 525766095 923932657 29661931 597718789 406522639 894369705 161046705 981482145 396128675 35458845 642874559 488767121 9735705 694659379 655999899 621022925 506205745 22605369 804811125 624074551 970561997 287006947 59554593 411015319 13149175 729945423 653666595 423483293 930831333 385849347 629107869 649356261 706238447 939455211 379415651 856912111 78072473 270718044 911829993 630039845 319936399 286772759 678962769 56897751 415090340 261109307 32846177 229518143 810391255 225369179 49978503 196174717 214181699 920843879 974610395 147170717 119594555 535362497 5634845 951889805 290345005 978194987 339130547 429384233 888160953 471789269 400906415 749228081 915859869 228400977 10977733 311320397 928375241 537457311 289876565 327555857 452557901 9839139 98796391 240506357 168869733 620243627 815901099 577485401 323202933 201677163 735041655 831366025 112422921 761722113 778239691 696310451 940035281 506348147 973431373 766344179 568920237 929983533 813299277 407485257 770819227 809784581 150129857 56216989 47167179 175886135 493324107 679335363 587351437 989880169 19916849 61205363 141043295 30443433 173110115 744137805 154210017 230337133 345782645 892116699 908259297 73894799 7195307 373052815 475355215 231456089 449373159 676060611 841778763 381760371 35619261 908021943 419719189 170168821 121977185 194146963 381839639 392461405 6499253 546258795 83867881 367592079 814783037 31036469 603900993 872218071 63175725 112450519 599280647 915304941 687078743 205919253 255508547 720452077 765879101 205398691 228949289 133387611 948404229 422129691 796367379 611629863 513293183 269303547 235082375 867052197 702778915 371927217 183812399 28754065 169955345 164347017 291015391 616645649 756888589 851937473 366138257 400366515 975681161 220594039 580111719 191180907 140313241 565974965 650220463 272846489 901804801 278803053 540298715 221839103 70814501 119457143 323218055 278069195 129395221 928110743 594782837 362404243 414375817 554573939 653149585 46704723 796163807 661089695 691319279 10504307 678525471 340137361 583093449 695204285 293459191 704603565 91234179 789698153 130368447 619105851 30796455 437781523 416369785 56999277 95894761 815189183 473746887 357997147 673924645 94266333 501062653 436535305 904791645 872625983 77095439 876359261 132203711 955648037 730636959 11122985 354955419 765092403 291852531 365950761 741768813 975242871 811672569 481374457 840425687 3823717 353437513 552624169 98782121 758115035 61510179 597380131 477282001 771151647 184734317 426350919 977352557 400502749 532334007 967407057 558657729 960313387 200863801 637711085 229969717 44404869 979771859 188964779 299505503 740384721 486750473 156323333 806406905 134040157 342485515 785277917 87955433 119234783 229007283 504578555 28636981 744916339 577855615 165631761 122179605 495382685 960425877 596855479 967618273 187890763 559934405 834433135 968053279 234474707 319077509 178245283 556574583 87591923 676013303 130717603 555013311 921724879 220736737 956228267 533123827 115257331 581832113 49544919 602433331 900909143 57142145 736004149 141352907 488878679 142528525 43174581 842398513 672577465 640175039 175338287 60994815 450835881 194436773 304023653 224893685 691009466 598748533 714884609 615309827 676242671 363591311 308919699 673483065 124427435 284125437 438778261 626648789 447383993 657735531 512615529 460003639 354213711 191181617 34256213 874546157 61736459 158069583 430120335 154976937 32830707 704835947 20302125 205633607 558462067 408807637 518583857 589262793 655172451 485912965 893429125 968274777 875915259 832903963 193804281 841250127 103307493 593982427 396748103 771421475 889042475 454456245 212227343 704607863 189519429 994066755 454993885 172539929 166841615 259158211 974315038 199887099 486773453 728880411 972619057 356484921 370852655 417844955 15766099 114143509 940058183 464631609 975250351 198937083 596477333 486707991 157762901 401417087 237081853 785441275 164737087 431605851 776043981 771834131 128359757 632558961 793285049 871219769 994873929 261524175 73275871 501327593 413086439 911502505 768416709 421562189 619974589 553977941 137145431 345495345 252859725 102329693 30424299 921431823 101425919 477565543 510536253 434823943 778711079 46677577 607772533 398091741 418258173 792696573 742895389 380076547 539186081 642949285 764974635 348612751 473352477 556382865 143797503 857316417 201703013 325281839 601301595 717170305 251106125 392028701 932348013 448079963 207383451 779358495 810909645 985648521 319765495 672646429 522639989 180901225 970847983 979001389 765561033 488384003 547698689 839043465 782419611 876601607 415302283 55807125 917380125 163774153 826326745 835643355 729789677 187638093 568199449 250567185 412758289 656525111 470504037 826472719 446979059 838851287 137696705 753434843 498573165 994963747 196633363 467087005 237590713 285969597 650773039 773733291 179093373 770828011 916563917 925443713 697014983 743838875 381564045 550313919 212441101 13357927 367876089 390550321 839912489 725769355 317804931 767412941 427753571 148506607 779974021 369462187 412720487 210775333 228781117 437079313 382275147 204080225 233838809 260523881 391369101 486357893 87278693 200628037 938844177 95717653 785321183 917043811 207364643 783956803 86327333 541882019 842020475 836069605 831731969 657394963 433953589 718219899 89613349 897258723 285508309 190200619 63445289 420668531 832250187 52494279 8176529 365460034 546108137 759742401 653415363 734755839 487266671 455774271 168564753 75898745 937174273 919942403 360535479 559974319 764672301 718396285 399506899 452553152 953728999 318876103 585704559 268060157 111681165 340874653 282753917 51556565 931500261 878824297 599686613 952198117 655291419 221365561 294261305 630978287 6793157 309993925 871750739 904907999 938487009 423668587 500746677 643947719 864268497 11895089 218269909 549836517 819039845 961248203 283147799 615633307 882331347 710852235 652064451 583820915 427782839 388152435 498955787 193849633 923432213 860830507 359445511 769266817 587216987 368532479 711604409 540250517 638068063 880669929 945715979 577298057 933236319 308214153 894102989 200456625 806058495 661961251 572254395 973752455 840811085 479109289 647025 608468655 494743997 788544945 832478333 512680691 619882541 799483771 993263183 164882503 256957409 456537837 463142975 3196103 555990665 500800151 718811535 376531637 978471481 823304625 196538473 938082687 546311277 355758361 924988637 232757941 508633355 561270871 427925991 948585235 900485985 953436827 873733219 187206525 861632805 640581051 757629471 634344445 893353329 659118901 34372299 746151111 737925069 977567539 591604479 493829945 701878567 578662787 505591101 530914513 134642897 711824539 345281775 242558013 8229769 459698845 9004389 303247443 550146679 640398927 451695321 903320841 258910757 823286303 946055531 266745477 734078347 832214309 222148647 639390225 179460357 891311651 712959485 306474787 248297303 849348219 712227523 834188883 252330673 536446785 298111039 491936871 191091623 569741353 378077977 665015625 362451509 263339155 814054369 620022027 193923777 705870473 404272145 666517737 728159001 376250805 908869387 447556167 101581681 640049779 144743701 731752881 99599207 852187329 406572133 893897689 512509697 322667845 640343055 348846745 542705579 209950289 917414681 946654711 400932667 376980695 379996011 284516637 985793261 688760187 694491861 259829597 616721001 701864323 458273809 318422325 310810809 307943391 162640319 316205893 261676885 877940773 752500075 549376347 744527127 842932115 506616451 732517737 867731785 4118547 435770723 970765963 491362450 26974003 415277131 792224770 727323149 890022185 250530915 707564091 147120693 686850007 350323391 450383819 685630447 845387203 703853399 460413035 820268937 158499099 343827467 139998205 988072375 768962231 152920485 25851791 608475287 842366231 350553305 474943571 272474287 666177379 652643643 51855525 959035881 366114407 781476945 564815623 363810463 634108829 309401217 383489317 805274251 459776549 776861215 440488147 687670229 328168899 496434275 584747787 352219143 808792553 537117805 469996273 837372183 365142189 385670727 382485199 919150693 330782671 71515619 488240921 130189235 71112117 858593307 655896939 996744239 5047919 499199407 592782727 595455855 956595893 410940487 126820953 120446577 319471333 500924279 324083445 522779801 791373831 129269685 605217685 73652403 527075529 412345189 943229085 679968247 295918213 725259215 737763735 58116353 250591287 399724071 408001081 22491861 598180233 190973057 680638811 852338659 960804809 775965411 874808833 289943805 767875821 887657523 822535769 823907 667855511 689271619 641011891 513863355 919042317 304694223 956647051 603947021 86142525 176402293 897765253 606972117 619022527 634254015 540502123 463890155 653300947 513342495 722535475 305577111 678557537 39074541 941614837 118995333 839524597 704032365 852252407 267299787 94283465 847509701 177385889 293389029 249438653 636975111 179976329 893246139 541013333 785595183 395794539 414026391 599085763 808688409 25176103 528271921 350792669 344360341 80780235 484365987 897272353 77889613 696958343 753950583 342084025 649440225 972776635 342862229 222362741 263252173 479207653 973881431 1902791 566692477 7284405 770754165 599737043 896053825 908916475 319256857 726809439 24557653 660661685 537940687 496642779 855127767 931382531 971897483 143212635 420660433 490161203 995489451 15414947 306202419 798600375 425317877 962841879 556795355 132287273 921154197 409361093 84344453 204848207 558635297 805684073 457300445 318244883 573248405 105952861 512562291 678552201 563641431 389003181 409170369 940894441 881646389 384039685 163173673 544746139 162670693 628329149 192060659 275491879 205477249 584214741 33111887 361656385 514310801 126475765 232775003 911748291 329860355 664649321 807592979 30549427 738120361 184282923 38000995 1707069 944466113 38414555 194388763 533586351 680457459 577172157 827906037 508740233 125620299 757129155 304038033 184622956 188221501 152532355 295330427 366435365 483488167 770856763 750067491 290109605 769034701 304355541 362862305 850073609 529546079 27480031 87478263 744403859 604291951 751041169 674511759 618115503 463359101 669382857 260907705 754898161 888420207 341587727 56132463 536250131 681700493 308462995 730698641 898039289 200267923 381294377 246254571 941845165 354874777 420398675 160406315 33916003 543977511 151162937 446026477 76812663 726642729 481227689 641611953 940066925 108698613 807849497 178485473 560437485 50032457 795009707 909306828 241274061 784098887 374858021 453660335 530416391 426994303 706694901 717760679 438754495 531543015 755052083 243994561 125359167 498560475 825382559 277242347 322054653 155066911 329684639 794150401 734618513 108861923 522177093 326784707 237447359 148663993 885114949 688692697 88138869 269252001 225045759 134113495 591652291 84444671 878629243 329666101 47595237 100910753 678482025 189851731 546697279 74818747 252726559 80891005 942553949 342501611 432181917 676236769 767810545 695470647 667693705 169945243 169745109 482968329 8835123 636242603 264163599 414234683 636328849 429574905 871528647 554385929 643449413 83899993 217493589 186787604 474588821 269338243 208210223 258101615 11171441 152889111 624529659 438996876 517993581 266512031 807430789 981498697 290038987 803482511 484333247 967650539 163849843 465803579 338565059 903514657 921751539 234889449 965725143 332769533 887515777 552375999 603618917 909814525 67968255 720487633 873367807 563676681 588798705 229440023 423225443 626329965 42641801 630041457 236116337 132313309 491135647 640982185 116818999 631953271 248817583 78531441 225627367 270811327 203594977 791830627 475296989 459470245 790714885 117913085 856349083 84593533 723721107 25362861 708388301 359042819 82536875 896366783 260730437 201134429 435001105 585670513 887760641 738836761 745330231 275877857 135914531 905210666 598577201 284784921 500640501 90524657 815093187 573180427 545618667 173286449 54684753 396056720 279490209 282895383 586240747 806450281 580425945 711505977 396867401 551159359 729358207 833004693 224555721 463130277 947486373 216780687 420040051 387895569 167746441 612783859 176022773 590727399 54879117 552716025 321471911 843768431 362973499 168685883 823235979 674307035 428775753 330112963 95134531 741305413 184849807 836900857 347725091 256703147 630641169 608777143 681602079 560633593 186712059 689590839 169087193 388944639 813872801 894934303 303136405 377382777 372964989 821812091 156728389 692721925 862407219 790008517 747101569 441073453 83228045 960348117 500608901 990726499 676359809 362983921 16177209 505859071 724465191 321449929 182499117 871834947 612967363 774361713 574933145 638826073 779977155 383807079 335167579 227959888 659599031 154993805 254508797 390888231 215260763 752368435 750695593 177204407 449884819 334082319 758411323 916548047 160082025 47458363 887366193 677377311 720815379 819415871 360858545 699490879 170536681 74909705 804491659 524678323 123566705 142114539 49204533 858374367 12822357 103906725 681026001 405599515 150173031 879112795 335223077 289287835 9511843 199921305 428667039 585385601 983009581 287908439 162405465 364761305 827860049 388571889 42356751 584424851 760735617 755340333 918914603 316442503 270505559 696317237 655026361 720261495 181601945 160616355 856285813 276856589 705502001 154113137 758738361 880777177 624998705 156409605 551913361 312575061 642349781 331826733 823294121 602402531 207453315 233260831 301798489 292190411 503855555 152661109 484010913 707976509 903090759 349595959 713709095 927798869 326972143 919373777 319741755 905064979 398712507 215880473 987973845 598941025 830536151 330429773 471169685 749986575 653837973 315056399 340531391 596301527 454751859 724622449 461225283 469622873 979582739 235826149 932126395 973239841 23883071 996665159 674641765 949320861 721196523 748616929 617031207 807796009 461382961 354771547 80542097 231532805 571493719 949856207 237048537 243463259 824197063 940611767 925670625 907392827 953361941 264130297 590941487 196962463 600625403 88898017 634125041 621120359 99679069 644568873 545961985 679731039 188129093 732367337 140757467 278207029 804882663 802667433 946168487 264986245 875943327 471754581 481373239 897455311 949501679 464102465 173181183 897121915 203156355 4006703 759866145 642897117 254262319 744735551 956825953 679852589 645864173 244211457 68384817 565058699 637801441 380376939 7779495 236991747 890025045 214080217 140244355 351378563 80465343 547779087 688840235 697130727 87178423 762561339 440869297 931568621 369465345 678342387 41753033 620719683 394490761 890699573 528934355 110308471 999656803 444671077 173741015 73036289 321047753 884010577 711788933 711199301 884498207 65039149 796829489 232257421 768777457 961221271 581721823 793344519 358790383 392102035 370517811 105246415 227897081 924942993 488516221 59607267 682072333 682992741 659310515 322405937 594575963 878079307 838588279 153479301 269440051 527063273 859540751 296422557 528438033 911525965 648484713 511720215 614292889 657578731 225912863 550559613 478946199 619982243 108703341 107487041 266228477 770799031 830128699 666130621 659804901 663855061 676341019 792402479 146503317 238423827 401874753 893156549 638256245 83444719 311126159 887181707 789338397 476560715 609149321 975029887 815393347 935332217 686465633 729802623 319931341 595281195 912326637 184225109 65464007 865190013 422104237 807089331 522471011 979570681 135578567 437440305 476425467 83970951 495388171 962322515 587857685 567680385 711419633 42767487 75884123 289043873 721425815 42649607 277376673 726495757 207175623 137421351 172256991 13181011 546152171 739230717 224583229 639135847 624849183 38124435 289566977 780635559 754267167 914252507 901651363 320068057 28955733 449623213 35260349 715544617 748244943 919824843 770599697 185353773 404755781 884563937 405240971 495628001 752999701 568655995 921125183 396625324 973969989 879226389 572048743 449173851 53759879 472403729 187364197 395690275 886353459 419483831 955612359 81509279 50764613 631769145 61798719 553478615 325308519 62421935 550201257 212435513 503794405 500162843 167894279 61204375 389116601 348390759 76274055 196720177 840528259 835462501 812770167 70922923 865534343 133878475 513168983 876245265 69557943 662696253 361824201 122440667 782515625 813007681 608797847 635435237 653532317 563642189 562311605 656961653 575995513 883848375 865936703 519563831 401781709 780633795 21741945 267039297 830336977 368193941 804357579 131352079 99758947 387414341 88597963 301223303 369462283 383451335 505750579 655320567 75352313 660802813 94557159 316850965 722321923 100443059 388649201 654780411 863498407 145599129 695537031 186855985 36309263 830214215 927734529 581211299 996544265 537804095 305121507 732394663 659331339 495081195 355996635 400439035 218241335 696773275 385153721 20138179 967600211 698756745 386292089 936710795 759843533 674972885 34693183 446427979 175361981 785818763 978024023 256852831 695132131 954214555 484930353 263186315 460493991 14091997 595899757 668144639 570172181 882127635 751998921 340642637 701108457 593497573 739458613 618419061 303885693 895224295 555722433 271884507 190768347 232922257 433108139 738696013 575096499 280956741 549252947 465437953 905665883 885397577 427360581 557682065 86247123 140436947 135807799 695762180 158860225 231248633 578074883 586360009 240017013 308118205 917998763 313772211 869712871 75234055 721117017 229698047 249028277 839245227 46921829 714691157 820212263 100933473 950322757 978794175 435490093 60255433 314120609 252407986 337208669 182154095 132920383 329858833 774292469 386772673 403520535 196755227 72087775 422590747 402478659 853576065 957746601 118972605 831361029 841191253 917300361 794785999 908516297 809144599 387070305 991356517 317822497 23789483 682888887 521273207 395370187 984385373 576185 680687589 880915881 162106599 877238335 916544121 801742277 717263457 306973129 530957799 504248915 57568849 789176447 550075331 716857263 417459879 508399917 722889619 3636315 350915511 340756301 23926719 894926851 400510781 785127935 4010133 513014393 652367711 43950343 946748243 959975611 861743531 605463511 65559831 125487083 870097943 193176709 231127531 418721875 605469693 956817617 963333571 862228583 220710181 812781345 627501427 748341699 254235837 471165317 221611969 489469995 680103511 249150133 538098259 971508359 975707889 23300879 551750333 5243885 914874355 961838491 46460277 760033431 497179177 35082503 609800927 255861991 33176261 675765421 679343173 641832045 24049257 991233417 991083221 562277591 618009625 744982341 567181993 567134979 65823295 966263599 156861893 669226485 768361397 110685501 639186703 532187093 793428149 756682513 356181337 345990905 267379173 19418865 356039263 157152987 537981267 692565195 905928127 820549407 436418931 284813111 972630531 140991121 104784933 379741301 25612189 906877473 281656745 412801389 291188709 97140207 46264243 475908267 496010783 278647353 133789267 700607849 211786865 788831855 469443335 63474823 535760109 608035873 802180023 759528329 279815311 106430475 910304685 674234273 855627317 317587729 253831327 692654245 758564777 621494591 289042861 732643859 395126941 836799687 721583705 405910549 676552617 673108739 282387347 491772539 459855183 838649721 569298605 67187639 458541817 832343251 862783591 87451629 933262841 57638883 788486117 907514851 830542981 328251557 462349237 686698505 425845441 482131775 553900235 961190259 706628533 962813175 402590085 877479653 793224785 219713861 697851049 190986177 987083379 895499971 627802209 715888923 948477911 37810227 459877703 441351337 493002537 897713025 729058133 237217735 444489465 406728383 303479539 85183105 773165761 917272875 171597803 784966275 582626787 703581733 639804531 683223077 998023847 801833019 662896683 938397031 412047167 361192479 756812053 859412209 121068739 283145645 295483039 978363663 201205301 901841127 374355103 590754491 717354367 120489209 834704979 747331733 734707313 413665079 826338143 933918177 812882373 483211289 328840911 147061137 635014685 196565575 907794459 782125883 220411647 563199881 516844575 232295453 120622049 262305747 425614369 330237985 49119001 245601345 489516235 108664021 237531369 625303573 606836023 630883953 335710843 245039547 409354207 387046611 999396575 216771015 750918057 979261571 239354895 610969587 314261219 501485999 480424427 584999459 134949952 571836209 768232767 561965921 64120291 79726469 116536505 819976931 616696907 110819285 133281781 654470401 999809383 370964719 511049843 70695999 987498893 538799177 788192413 784169545 263090297 253754117 359232195 475939059 613662291 792311527 264518175 151168823 180360357 255551843 217017809 86007865 896481127 793635467 347582949 233116741 847609331 919180833 646011977 557020107 100689427 8370315 218085849 818767977 352358127 338447835 209673045 431461347 282439201 292072133 368774247 348333857 227652259 770048425 10693789 182504761 461678043 746732431 267885685 957784679 832083605 338045223 231182415 902064395 847461385 361592775 895053169 964858033 956214483 378311789 685702927 341014799 904884217 519703235 84335939 44194557 24015847 736589337 17130509 10360705 26441587 676876897 7052885 793203909 601533657 277100351 522518767 34951963 519949505 347973881 242812819 482065919 375650613 630943103 797855713 553767703 906919083 207424869 854533733 487810857 494675715 58609901 240656269 802807085 953954431 853429503 782403251 698878269 364689613 747725353 356835611 203055001 500707843 493206945 385650413 490752433 373924255 872052809 484981303 817630999 396383621 890864037 763404791 309213315 919628033 550870759 128840459 815489757 860145099 92217319 536246077 899330605 536645375 876873761 618169919 878527653 866440739 820143037 918201515 202914725 99545635 37220491 601726209 614241453 618081363 134006531 342929065 714817129 887955827 22483269 206135029 105189293 442624167 939459093 700140065 501013617 206408829 510942691 413320267 325662429 323751403 436221385 100973181 151231033 684886347 469058181 415102889 755650041 769313637 124868989 103969193 184487609 862228069 953480129 887864891 634182459 10116321 641532169 300157451 803731307 606376663 691234995 842572715 21228893 836467881 894258373 695372433 733616203 779935785 892084979 716431905 961729945 437469575 49234831 151412899 583584721 344034405 442253981 711280713 946816423 192988869 165981374 153867309 799020791 846807575 95851593 242939213 704585155 839999533 224106543 934472597 515761465 334605895 263303443 424393943 24964775 604028425 732376121 881967049 140610701 338782849 345207955 358430991 772784525 578812195 257759673 696207409 645655923 191305421 849951461 777520289 524218927 934091461 298413061 366942903 743706335 53564343 826173091 462239413 592631495 942959289 895502073 226106821 590640207 223516743 49719525 956726008 638869005 92016969 23985905 665201223 149192123 992482313 493168455 4296595 673318717 84110141 688722627 549376933 7585183 18104069 911325155 418778413 513999889 782652387 252634061 121629127 700173555 416392133 635717457 558620405 148263619 346613507 449961957 570653981 55914801 935251285 483796139 414565521 813213197 139649253 583001449 964170379 94280275 987282239 120237965 423723565 405987113 376251991 425871665 707427197 329523925 931370891 286427153 883134065 851347919 944681119 127614103 196985311 875686831 300753091 986353359 122972809 239563835 602410891 140747637 46216729 298848861 837036019 757566179 593014815 896846631 870613345 333777957 143431957 845576919 410815651 576703975 978742109 744840141 742960877 920913281 456209471 726144919 156027103 369456115 971728107 113548263 108012411 960431331 960144253 757351319 113449775 827232161 707907573 318120365 626553553 316509733 356079421 821112915 934675101 74381325 293155877 339501533 365420347 580966307 312538215 299942851 896769717 228660433 164677027 308342701 664604035 253575731 998425189 155837539 634336641 920676359 641346845 966484697 645845747 158539059 546847009 434277675 26876297 106336837 970081207 624654747 240546133 609316985 187120903 962998165 215221719 776755883 253627169 264556205 294591219 667106403 729235711 899113883 111409143 671576783 769042305 484209991 333034647 371471305 752405619 933419961 550840305 218981581 693133187 687694629 3166603 878342147 387540301 298448103 29869137 377547069 898999377 526316675 462235033 351994095 430885367 6682273 754315295 140698427 914381715 159289877 177929483 572093669 959180125 871680733 727605479 467524191 990384501 349105435 220760747 468538559 617752807 139535387 499676849 936060613 473698977 1848141 529384385 571055575 947719807 770921295 382598153 212772103 831925313 539429603 946941467 915893769 571233935 99625975 687064055 422215229 129230845 998416539 80085504 590973355 548495873 993051659 761617413 573877763 797247489 85769643 647988795 227029913 243993153 154452485 679904831 328125041 497558773 592639951 893992471 717119279 256152887 630909665 88645935 686386211 54472197 517929793 778057051 945352771 797848909 789879831 74022875 930927153 489410779 195549369 909880405 152440115 802664301 464681379 526031827 257399351 819832225 624320373 451208651 294482647 257054465 337709051 444537629 259818063 583295743 991608107 590481161 923714695 574693877 629279773 356811331 670757137 882676259 148554775 187462107 588784673 912404657 637944195 422846543 157026201 845981361 4245235 674791559 808168957 301189663 174477347 397697741 972169087 945182937 55481593 492997593 616084725 677662633 489609851 823702983 16002783 579662145 958358497 423413019 140660323 614082875 673024389 914407877 488500305 163285781 85055465 417536537 453850657 761759035 943108281 256019411 276046065 882902527 652350919 40598809 140805769 484567703 477499921 980662647 216428633 871084071 643672247 368881895 983061111 67365559 293761543 343925441 576068257 601161273 758360691 198230221 396064577 686129029 726198679 52089399 297498213 718585183 815173429 10424469 185352901 694894957 514978361 580943587 194478269 891604801 381183925 155603591 621630809 359983957 974000615 202831441 929032005 901316619 261323569 25594737 703689691 779111083 66893597 802570377 405516823 332032103 504895839 911856283 741973921 79177559 530987219 671688213 455718859 894885759 47024763 571516367 861484169 335649221 318476419 546272259 94593917 812258043 669369663 212400469 231113451 427819739 753527337 260756951 264948421 239232775 210048227 711071739 190851489 450071559 410501181 996748191 710069183 555292235 364549925 891732745 781805061 741213489 475501497 84894181 143343875 428578293 502887483 866794055 352688113 691078851 127876631 905972655 81157549 917076395 583558881 398625795 475356607 817616807 410958675 695210637 704277335 112624537 187652689 501443331 54275145 633048391 74257895 26202757 656630809 273840743 542435909 674884245 414148331 21979535 329022665 271088161 840291471 532106049 916608247 17466495 517838715 801560295 299220855 982058093 54973905 25430993 972138783 239696141 327225943 765354041 388250603 75650801 517101947 985957953 825770491 658970379 778465365 702374639 623608987 784219575 538793381 269627193 955879233 508818879 261671123 359092469 541840005 313270091 706985195 111955941 88599341 627440885 122021801 930496177 776293665 438412983 160418919 262470125 495375993 953597175 990622511 276969233 274893931 36629379 679697329 978702719 548420701 222301327 213849667 730578813 184805083 650378681 498244837 996683585 257916567 689747719 104271933 339848161 812674923 428708837 510218907 64626783 511456605 666421801 293924087 825437347 303229335 487546129 798804463 508328065 918543723 767395903 794297547 257947825 908301655 641685699 813601403 374927315 462467067 222815251 205617811 577169267 323377957 199608587 727660119 239709439 564320967 894779119 687035819 966109395 863974907 563651181 6938143 824232751 96231431 370198685 542143465 466710843 137913173 540898809 635717867 364965899 692835449 256079205 216447401 206970775 11141933 100066099 259716695 702091199 831099219 245640213 124032455 316068687 468599801 566214185 923638395 755819253 244779089 56733173 756260763 256956493 722789047 34107237 559455731 439438549 877614509 581124813 114049277 308340987 856648415 795537391 414316505 414348043 149076001 698229995 374488139 752556099 586073709 100491601 346993605 561214401 197500645 334459671 643898973 91189649 710618583 3187607 740878289 534225312 951527863 159741081 43382413 313504971 465935901 980741449 87192219 648619987 489810637 610128189 691518133 406616671 687618227 606950771 982868281 77716483 887602915 943310159 393438511 340681525 241543063 18396061 377041221 385982553 588082483 752600981 234824917 836442809 486126913 667464659 601840859 956504451 628677495 803410267 663751425 122513617 179417261 218765981 472783509 249372839 12427751 445523053 19154317 502231531 276388691 3440391 198424459 571268465 531786047 690246929 925820629 930206959 924281645 118026393 32628569 610679305 744605371 310844947 560750511 401559879 506277557 195186013 794199063 758919963 341665297 866756285 291590519 207236831 513440999 354181599 935937121 581613521 475590525 36249305 612076041 777949725 265517371 19753769 934159183 657864149 549062583 62142129 697786813 276456943 668106157 601787073 393308799 792042319 39977469 954670351 668596587 439920573 431189171 19648695 190122501 831711979 228451845 595137853 95366769 236987761 832867147 433600913 717937791 429782993 897749003 770931461 381123239 620171637 523461359 471796825 651655431 230915503 384395977 26451121 620192871 943317685 825973143 551130777 852514615 746182315 228008313 204768009 90434187 665155737 477287357 78234719 111405351 809630577 625448405 151484251 873584749 564398859 672814683 458504239 554032497 802421033 617835541 219385199 532563433 107239541 565404909 749421847 140658993 515323263 269260533 819061647 254271829 782639041 327372651 595963553 443831809 19014301 30481841 263691907 891427213 572042843 223477839 246966997 350362617 532576045 151267839 254001049 744012269 983840811 708000405 47113277 610107829 777130583 984498201 545398935 43556427 141904795 447417269 542050789 129641039 714630599 197206717 753449931 552692997 496214933 61013419 816371541 789108063 256385447 796532001 683556859 590007537 127275395 897913069 349936793 894252799 145613471 861890819 987719795 14013293 982134609 697976955 679286841 164182987 190661083 548439705 502537471 890585169 748601191 300872137 431393089 926136029 439143685 513812639 85838309 616922103 417684143 332286677 681386297 771527117 140923973 778179149 328084465 747550521 885360787 813263895 642061355 27514551 23018057 253963617 463292013 513047921 954350335 827373193 234877603 983278645 319066679 362673681 311215907 306774649 534637145 786413991 66298283 186972511 493790649 768732443 186215005 196921003 201040271 736469865 939548363 187243983 723890427 23801781 355737317 489647843 478432265 674574409 599478285 555745699 21932713 191893403 247712261 313262199 835345841 401622339 542013949 204980079 133623271 682570501 154946951 887693125 820537587 17354703 665095587 228998739 977517157 277296305 279974837 316840355 825816245 955727847 969863307 757109221 133955657 950146517 142601049 162947695 568227941 753324039 962111677 587365439 270846015 558320173 730538429 408788735 636140011 104974631 774751429 164422653 98478447 887061491 224346283 570273073 669195187 514083521 733066667 170214969 587890053 734562785 530335339 417106269 915580067 301817041 891398393 97991307 44619435 85169457 148026827 97786973 832446505 627323343 264631483 455981839 743824267 382169501 778785811 90423179 565082669 758602933 790472059 545215071 506134349 130483037 294720267 579831489 226207513 225992447 621137473 117869459 84131229 184858925 150878977 490481753 89919959 603464869 773533335 65000517 325748901 533366855 15257275 986633517 51406289 102604321 728389257 665972881 295136015 841063013 91096965 13014681 493699827 807573615 918287519 157335825 775541251 380385217 551038251 866370675 609210277 779347207 896550373 501510365 330511661 794613523 107142643 921654553 473972433 590292963 586776035 511928721 923187893 457406871 47204521 713882977 585806817 974404477 231681701 872093511 337150791 336918793 472696473 788288169 757289153 38900945 625163443 556248727 237697037 901557149 863908745 552929481 548938713 205751641 50411799 51086491 267979441 404919315 729603525 35489305 763858961 948015371 152691037 655448817 134255963 1727395 97080855 735539063 465513177 868604005 233587087 675313581 573352119 569777157 739444169 886190651 563525653 449344607 486317109 533363567 623885807 264596855 506097829 802150463 19125809 801041525 866239065 339994444 979529389 353455279 163984117 335517661 442753049 663197855 303823239 712037601 643126041 864546025 554545539 529958383 224930613 373611351 782505415 333064775 526493151 112957405 862897049 514261969 260362095 951413657 490365349 174455833 540628007 227064265 817482497 354122073 883588913 796509403 831034409 852670319 990556063 714624867 285849603 73278691 465490279 800058141 214452957 196785125 893964909 334162409 597311853 366507851 122569081 621478099 800971215 234504085 70652219 705916689 645404295 760340457 304443217 474372859 269157251 697815319 568941879 165054231 371685657 603828373 681008985 942413069 251660039 677379973 884994055 774677683 200001905 55655341 238413947 13043973 410776547 36660347 884951511 858842915 156205653 956379657 955329571 637930331 553348131 152493587 621625679 490756637 263184147 913899779 532018743 437037833 903365713 645220581 358466973 703065054 951678833 527081076 321106213 823361929 567383411 894385165 354386533 430628639 875791805 542939833 881869269 814151895 430386457 529783077 304308695 702296345 985665213 910599337 590492595 876169067 311468359 845393477 527390873 925142917 613581245 264079263 354541221 690000449 472894603 269970951 346786263 234175137 515459721 479571317 865519385 531316433 403874799 529056135 5945147 404170019 325938535 819948677 78381559 5939477 614306043 232393311 73037039 295412807 460093731 52190635 877645993 836261767 552079803 11680935 127718811 168554951 305598215 225201213 299826459 299960611 421391543 596193531 883675755 33166813 502154461 692535321 568656819 498606433 307868409 329014901 30791943 132883779 512089327 912093591 457780063 959119933 114157581 181458093 160372123 520837937 356036103 604823439 962527623 526640175 532107259 452438975 27145425 204313445 840221551 663245663 569515029 300032049 308499791 7832643 851010515 234082837 407830769 31754975 47552885 344774589 871687953 978457429 650155593 552112637 23195351 305352297 825315469 734925007 447088333 337549453 105430111 614595159 665369065 561330903 417986251 617074143 226664587 663224327 502272191 435825371 538575733 870737283 97864727 443948007 931237077 149175901 6047379 743280071 812314947 473022537 328744154 836124259 604362423 24152743 897205123 758101457 430300571 512596351 245172225 812816203 781336507 95774335 716947899 951103541 807744331 995874305 186035445 348511515 874189801 128223747 795825635 410596525 382711705 614822187 301131679 508025033 129587147 91727817 101774633 988915059 971842643 711398099 3950185 683473877 109491309 180143338 231064883 617798977 898640319 986368855 288787005 513571891 198583639 606022917 650393643 564860751 607697579 172137869 513882247 923160673 704461973 523144753 143131327 445715289 564708957 40739539 295143724 563000663 376070831 555310343 480591893 172647833 589804193 136230657 314338973 172979855 677075121 633683619 117690841 382910153 977483715 612022385 900215231 305769989 364597795 968461981 180009523 495269411 173228681 473779709 920969213 270612529 52582673 186228497 147513807 999039329 66254399 971182847 974293827 509206029 670828547 795651223 294075863 869384379 38493871 830280017 244717559 122671893 947648515 781093963 6636533 550982381 315898915 231519565 51502343 489197377 19656861 929471943 345655889 287231793 21766501 193826767 155204059 93247755 938137049 374480163 366579095 588140353 109215679 567524909 922714717 225773935 714213443 505797371 306655473 68985175 777029371 546863171 789791993 713346021 96170725 342666855 729047559 136557101 270601059 697266797 611062935 932486247 415982917 189844739 403392261 988288251 763816897 734485891 734873247 551905649 10469233 893462761 555947157 311233917 193487199 160986845 637877503 734909947 826862067 161970353 255195617 645227501 387206661 425440345 377970209 595730303 807695315 76545399 956795537 575670533 831712769 364901455 567898347 444986873 32336541 430333139 925007057 877282815 175587867 697263001 390252235 954565601 885596761 351402209 446566731 103886995 268278171 765894545 564395945 566233649 166589329 757161017 144078119 109190911 168276047 621073425 637178351 271261285 48182609 708622327 569459217 524562425 43830397 887690611 7542407 834978421 760166689 607798197 876809779 192141501 101670643 603068049 515140828 80152283 181864205 3227019 429526581 811605765 501485815 445668039 568909527 936112787 208267679 74682389 303173955 407831817 183960151 699437547 429686499 118796565 872350685 951929963 752482055 854555015 375875929 139584603 860823529 413209179 998144341 445050921 989408171 358094261 50434761 609658093 902821715 127539425 757441553 250819943 601843159 236547919 157522417 469352191 842220301 321999775 386737817 562469569 753452215 665318543 837029021 757685351 845995903 105003535 814548473 696861521 606399989 631868975 177427219 578462083 807507859 928477739 697607097 691735727 345094585 26989929 444397087 106100011 594723507 308715119 955973091 268911863 721519279 599087605 240158987 948740793 814367433 994591701 970802947 499953345 885012993 463973903 937406369 567286791 951341631 592038867 923790369 844666665 812958039 530367601 746958379 80579951 123590145 390860391 786705097 477717449 211028191 993981525 647657843 197004747 254515575 118360073 625042691 696365753 394037053 726120309 298937027 451399799 736189579 571078581 506069339 227311251 153195937 325287947 375273443 324879177 869958057 318184675 28987097 632352885 685416881 514011855 236512033 83898013 846146487 610164621 108279049 614015989 984234393 626705661 65639237 386480975 140288035 777269805 128613875 88226605 286851587 781100625 940344727 581439157 76767445 527102399 395479585 873036985 554768407 489529599 98797029 216335533 348699703 114262461 660388511 769567155 334225795 698833863 501793911 189320079 862871859 347881501 411965175 703946675 275184235 83579361 579574293 826147893 447633205 1489245 958442289 320456915 236318079 132659973 388969485 769392633 221590563 180271733 234586583 388259249 626532837 787511151 500684837 128450739 724702315 454890209 856547317 142549347 397642057 83593689 36971177 119011523 543350519 55709335 622572819 164769667 362275285 560984957 51172965 475431677 141120301 835599383 536520509 352635949 901489713 95807509 73101983 865040061 812760313 430191701 62474491 819056635 901313929 791101403 120528163 851146205 938233031 724779727 936018775 400243205 167352711 3812743 793753661 424319671 141017471 846398845 262455773 591002087 886433875 522730069 394359987 540610599 448007307 553519323 165140631 920131001 371488409 268740095 538714577 246974339 897273303 565122015 76972045 21089303 783049091 723266751 365220193 469468841 8945609 550960647 181694793 560608281 238640827 91388751 746177965 544394737 872770895 542038861 408353239 883634011 154965609 217479911 238721919 125630003 847609297 248658985 559978943 635446775 558980409 525327683 545434145 754073805 493520697 460274069 113644429 95832709 646937173 279859359 551723357 696575895 87894515 7587595 896926793 224054817 496189285 98643377 260459387 866048747 342021861 477970055 597016447 164211301 106405013 177577395 585154377 190554019 619237245 995930753 128883511 426099559 408644751 952133731 359572495 337689369 383733155 944277493 82608637 590589895 402992251 919597561 673914775 654711079 927764929 198561369 566202585 270133915 895027205 228838701 509145641 249681449 409198787 608310187 879691093 754308479 644492119 526480187 995978899 914057461 948170767 905307237 236486013 820973707 620261147 79783901 170673691 689730793 79382419 958313343 647595483 638251611 165038713 135083341 328749199 349781979 222322615 953741939 922432373 152312839 125759261 360014403 991599157 530218025 261084005 30582587 836197851 838327083 33288497 978024445 760071643 238799529 33405449 68699731 134414097 229414881 914418013 300579889 313129159 958118585 61968265 842127539 291863463 735192769 936894669 353805595 471941316 790986289 645490259 288939989 796976289 725445351 854666538 123332469 447707169 173815147 975806799 651937205 613464461 35915755 749673121 463549049 16702881 536414529 907077095 566201547 532301941 549048297 450088919 249611231 514906257 132623629 470022151 163551761 779114977 911158651 629054969 247434213 612601531 664572073 313426965 874059011 548794075 196758969 280481967 530067265 348237929 39121007 930830079 171158937 236967151 411569213 609098279 700892975 208101477 951928123 818832429 492532303 719922215 713344805 607972615 312747369 328271353 190585443 480599433 462784027 616537867 48894213 714748537 705125929 692435183 516728770 761227135 164361851 124467877 307038461 883085355 688973863 258667409 621790647 595127031 918732649 329575553 248005795 920584259 21589665 481692329 458612503 455042905 813538139 848986279 629051409 746719597 968585549 897037697 385110331 353008787 135249231 186996641 391793123 189381841 780954727 217113569 264315905 296546063 985217215 202928765 430468915 121871389 531806889 109615127 707292097 880815539 836726177 552886975 777368473 318126965 661466443 437009131 683883349 436767213 82873971 772627573 445359409 570181513 703495691 219469733 917459479 513830821 362661421 284376617 705633429 292873599 208063263 96309267 977077217 66677061 333753931 350108385 684403933 992525061 12169539 830918267 585295629 734377399 218552005 287794733 352617379 219078719 225975217 684938155 141011573 535065191 46331925 440793619 871274243 469672413 467160099 415087337 466606453 330400059 536729911 412706589 543979927 172624645 316854483 326725121 213287395 450453665 547516835 324221015 861389943 206870371 409803897 771810623 211961373 826055553 719863635 492800329 679174463 924915999 10030675 344233833 699181817 490422087 692386499 427305469 262789129 93062887 286006807 275893195 482573269 621839321 672589547 351629055 531662189 782709217 716961793 588995631 526580871 326284197 872912197 46646105 578098309 959641015 761761483 654683873 966061421 454384531 77229005 635866259 937226991 827448471 765839789 792682151 921883487 520636173 702529275 5562551 421735615 416793895 286708325 604592333 464703415 947161085 18401225 356994129 139658389 908708497 466725161 634242333 923340879 734301391 603737521 269074027 366130567 626848386 754502837 735831521 979086209 143434857 720124591 365946507 652395823 642141475 481894467 842154467 987085863 44726841 214378299 415279809 422634921 395424029 543711117 776982635 205908893 155465767 222635601 277100433 588633999 27738011 536128203 818597703 810607033 343579807 200397673 653729803 2945017 424098373 595259579 779411135 211053783 518104711 529660029 359248307 368809603 233498439 68573331 50466716 378454995 834983757 351578633 899028631 423598917 253563723 390170127 318170409 359266307 491161305 241034501 980472641 54091995 930128249 785241961 630465841 773151557 495112085 517925611 903036601 402591839 83871101 855044955 206137851 613684721 941415531 599428021 933523081 668628841 758892417 670716701 857269333 862768353 700823751 266196959 510706877 208758293 813960749 55482989 494199685 574697325 676856465 934160993 143377373 747655419 862987951 166839681 245247321 440933747 169470001 827557047 487013621 473309495 415308973 859422485 600828951 793133387 829107863 673654489 25995661 345563745 772346449 341177955 662697613 662612433 288901415 579131201 347012017 711727765 220588105 817443621 61224449 555195995 818510287 37625577 219333609 166519405 439320507 24527763 750988351 14891717 657991925 331299661 453252417 242355969 550342737 952745067 318477201 654643561 187520903 681752165 624773441 26383341 739266617 793589987 647825089 772447523 77615341 221547693 700586483 800280905 877752345 398417079 496161563 740029257 176788755 304381725 513177059 291338161 333245213 786766369 226762853 837035961 141466719 75053871 566505499 862460991 423026413 655714777 501276907 215022795 198435775 112318685 828116001 692121227 512011191 225659677 100347767 332262743 778316443 458312867 380094469 686223537 802279967 897572771 493691219 934948539 913433309 358347641 514208845 105924425 757072725 705191847 84926023 974367951 792474865 33802971 245192195 135559535 796630273 103465955 337009313 986975725 496632765 629030591 835652785 208319163 200462155 32770449 973827881 664355567 508445359 515184547 442138725 629615433 780771549 378978923 148708137 615450927 832491439 456762497 487891875 147074993 109211877 536586921 710192233 869426823 991321383 933468369 754326905 779566353 823428873 950953225 885036343 282984275 963842563 747140237 27853681 799805693 881690485 900636865 607493211 525244521 912568233 664621103 523387795 692431765 143903953 502224269 723569437 374108967 636166663 492663987 239265897 82397037 959839307 541525413 692547403 875118947 500679557 597309329 780161279 852693413 950051721 491347399 534756139 946441595 958101773 994115267 407363293 909664723 89701045 908771625 772636041 503425093 108330507 223874245 671021583 721182737 235221117 849302921 440681393 774602527 857081445 147109007 666367261 220969725 327904775 939158813 566630249 314092001 2098313 857269147 703565587 290471851 377855231 402642593 639677181 478675685 267372383 451455461 597131129 242860475 701954445 104620879 352361273 892230405 813517905 877906917 935180889 508515139 11592285 447669471 109042019 530575771 231618891 151973527 410052159 480147677 969299609 423493005 663818055 623700097 267633331 460183409 33965621 428598181 920071659 392721941 578746159 630265361 266594679 322385009 593282499 774949173 423086715 304532397 878503909 375022887 603546879 850442769 529025267 127770533 473726197 887128593 435347123 430197017 215207735 864289095 521008209 129431441 940410499 946899833 701864803 504868803 937713797 488607633 644447461 31362065 340438733 230387875 120174655 814612353 163880407 683664617 433636411 388651201 300529664 219548869 242390545 720311083 51463317 625786309 843298395 374759355 798437059 669933469 703872545 342059033 275210921 424488739 489517008 422520727 899225667 259256673 196795453 618718249 475515005 868123261 824867749 73927537 400493607 627536587 581295789 762522035 676972283 525726665 998778209 169998561 375162011 686642457 380612665 275909009 510328207 568214405 953186577 771819523 305753673 150818819 665464367 980957981 753898529 964979883 89322303 53749103 938248793 710771649 672604759 645049905 840271131 989122737 795356403 561652801 187926647 999940879 881741561 504621863 658489191 160699285 641413559 963566611 311408845 833671975 905335011 44879577 385771121 127051729 654859671 509146877 23226371 866011075 17351003 815264931 573527071 466778715 779181339 442449307 444526405 650417949 324436013 897629275 305193183 460262065 352374095 660946693 114786365 412689389 305284517 995816029 853726105 495750347 897950139 73549015 454945557 520612719 520708745 798867333 829772216 152676133 582465131 839605545 64339573 972817759 73100325 631747371 438849829 116938935 378026983 93871767 23827337 217595891 626294851 413686055 839095371 363595003 149006137 768098363 686024699 936929253 803412269 8212951 625315347 599892461 207342573 64248749 72932851 584966771 494398895 533981203 631501799 163971589 43711501 399110409 900245021 148371283 811278095 831917877 161369521 296853565 865421345 287590118 219077539 802944707 964989209 138043159 953551837 688338449 394359603 473202275 615193645 666720633 814408725 24940051 150330705 597387639 772417231 823016727 724144617 842801329 61947089 255402243 420583803 64123119 877427453 793357083 128038781 690568229 87137941 78196035 573525571 569669485 625564233 288676617 206468627 648972301 797726507 655003817 736835093 173815919 310713787 216797183 987105623 738016551 469287133 324103569 865663447 973342701 299805405 91382673 666134387 253705897 978752115 831281367 408192247 496673379 668197309 565378527 924488977 796752463 679154491 150065617 210559837 628538057 738265311 212964223 742850907 561264211 137197821 310990429 160227187 514264729 315285329 572590987 731143161 692318063 199988737 280543443 235747363 189603277 439152283 705737633 946965271 702797531 595707669 19593741 482748121 52723425 436988617 74848725 784186717 482659925 511876479 629400419 6558077 341269197 945441893 421103815 882042871 788398611 278021389 745474227 850748537 651008781 566869621 96906635 61429903 636359377 205638149 752291925 775818935 310036377 705931913 761813953 432437071 145477065 860412211 88827685 887751073 785770219 50719909 795251583 491793119 922591923 843165155 587915385 216787747 922753023 399470935 933709665 122294379 302001613 131196379 24777261 307090851 49568331 836069289 949169791 455721885 157421005 580148583 121118875 631973391 143094221 308746019 442289779 987307165 469000175 601914705 719196831 518433745 319491327 717068753 139844955 821026327 938980847 894987491 851263887 480390351 968450777 838794811 652459980 820984629 490767873 382587367 273305417 966694261 228941525 953406827 103218403 351650209 41936101 558556839 308088869 294662831 940286701 411676397 903758393 11999107 276257235 492760557 970129659 611643877 863913373 24025289 384028137 117044103 371802243 752331523 707577129 377842945 383682525 819528587 137993355 815415511 685775153 815327667 707047047 206547055 750391081 419230779 316365627 315757339 871116439 16417351 526670703 945543445 28376441 793764965 271264145 96266367 519273455 74302345 921159354 29560929 351548231 730286609 958610857 224389037 606417137 194956995 320417221 719946811 350840717 519277001 551724061 755281869 567956443 429139901 843577447 582332173 306534343 632795289 190078981 572808333 358732131 713124549 655020285 753108419 547015149 278297611 477957373 442309137 782545093 208376993 702678109 450909123 32332921 439933991 761157917 720795913 246370235 662588063 596984803 94125819 957953639 408045943 371361025 763516059 671438975 783827589 658187115 108512211 740256047 259919623 372252097 10020979 456219083 803357345 101794637 371052853 701886669 515801183 689896697 360544443 794797271 971836345 723748961 735127181 612778423 261159819 641177795 764683803 89574239 849555227 774028805 318221249 604315883 442811155 413176247 807922111 180880799 456358541 131649041 339582271 942766051 773604355 334348017 870295889 582892107 280471643 928037599 41099759 821143189 520893923 211981321 574343931 226052259 138350415 243705673 732754747 60017535 588511423 510509851 128893285 490458719 391590069 684069033 213973775 350653851 689340703 568612033 355107771 728270775 115883603 745884377 849337811 833348193 611695629 115403795 165274021 520169831 186333301 940177459 402901615 519057355 125670165 428260011 792006481 104758443 203718117 169698195 560111185 259472979 755592767 149087399 487482725 176486199 535782381 168349263 808646499 963779829 35282967 216413851 790320397 93861707 300507223 724443715 848722443 687684393 337562023 128412583 567749617 640549791 476826476 865252299 226852151 672892649 956742261 183318881 433611837 967684459 727852535 939829183 849873487 9937585 104744079 115254755 539843739 940800619 590266179 798314359 942462781 987472249 772825215 577523657 538683955 689308377 222946073 826420945 129388139 97402555 136408909 764510253 615619763 351716719 739393475 714155045 482535619 605869171 269451909 153744039 743838785 596735335 98882057 538845261 73956785 241938201 669869615 349685587 898595207 179458169 684555065 796270243 738702109 167069095 991207125 859627209 419644851 715980515 766332697 206107905 660454769 517433753 157949827 381351973 155068011 277315931 210060791 184042433 623196567 325243621 783319488 541046017 696562649 918449437 836859033 402361789 736852731 631101963 848102299 389086069 143170731 871511523 547953229 395884625 830311299 218736639 609495963 691613213 386494983 585723365 968412377 98454355 621561245 766405695 931380423 784669201 302267289 450664417 732338313 871836959 514371121 453990597 127278253 191837933 589154185 521781517 465427497 641662097 317683371 87654919 668666199 658576587 915933317 658860837 821548799 534776065 921265905 615926531 950207309 495304259 869654451 944490595 201115863 958007879 559433585 954826545 988222363 426641519 146885821 174062465 70718971 620283585 277277971 677990541 706137033 131091691 968165329 955614649 886947125 269384007 940769601 860306831 468441057 203026897 347551637 146025155 3556303 852263731 572102629 430059825 821169263 463423419 556245813 928298715 933154195 155536991 110286699 324128495 998012027 368934337 297699417 593331389 651432139 838130981 247575737 621358785 422437777 501208957 400484653 447500703 96267329 983240287 251407677 465053985 660381113 632637195 63623771 737746747 713995583 455146345 21603039 662616841 187671935 720442629 845193997 249237455 887615887 55480857 218769931 945893365 659617259 101131395 950973675 467634193 307096955 825987275 608758695 349985759 427201161 97402657 641269793 691690815 740858315 370616923 585994017 68349245 336777057 473446647 648330073 360878351 250169805 533738015 353152609 208450829 197092093 648237217 376403387 311606205 586415945 911755253 618122193 39013575 38770793 491722041 217930483 703962113 175369351 587907125 211096155 567440487 788444463 635492951 545808171 829085465 598363733 64969655 15620459 676227173 359136599 732975127 22845709 742179003 600059897 577763801 765653737 208966075 950458731 750460689 363228097 935173410 368075073 837635699 889449279 730407907 839326327 498967137 94601459 586109709 354991731 698093023 46247255 822037209 243165187 806695327 225398987 402196397 397054043 397876983 606577307 349655317 391712795 580344039 947270135 48860867 867022405 12596503 888740599 403521427 394522951 436466387 105698717 985932423 961407479 390914069 733658321 803336139 737779345 920928891 707954023 209745329 944257981 409843277 163841815 906708919 726928261 786775931 169209219 536054141 981842529 627739291 175625523 330394577 500866093 540129259 549670039 607463845 635122477 694437461 416443147 992977173 156588305 873631847 919839695 755572835 104397803 462441305 548367117 575606523 588245819 666145289 665684179 921381489 975461093 884116989 57491487 400824191 763098679 680704105 941888465 614771975 833127141 700285727 829785007 48129815 798728205 645812129 498396527 402809827 254013749 608930839 231369637 371037889 844520777 756217423 611732183 921848635 646333343 352689855 411515501 479184375 976016115 773907335 991693239 322291659 166809709 148738929 961309932 519290033 686029975 429822697 275298869 321748173 46024809 916577543 101546131 436475241 81728061 373310091 841777405 878217721 301912795 832762075 136012103 579859225 422424689 992884487 777732919 82930573 836181393 919731399 826980723 439730493 590352443 662957947 17613455 60306495 83172051 904848679 795732483 652243405 917592357 728943483 565172527 995655499 418946921 706452689 697765981 48558916 615848251 21611303 938187713 386255979 952706721 613986081 220062831 57341083 70461191 547856659 727766381 793089497 8630849 704888307 489155745 452309837 540934031 496444511 227906527 471866957 679771799 489118111 134424029 976158037 340104291 273054881 191799617 649555205 19755625 993143037 486024079 786106153 205417351 137711091 137848379 884403639 426877187 36264811 340435357 85821897 121219979 208891123 285987321 476988063 768802865 322958017 468756085 484587177 889435507 557147317 320095269 891452535 474095161 147505497 419458815 452690375 865434317 942890201 659072743 869506681 87557607 987807245 964233383 251245467 205549987 797830517 733097709 679263837 701508741 404706871 57427283 690002207 197935741 476641571 572480347 298432609 697606111 216075697 435665265 802138575 655322725 640783615 180642273 928758075 26321979 368374485 378344935 101136291 925424359 243554979 894086821 452854823 468080229 326964349 74039331 907632917 133559309 883496999 826084435 441912031 719853479 41772549 107828751 432439585 341892191 694493223 936477205 933072285 720216521 134316867 436801553 439606079 658080487 965705659 565242261 365043993 243787545 877850261 439274263 805357417 472145201 128231551 845337851 995303057 563667039 352407249 502612105 853486619 549729605 700525709 425769713 710750139 278195941 984650069 818315345 673335885 701409197 695679101 726005925 185866451 808419957 859433977 868566233 307863417 193396087 493902185 455527357 169103507 711670615 850308887 278927115 155971483 778969127 729380079 664831077 781372469 950648409 721079177 277012563 159567659 500910027 943563557 680496455 37634929 390298819 948979369 248944281 106597155 256093933 645679269 342850443 186786947 60768861 175977553 173369927 54147839 735569043 100131467 357645533 217643559 916114805 924821723 816493639 669469367 139213901 9486449 73070951 418789267 299210961 756402465 823737861 424068805 439563809 719998063 56331729 930923649 222469567 618288255 27775847 159438885 300970649 438052639 430064969 515992367 283182597 45149387 883496155 899865679 131326657 283674527 639652211 736380501 204015087 256863841 142305097 430335293 858247713 453099397 82902143 31442731 389670473 834871325 524810781 421244777 365750467 262329579 820920595 981401453 317300825 375394647 432879421 687226831 656999731 326840941 868806747 319077205 140519403 84517863 477295895 120784873 715311739 648117541 730672641 184339869 529796425 43352619 471804051 897085869 641483811 139694251 154504237 813319549 103756605 739505915 635732763 345651609 901943349 9319707 808750475 945145011 669442321 363771825 49211033 233264293 304063293 62078221 764892997 94483317 407564431 624379431 981972345 213565517 713006149 2082205 897597701 154106495 481477633 323071671 412825761 307281545 487069395 714108005 488966387 131083531 419797553 85609019 802409343 149240275 638094583 491320189 599493563 259314387 357281385 478385677 567083517 785123111 815655221 662900095 315740805 386633233 648158835 903938057 141312129 678451197 54607003 58041225 715380991 303438717 808416919 505609349 51235831 582981711 924137139 798053167 614435663 707108435 922524067 45121631 309602763 967590551 29596037 331855505 408913439 376301133 243026143 536401133 961813989 194099153 520311197 702796357 917779101 105149349 699396627 651323917 408334511 192712053 139813891 125995877 991703151 189241109 639295373 918723607 299552019 115695487 414975553 612864909 307015617 333080535 432490517 162244067 97413757 197569639 464833635 871742167 450089275 87600547 961111795 749500111 503076565 739623719 42978033 2267099 851394057 96244917 458320371 677787827 801485957 985396025 571251959 269671349 968796117 957819335 647998817 907014121 698158711 121066137 613481469 959861247 378759369 372718611 282670083 466768715 559617557 910628287 638603791 909461713 273551757 178534227 428138789 112733749 110519115 860255655 391128501 155434693 640512845 422779327 46430867 487846013 489349249 30972873 718301691 371983097 278233523 447325717 240587923 861655167 577147039 983630367 55653481 352571649 99011815 616081803 438394353 960088855 139804437 182631203 861914377 177311485 876335511 824424925 233544695 557153179 357090759 388480465 734126695 751144323 467301607 477381956 418638959 83469801 985488163 832912801 342068109 560592301 171993735 489036923 263800227 887026775 427262991 144197775 941701633 939857687 591650973 822340797 573878365 468209091 20374521 997671699 825265619 271922651 746528725 601157569 326398951 820142469 872860363 850548775 757815689 338880145 639315801 148915651 705519115 824627575 422507243 277793093 157972525 90490453 687245521 492167549 641249555 792170995 41546567 271653481 463789897 284428479 416098409 680764969 42417095 540832211 228159813 805973003 279352555 708295147 909060811 644245377 719385973 448306289 377582803 192681253 257988503 583588467 837266721 546623421 211238373 384104871 518825561 47975219 650866779 575509871 658378003 40734107 890008415 344345041 965845699 470024749 507692737 247684731 884107469 99196497 733877425 269105605 704245623 499118223 315977937 761712047 940125943 169759643 894540067 785294559 286362211 709118287 990281493 58637223 151018173 450127795 48383613 595995899 591526895 838462445 649675417 346363771 289726409 551558481 50268428 424396399 209301767 743744605 273998565 798360263 573609029 240352691 973479321 108505625 669027601 527760157 890861061 122872229 794824923 910906511 335159149 174760273 711204859 29534500 845780097 29737645 775695027 639462433 876455509 763349489 614399019 936508399 338329445 62983419 700297079 540632355 207947927 217938515 989211791 842854775 814960185 618080807 942860629 111911631 819479295 506438993 561253009 575239733 74424583 607249997 330182898 770624221 653141719 61775941 857574423 776840995 612308571 9907717 871710589 715973003 473431017 162872585 328425359 279693757 463757631 784235117 295535773 149453199 837430399 760590327 216455649 844873723 68776251 728011033 3073147 444920869 341890915 772441577 884558455 967869527 442048601 422137895 453365699 869182727 422512095 543479355 534539067 764595149 608302885 763314225 916199839 443511919 495345597 576747203 971099287 186165205 146750119 296721489 120133047 954008853 893018439 891155935 851381111 505581161 657651307 755763231 686413367 828628532 342284103 588288101 706319683 27977733 29271161 145366453 785402825 544468875 944893703 757925811 351256549 615638945 753862493 300427695 225283991 498811213 930363985 674704289 167882695 211754679 428599839 169435431 422599497 999707703 841022829 684159625 433532885 479022403 678056009 882618805 636122379 34221441 408334633 337345349 561428853 661935549 548198375 12547957 857605509 300169961 481049291 359418671 59302549 487065887 894861187 509188351 897563621 242943653 344630305 686545953 940805533 430101733 811718693 258530671 525703121 478695793 872958835 295458933 632469879 716494599 170949463 508451935 295232885 917334663 567346057 976545541 526015887 66027007 893475621 175081447 25686905 527660961 950964143 246011691 266787789 161302217 5666327 513799331 112212233 759131385 29940145 933962435 158845593 381038301 247357753 433250731 153048527 297482055 36164053 82355747 457807075 296686645 273903123 100422299 915720693 771028425 610159335 380802601 647895567 352752973 960682673 67849613 38856227 272193589 392569907 92079149 101260809 450499357 81208731 934103833 84519813 558816967 16381823 62862855 396784957 969884447 457190363 451600985 59042245 14577721 256849687 581764117 674465427 7547213 858254589 289052393 958758667 880609731 742549445 310501679 759966581 526948387 901020427 909470435 890674179 956908835 631701715 138195631 226323917 276451995 489445005 103673057 435401687 906907791 591797259 767111791 48714247 514361899 857767565 135506937 444075567 534651075 652712887 249494729 18738955 454822609 122310295 183337931 373228343 934736121 971512481 633285783 982073921 363370757 609206451 145309293 348095897 796200171 941779475 684542259 519599001 256985027 286430573 350271611 444302975 386254545 384951255 948557433 882615671 587537539 825748941 825257741 716157329 159758697 423433269 846362815 173353159 922322751 248700253 120024511 384951035 249737705 25135099 630195427 274972917 600963185 87502889 660294825 875516263 2094093 573059697 878661179 723579881 714456341 975834811 944585319 950515197 175581199 943119199 581473445 655198221 231668389 909793819 666481683 784354409 551973033 313915667 829784697 406535245 442182423 848724947 727433541 796287701 663088915 10016339 151177871 501112847 791204073 525671919 284308505 561827819 816786699 483732077 929576517 43145025 61186323 83449081 889280807 295431379 713379527 536858407 672516979 258540619 490495761 65666039 95603083 532101433 953319683 37481679 110787187 244573719 794945241 897220729 524995805 805496135 626063097 291085867 798597151 146419727 872309483 164560003 550633273 492808101 688898147 225897095 686440915 793397279 700394043 920601763 427541817 193736575 115657081 945816493 624726885 272549039 907513415 272165347 262385141 431215743 91165431 394437097 802329905 830716073 900399367 848181707 588175113 976718541 956498969 496713729 702803987 417231223 559315703 954824807 673785997 400666901 456639637 380188993 421502817 299675395 210669325 45074495 674235165 645536897 417715877 516561779 679849721 371922361 353848009 200398429 319567315 712708283 146871047 989611745 227599153 440722047 746246175 120395853 804213831 337736683 704271603 871858773 315781351 995218115 325334413 321103383 867774611 937017533 262858273 702075673 79140723 506229871 277035019 805484103 291378517 718059097 636061901 525388535 210035375 360090601 377671443 72844261 294637473 301373037 169773489 628437561 210950389 198487071 568940705 901530237 762114839 30272287 660924935 611903399 678120223 358490231 52844845 21696535 783085005 738514715 579423113 981610127 678891143 393866463 873293747 352969533 182571101 58877321 998133359 847170233 19457799 343858625 693431209 224171259 238764003 759414293 638785909 483717741 252246267 191805955 494924559 415621339 115066361 828970729 66361813 674069113 260866873 515429651 625084505 20303589 416110775 224370351 701041481 944471075 55001373 29700823 535990917 934289315 566476473 744777359 710749195 868935481 298247811 299152317 699081483 786458657 848170777 217136181 343684821 955997185 669830593 841195695 488257509 765436903 560802159 112275915 960582879 174516041 184296885 544829715 17532815 578915585 775098325 589688825 181835751 791139927 419125687 594937559 56242945 975811063 871323367 36342763 805998115 257250039 903025569 327002721 788456885 152372181 102700479 89386315 207032399 325712245 786029517 732123295 842107303 820026915 866263543 798391873 545701283 606811287 107076885 272488699 970642255 827938540 390674341 761763707 496978397 684863401 487967955 404498779 691322791 372709051 848439657 427776543 796982579 82675317 331034337 54486061 694659627 961109655 258978393 225278423 988607075 624724293 776664473 225187929 60103891 78173709 954638865 847965393 1086627 130574563 757462485 697757001 307618331 606914853 20954793 507004851 509394863 165188249 579560177 315629799 490724601 106536043 837654717 731099559 561984447 237687857 570406595 64551837 345053419 389507305 39746405 723164763 293220241 660258293 739948969 968661591 653340651 876517413 191235133 51191797 457289819 539549359 492847737 972629629 630013551 729135149 140984159 813250849 221776857 991762345 318789265 265159673 103709045 684163979 320137571 684893447 302707781 140796587 35133897 257798965 695169143 568251719 342603619 834212179 176618073 815021059 533951099 897648413 974414187 834285 883595517 629026351 604204367 980514937 6932353 746952983 945269455 69393541 300156485 450176069 245410527 920620373 62400565 629905169 356652443 212735641 933402075 138802365 407356231 432860261 633478769 398908275 810882379 705167413 142791893 912941891 574526781 150705647 336896143 648096551 163281367 104157409 522181837 630425601 502310397 960521409 285160809 638923161 281857465 248940713 942154209 299150753 549177153 697728033 18489945 34178737 731867117 860580887 855439013 784018251 567656769 853274077 254602555 500394201 134360043 909368881 972978233 503687339 205915323 239123003 804316261 825317627 790266797 81833605 643243059 693226985 318252773 557207559 557148853 508877441 186040751 274009885 288151725 584035761 608694139 873544331 317794177 619814229 512909545 251855489 108044355 215152941 115267255 685889939 976795303 978285539 775345877 215132093 11934735 670185991 636277075 585393509 506723455 267368211 616025455 605361241 140913065 462478439 413595785 455274701 973724643 761086543 928187695 519018079 220018989 23298811 397562385 458802965 573374509 233614209 806020879 478228059 192235827 562194663 66497577 624039943 13258039 947273493 728905353 735658837 517893847 591518683 76338567 549456877 791172955 3807219 249613209 178647257 136104369 541463037 433227111 965772177 161340275 905869189 330033335 477796591 484099551 496750073 943560065 377210941 544854233 976660917 793001695 721589795 591651317 572581111 267684883 98077624 42074985 525248237 275165065 947270525 175776017 143873189 577008595 697848403 376829817 129212953 210948271 323269769 342832845 387258665 614032895 604304083 964503015 162995871 839325389 365965647 672942915 1838893 442519629 72140929 445930505 1899116 722526427 397408857 926484747 463076319 142553849 838789931 29366205 518311403 935848019 454195379 390726975 552835813 180912827 906316057 24612699 3299845 959783215 323198439 335126395 325027435 542802129 679161107 644348347 3602465 77800427 998694397 398956505 17890585 33554673 229577319 477831739 365945901 115703679 396613503 298103537 380895773 305784153 746671323 171169971 516204689 126184807 311038841 246368223 908877595 270985919 92423355 436146557 722169911 605340571 800808819 421943869 403524163 393486431 710746323 300496755 331478153 605180565 438264697 316189219 971884603 532110321 423972457 798179313 372306291 325349711 139455507 993755179 55513135 740637107 494499657 77571789 365552477 841201477 118070347 546162547 407455177 739194459 666741693 132514403 449209649 587596911 541168557 576320911 466625331 508247845 477974161 647510927 718580313 709396297 140303939 765538975 785573141 175951307 561907467 125860263 346980543 840964811 207257749 828172089 792480411 143163015 624681207 310546569 947377871 766785135 64408493 922294903 123932013 940126739 165149855 879879819 367822192 16016943 618822423 220797941 200757175 700996007 688980685 167392395 302786575 38915719 548009179 554289613 618769955 267834113 97682123 126866913 90133651 159543407 126030213 902505111 302091227 960009815 314858083 862435943 380097895 986172771 813312541 818911087 197326983 641569893 721114589 23493239 199105911 661486937 690270767 83376109 946102355 371130981 578293255 188537579 846553129 72392911 301644739 402135597 866585577 172779535 907242025 560015133 631501675 700686015 968091493 702794441 124354675 591037857 515304461 81880295 364998567 231722145 13559837 290349273 680550809 228496849 318938107 790684835 848187843 164268655 643524469 585817593 473780615 776954331 174387905 205165869 742233389 371057827 253994873 122984513 794262245 659133305 492605349 103862747 462140875 905480249 286315187 68898381 486897377 208095461 481325173 841646731 291588619 459733161 837049385 101870389 246924577 601191129 663166327 263007123 30356183 995806701 828205931 259410069 767816655 607679117 419628921 807419857 41497493 60415105 285746301 377380487 812807065 395395005 927205313 762750109 620333619 873214813 35438575 5528483 411137445 458964643 673543195 476611537 501734169 823820797 228969669 580342021 319701407 243666425 784662227 82380743 375660849 977331799 795482253 240833605 652577711 397546233 108213935 21881689 291944933 231489769 843710801 415002495 674522753 174674269 680377595 441546721 644052255 600078509 895286169 708417867 221611327 743516509 679275393 229098809 535717707 699853081 6098031 805347013 808711059 887695285 857561739 531690939 158712657 32560171 999721823 400489351 32121253 828474271 843081955 168483393 983501979 309821533 616389747 220315561 289486369 587488981 771810770 792770599 313077011 245860005 914567731 206650311 708500017 758876049 912749861 208838467 836564259 618385537 385366441 927172345 730400125 552877195 876762403 612722163 700644791 763536363 127124065 637408987 710439473 865777921 897655959 25941261 438373943 441647449 60146275 151402375 619468535 448066217 446290633 613591023 987424397 52072393 991995449 428879765 198539001 497179583 737439111 637347441 53339939 620098741 144538353 651378721 923388383 290233085 306173209 583247085 958206693 975261715 287007247 568279235 410886613 416656285 169738313 574187069 895578937 730341473 657791905 286571927 164799877 307472215 377239647 298832827 175621133 568601753 730077231 575412021 327680023 368623720 793601321 768723777 199845321 826369073 788910789 724608185 579018039 423230857 942984941 997571881 167972185 272625447 250947309 211328445 492756751 657830899 783818361 120638541 131540003 961247221 460709039 254223449 118612551 149273441 513530643 360608775 161455637 12910481 688162965 214550313 242781195 999152651 484251783 942995507 826246551 958625145 972313515 618336581 576970757 450160815 389063457 324078375 934989715 572982693 434957689 405103689 895395935 595505283 337541543 695829953 983923059 680223889 580646409 609581133 395439553 352783171 562311525 251338071 966367009 125784373 473346535 754093037 944002391 65184041 820336165 835639751 56026377 786288907 265796125 37544003 625952459 245997295 552469043 143662953 446724115 622632463 167866931 343501543 962346565 712690127 210555989 415904023 12280233 477400249 872546867 362059253 382303345 238092161 174469079 642019371 776126389 71381507 305048745 258394117 825145465 28918849 507799683 85803135 588909219 865165161 704269471 881977907 338988037 524582601 20320931 978161261 540618587 51128545 72400795 324157465 946155331 116972115 11939073 890292943 733564743 616491243 593274285 953981903 277964503 221234841 378364645 266337535 798671953 691881595 928175449 420304369 326698993 796210645 841849373 390939865 477489891 688021775 719111597 596042647 703718455 319773887 342170865 140211891 168433641 258658975 584844339 533873757 331186645 908553875 20711467 623374187 510845129 939499943 4875507 679494235 316453237 407421707 496825107 698493015 444643697 266829599 493137017 886826029 907332159 979432545 523775863 675877717 972265033 1750657 964981709 49609453 460194273 339173198 878323101 140452541 546036797 237148103 347287161 25079859 69957759 160204047 321727059 631259495 758694067 782582637 976067721 29933083 104192713 356341081 467286751 978275505 334961561 821124717 292149893 210853181 796355557 985612905 507013903 20524659 45202775 116728893 589301625 267845301 337076607 773999353 196799785 644950279 374607575 469686491 144263405 453945883 526012865 573620291 755668475 556014919 74149251 712932031 443907821 944032139 993273683 406031361 742835915 566637197 838973255 711407333 429260801 939717535 192398689 300390507 991708005 245025461 625525899 345722051 891250997 452728175 321864085 992355391 961712147 327727125 712029241 832086103 727037969 205698711 688282647 378038963 877193119 271286667 379724731 346113563 13154463 634773295 900058515 298364803 849461589 382957165 646091515 903921927 613887851 323794899 521452339 454407913 83991291 429528217 365528165 873941141 700589951 931909021 158303393 420515743 436905181 314458213 634285281 609801919 520400993 1068069 296840197 638910173 373120965 325246127 605142489 840701953 821977633 967008645 187937291 532158559 317222139 970609871 849574711 93599059 124305731 266120281 771113437 120484961 926118477 659009183 572971365 425129521 346416343 961193915 133360931 846329241 368303619 354684537 315959119 563405971 565333089 555184965 55135241 897072449 580389095 327182647 201245276 86519027 667990513 226184975 284974393 479176983 770192963 762300467 590466681 628205131 170033163 92484531 538632155 975458129 588953567 683744583 699390989 733604887 348412349 661355597 757515163 178763949 365814281 388140749 833223171 831917135 298102417 1145975 766913187 874555489 855150473 131013537 570443719 528882541 835682447 286857801 817949085 836658729 854620583 606609689 41961281 110679661 372950081 617653855 999393201 741001791 111724593 932608275 131787995 129893063 381701811 473814995 609855115 352407899 234014061 355104229 291652991 899746423 50963821 48468029 946464341 134843067 780966439 131498605 200689815 745821171 652717179 737254327 398708151 124145685 280668587 354790915 401030159 762589241 533725285 808787165 800081885 65668517 922955711 964435585 9659471 682270403 400137783 716626121 669797489 587457573 758092463 433110593 341780545 640732039 341624697 930309907 797649309 119175375 36574535 947306525 227591503 385915139 485184565 572331991 769369609 104996699 859025613 965199215 405482339 134031409 229111 949297071 978963681 230960135 752805133 51054609 789506793 103859337 501743817 405921203 910900685 802812809 870620753 6083677 465689289 212782085 95546163 698381695 15180539 987919133 865290595 876897581 836858989 572554527 725939775 416870187 489259281 885201533 204001165 340485597 783859135 890091731 454162041 204625747 580652345 779070947 761423513 169495619 409554217 393727129 681100009 197860111 243604769 298181127 448657617 904063677 292497303 575239787 392788763 360311291 239990511 64810023 272388863 362556961 345825905 700187333 639224599 137188399 437727567 862451705 150072939 43936205 562498465 199285919 470499689 284774985 794535273 906534841 62314723 34251673 584009617 321865587 554079001 497511261 378405611 284664353 262372527 710099935 126311725 440765757 1850289 407762697 393208315 169728617 454452887 517692793 796927963 653570676 250477885 275120487 461922115 315472975 554398697 953784769 425938825 730899477 943145031 658143505 558378479 961188361 460829805 718586513 860216479 552657817 112357335 969647391 508272555 868474451 939970155 639002691 559072777 103352567 216889719 850135851 700374171 861098087 267003055 726436785 529742636 379847855 897495859 730260816 402374511 775212031 622985349 161546293 994744825 542098869 74639763 497592875 689839437 856906069 827784627 339107242 620340949 569162119 386661283 129994451 414069217 312160033 116383879 58481769 591455403 950902815 591635179 164800735 926887251 560439457 812628423 224281933 344201445 468775923 132292983 164699759 517489233 261343115 614672063 196063149 274514799 525387777 523418575 873196569 119170561 650129435 288070457 264881511 260266159 895994817 640582397 83211001 143958541 665496331 949858175 922568915 863999379 903379247 55005837 709849255 570038947 285287827 211113051 658519243 921999235 797105347 284312713 211939647 598621289 134935409 625566489 241525929 203066475 238478711 750246265 456946521 838737545 455933147 752165245 983117383 289808049 215533767 36835943 347345937 319781041 789602957 120011735 415386111 247090499 84163755 444949727 714380543 695558407 812024257 55013103 786367147 448960905 774944669 248696553 884642879 618736183 955020337 4704783 880038821 762569069 998036119 707204881 375964779 18231147 21541397 167121665 868976329 672165209 868311829 846139487 299244187 957165131 497315371 761397775 276114029 175757369 578781969 386956893 822920299 22079235 679039401 380740609 295730543 158193011 101957377 60657943 984505333 623316541 780488267 367446053 72531749 984108789 81336803 716825879 118167505 822518049 976257099 489157187 878296429 856082727 239467823 458146661 369905945 672489307 146148963 377214115 39607453 185425653 836902113 405781387 72768361 201776405 80205259 385350163 984810899 743342533 855832945 765091733 575394523 690558711 277940289 159988185 820872615 490087301 260204505 235505164 244771335 86661167 541432827 769835971 770885299 421700765 82283411 329116153 450728457 731063395 208936885 839140886 423741201 559138807 349719195 783753449 460393595 930171837 658043561 965581729 801898395 677577471 724826473 689336545 276618613 423377131 232692881 726101933 215056811 649417627 871002873 96273519 386335633 325690131 671946149 53343745 852332317 295600185 850407107 50085021 777328619 624992223 77676707 399579369 959002695 712681921 124256449 393216243 298720797 985411965 477650625 635604783 575752711 491278237 987775853 673760637 457666625 437158035 235401147 238297629 890462131 859600311 990956995 643113153 385535213 448785485 67782091 920936829 775185705 605759099 564011323 639213007 177891137 562435667 783024041 376940441 475253951 351283921 477353937 533749805 52885715 316985043 808702611 916318011 743858515 319089187 708364795 24837093 426923455 154262643 196076095 586815405 372399165 422634075 558122679 840286083 922301085 208353373 862028521 837446329 163273047 235248611 871768959 85411343 193212553 963244607 229292875 722554025 742487291 46661031 983300171 666966293 308544795 686096447 488357535 821939783 53567491 746456335 532258197 963875485 859618927 970319111 837900959 529824987 171502537 576694789 175031895 549130545 405308703 432729029 155228547 707777587 631911463 149632243 845595149 302924253 78902851 679748127 303813639 638792855 757517175 81295043 776414895 470992427 945393013 862839873 807814503 432189647 822161557 769756897 13032633 841306659 76033747 628384467 352841049 741196841 923423959 760135989 659815713 957963855 710710515 939543811 673249814 40532587 792167451 768667177 464739685 216690619 905228527 453225591 380406367 494557155 603769015 696751783 716826495 716857327 587841635 578109273 189764967 554848087 764524425 870020633 908868069 546250487 577902441 147240535 635137773 543724053 329342441 305405035 761246103 315371355 762087577 45939351 78353191 618101219 951379889 305754117 287899145 123090983 205601039 472456645 750200529 933916941 979330361 37375441 47655225 813493475 698082915 330905609 77964579 310875741 735572831 533755193 728398751 160104859 509501105 252795407 625381851 143675167 607193981 14580263 909041717 14195927 17897617 659678465 12139311 196878617 146658665 477401351 409752183 917789089 540712223 561720457 555374557 923264151 874745215 349518017 856376925 561494917 355492853 259795663 875006747 646342755 338007705 458334911 97932897 244371083 701757227 79195775 297860773 426393543 614176275 269377771 147942783 183234367 491618141 4492483 463856819 428640909 695664579 402483121 993253679 895783083 24393123 68070723 669204995 856942335 472854023 494967287 923038571 351317589 311419289 449775149 409778635 26001893 533965237 691112235 166598319 437003339 113136473 417346597 20582343 810023565 415470123 88169269 79936499 888718615 891506555 76068443 981167667 682504895 72214337 85407359 692587697 298934209 788333339 591067765 609605059 736066245 957368145 949218805 673915109 424744405 37057489 792564383 767668151 597529959 532053299 133054719 884958471 120173403 425410489 538653059 263336903 90199027 837010501 616815493 666664465 821528285 99010411 541240393 553074731 803272239 153674337 481418229 769371007 907797351 469663235 849852573 498739615 654978153 589566429 865674553 77039433 754285697 228354843 817128617 156034909 223751015 100754325 422672055 106771945 663794231 753016523 422451989 200854815 406473847 175800547 916323933 81269851 983165201 416981423 191851277 467861279 824935263 828092835 950525075 25087511 686791195 672660703 750641723 169370645 847512683 418340907 634610755 86377751 624331485 395619319 417418953 584674109 308227687 845326169 486967511 681714133 524438371 600688911 628842847 546510931 982456473 680380035 201510459 932920653 795969077 331621571 393827625 857368461 799549133 72887687 275490517 503326457 166920799 638327853 606627281 770759077 655821133 958878397 865148819 789531343 530752873 927345381 441533311 162441177 944088803 707986687 312660445 725842765 781435229 451076359 637936351 208821727 206719705 793834407 189352863 697428331 169031367 287366955 893867291 842370549 630003961 389021839 641541951 937723557 231653039 566279789 153019357 347453137 376566157 1234961 256647083 848899315 101591713 728911463 993441613 278159279 743520607 749508871 241953355 462147791 3467941 462051121 661195287 404435017 591080889 332651723 938750217 961972021 6425927 821509991 123558243 88902871 499107429 242442041 786914383 741634973 367971727 442214945 819398367 604858391 216808365 216714919 850031881 720795649 316349193 256279803 918480049 654110015 665132633 936841201 902535325 613646555 233012669 577096205 891192195 191110155 470685111 878587507 888227065 544180519 276135477 128200691 280564355 846070453 381782415 808016389 994612359 545569373 455265661 662302663 272314711 5658103 894941737 679896831 698231853 186990201 37698335 618098977 986697259 649570569 532799571 733670463 970654039 873032179 436844835 238564891 32777639 856980391 264784211 500141853 365193201 979990469 805718035 241270611 901217015 286355469 744397047 187689331 257128547 687305577 662670587 430387167 999177669 870133489 202465157 914316699 438083479 603064539 799618915 795298137 118913595 985579407 114311625 61886063 172534521 855577235 718549335 731276765 464234241 979315615 253022479 412897097 663699055 459846541 962256223 550919685 341490499 417783647 128377629 909159941 673133159 658946369 310259845 599633641 102139563 727768453 666407999 2303225 400956873 930396585 991422037 124016165 618269025 353984845 218100543 717411585 829305343 607946047 977247449 275716561 5553683 263901296 760013159 211363705 275297523 977909503 77122201 914237577 148636133 634226987 257478785 241678393 582066449 489469537 326194847 373118309 417692295 549237301 21610711 572534169 564600641 493997921 583507575 158470147 227576351 605615815 124715827 404858999 427263725 554185847 133932073 189635703 302874457 445020319 270274271 908369963 654375423 178765469 358248513 414137183 373451615 845715955 581345189 572981903 316666593 437928269 676762055 244003285 364778457 741283711 83145679 171081213 993379967 665923203 880235079 629340019 520537331 910101117 321687079 293178191 491526721 900872375 597387721 61704273 243933015 744005285 720371701 419079647 120290321 964901091 252515545 919105289 623115309 340278837 146560263 598561671 512293465 78641283 946153087 495169207 642272035 52996067 487957925 186588833 221275139 330533775 879917637 909509365 260707421 840373483 914799255 157877769 905899131 884712579 930717239 344266203 944486539 141009159 138399531 288845077 934238633 295211093 398073567 660141573 890200275 492138097 104943911 926669731 846518775 204388485 302209347 801627277 37925601 453194723 75880153 300885001 680069199 230144263 674866931 301175051 38858463 345707157 723931399 839033125 650957339 968582233 518219251 377248153 253255029 231572547 223558909 215501391 497866055 891002227 30144723 972503763 788390353 395478823 946464903 67515745 300248123 959802831 80102039 477980115 856490903 809523707 984986603 17032371 34144737 620431209 961130189 522676273 984769271 465320441 314392565 633904419 549045667 256947385 911340415 148733449 966414999 477306075 783793647 850409482 321681771 705775801 17698101 13351925 489948067 612696281 531195811 749063489 66017189 456242917 717063417 102809357 554822085 721536175 610492253 267832609 818666809 383758133 920015959 854898923 15611173 400829335 901728227 93594757 383186833 394541091 106575705 740986797 86394991 56432459 559390337 91792073 56737431 430274219 434057863 252209127 801762509 238430725 116130047 895951811 958856887 73890885 965165291 444674745 95568359 551724671 447934891 804059601 232646871 746961643 955901969 127660985 954791401 660116465 574088525 344252873 985866341 398762777 109566465 369426177 863412605 1764375 178245935 509737225 357600073 282837959 581527877 928283437 962999243 994615595 910794011 43819881 847359469 728937071 395783913 485403991 869713025 298657767 585656665 404061507 198354237 783653645 700390519 376485655 861679045 630228357 287412919 527005551 73519777 800601625 994854903 541211785 894601793 309794237 709220477 794415435 917931009 304456845 191098355 31447111 211666723 718402765 474965619 610801841 610176461 812926949 964317047 160197480 618225169 597884267 407280870 660008951 65776361 701741081 798318093 650355593 691294005 340417747 725047455 627754489 425695425 857862563 388641725 210822339 16694077 433272511 468548841 971975185 302445377 77711742 850223377 269040049 561177935 955879783 760554379 411268123 570097361 430706981 972915989 797008747 657984791 444439433 473170641 380303981 838961755 365929103 761280337 606995853 202804413 775605851 595428231 615497189 362815817 572572729 217891279 19984433 563926767 285743513 892880627 447832537 911075719 434903835 89823003 289095663 576912083 488271741 732603617 104176679 181187451 1121455 675253823 357092833 261701651 584500929 82200475 293600551 361960979 426459887 715365059 69343653 768958685 10326175 512786923 975650227 742458551 26837079 246428849 806074703 571373527 556379855 855173403 516914981 934448467 994114529 901551765 814963071 694509101 999735693 150848245 921947479 690050125 944187651 301634937 637278027 783537031 249058195 174303171 71274147 636435091 540004283 354093283 373797453 277670417 380594203 522017871 605236195 757692301 670492289 231098595 156598433 422717045 984765663 457279459 205993585 954409253 196947025 656982013 266547937 693932509 78130713 607694921 944969769 604818885 80835235 189545791 977819173 130288113 11986049 553591241 361941857 336321625 818087793 175783475 565710345 675990237 358416211 69761841 675819253 904118857 165556533 847725281 141762727 774294347 663680587 278674377 711624257 349615997 539074795 355512277 50702997 320262755 918076317 653567833 981106973 436872805 530076685 61823511 794281715 446818257 896390153 728526383 294525409 384878053 990742673 296674609 735588695 616506303 103598279 771519761 591956843 447709545 754336501 619201327 328109533 671061719 26447247 774928717 16183571 649917661 623046193 608940697 487980317 925578817 278307997 343483049 551880883 576881321 931890113 758304379 827127859 155200425 884105387 505942387 13214885 279202743 991388571 607837277 857859769 400218423 487998195 550555249 362729411 72160115 784190015 119846475 60972231 122952089 888505647 469197039 123077991 478542275 460248225 363590861 363344118 640522229 684291993 641679545 820178285 740933397 940349503 459765487 754053733 473215991 558636265 681471509 417640491 720618065 232301841 829656121 294889131 670252999 658497627 416171471 428524669 215059681 755058579 54125237 696254433 378733585 364232617 500432689 722756031 415069871 554724539 495020783 574525091 87593983 720331021 688908293 597523401 13513767 398305801 902828529 616432139 791260985 935229761 433497237 981372147 364319793 160257393 597325633 434790833 878394349 580660605 651702699 574300187 717370935 95514481 360703215 725880241 353511105 39296381 264106129 71191705 562819107 874639617 397593983 131962531 960658655 427111293 716544785 190444103 913692767 920895387 973915649 965232035 931409909 806454835 632754037 609582975 743221207 990265147 306224633 609410121 36926505 451075289 673244293 975400731 849837043 488691289 671991157 807728305 932710951 276453165 40872847 10847861 607639709 256671217 610201855 477546357 219722007 94251879 634452571 249850727 919583295 578815353 801523615 206120877 475232933 160084543 838265137 418384971 346327491 982813937 766258401 438672627 154151163 91269361 818741983 481722365 470168725 259353805 458252493 220694373 659017411 760577847 496586413 392667091 986396829 264770059 606792173 942826393 308571429 1639755 674848355 596314027 694198853 244723235 473696589 783660713 481126861 434297317 415022671 373459419 582631031 626837263 238265461 528646705 989242085 40364611 914148151 403207489 70539421 610337611 704405873 717768779 196025621 440822299 752045159 297105205 316664995 158611407 801143497 70766991 71155593 98387369 11178923 747982223 528570097 472331797 288193929 368516887 543659499 597796263 800172873 67267245 59555953 484916249 519513401 607671937 125899363 789324111 595206157 874462055 476505229 296167507 877276131 876544995 565948831 677631065 663084865 973754135 212386609 400416189 16819219 471971287 219622085 234686211 619244719 58282905 648056003 195634643 749248211 362228601 470849407 972969475 701149345 710505283 336858161 80659085 807148971 673650787 885984761 161929877 451490785 629087473 901412579 494620775 762065061 254795949 914882781 376819315 708330937 954808831 537596611 671604311 53525069 655917299 249459029 743122903 909014515 462873155 847380029 508584923 939475371 422180429 742412555 115939193 262442201 846051867 585896503 911722733 495370827 680060503 525805607 611407511 539224885 94050397 357882399 537585155 588383285 61557035 775501141 631006951 931528273 452957287 370049501 722516507 886815733 898345313 798191549 837464229 924399095 816524305 734563805 601429679 607010963 406564373 387112203 712024715 132951151 182529459 41033989 393544629 719192473 782660831 376933737 520950737 256846983 996195883 740569283 522299819 527183635 341941211 167070081 299025973 498793861 546262737 73836799 617138569 682794379 52293025 429743227 85519341 874762551 81150847 137892387 432821963 885108233 782746957 812794371 203619767 132311013 89217169 302183193 420122473 71161879 986342009 746015811 137595081 794563159 284547805 858593611 232358365 916209089 926619965 648148451 515687133 39848921 564890559 514298533 724415779 88197519 675805237 834351633 617779761 135513143 512952083 286583183 165711539 920119949 697873529 201369715 955015547 279080887 316021551 74530547 511715975 634755651 302341541 472570163 465689593 21077797 378321649 908165179 720598299 18135741 570211281 501842685 960537953 336938957 586639791 791103315 402281319 538555523 162656153 651206395 380361199 689236341 888717639 802547873 989200101 382875807 288706583 401226455 132449885 376616553 601980945 730516755 885108113 432625821 383041763 208736441 820831203 134990195 318183143 994646545 218053603 496417927 997514777 993715021 678278719 243950045 503095587 143397767 967882453 153275109 448830545 210984893 683180967 87121777 355206303 646965211 832829921 714950337 344289959 569246131 949383383 882478713 964082613 960070139 217467651 918261159 32012469 140991319 10772233 359605695 574069567 114658127 787372211 521119135 953296019 895688533 276105207 788406925 485921943 669948865 163463149 756364085 505109723 286187733 694259163 477905579 584036247 833644987 661769257 569512305 913148075 585986437 663153005 482254951 54482587 183731241 500589921 393220573 75917209 414503307 951732201 725112457 917163129 229799539 903930897 155266181 758003135 100681105 917081353 36362331 612822671 896530563 704474417 492228595 133043641 43669701 686284551 630787493 590050485 917333699 649368123 940100911 926786209 77636301 781971613 860439221 880476483 701555229 5716777 862432707 236419599 387543509 109627651 573247569 148146455 918255101 515418231 754141115 187957789 661129861 285160439 788229575 722811273 198705225 397768989 963889569 146887529 147801097 390210479 995386589 539406451 962262895 801068695 128145019 6959881 367793675 284865255 483361761 832107055 795587159 551742685 199257561 331701911 127255733 893100249 538656665 237648791 206268525 695252073 356773311 652907055 161378479 658123583 822723921 694483973 394198423 438427189 621596347 839961707 668696869 474142289 523700947 154863445 475784259 258628541 953967063 999684195 373778369 333016269 690643051 141812701 951066969 945490169 739576475 879011251 781558957 87834089 614255839 305785977 223648323 552419429 558561555 730651763 195505809 543875937 350448507 718267525 596834029 917816057 939319749 776723775 468913817 237357935 657760777 236436438 194036157 673633839 964774337 342311727 264948845 321881803 918315219 480881357 346994593 560565249 990361229 223875551 556398137 859719347 333548707 512209471 911725569 444702443 661406771 261132649 821940903 834725597 971287235 227004295 852323527 540756453 363174207 238927461 109554401 255239557 865039613 123923071 996265053 582250603 63528121 825612783 531971727 935437669 529953689 721597825 338544559 670953587 159611949 744634785 836362205 17100215 275292517 945268071 450788389 517616763 215834531 947336081 138933109 370489909 585370537 967242635 778842537 3689341 389382053 568465503 778696833 657203479 296495151 988599239 709805733 587705585 308994879 14192929 643013289 634237723 419737919 120619637 516477443 317311697 527163387 883128179 183023129 554784119 404596135 412640881 837259567 937838487 113888225 999263597 940124537 594105319 840986797 20200209 383927313 91782207 671476603 891926443 46868471 829758627 207501343 737712179 934911763 595219521 832051157 807615813 13592887 121848425 702877763 263118893 689110815 258849175 995711095 893970903 365175657 996742767 898160615 250933213 751322527 223034557 746174317 927644539 901042997 715831411 187140689 133376667 375438975 136661163 948523327 424273609 332958147 995160747 559536973 293238335 931076135 55090909 169317113 987350237 393414333 991689171 31238439 926470951 945630593 263510345 268810787 261205839 627423825 330873125 386848421 504399403 735196663 813939821 780206281 995098683 563399461 818090073 599862547 319401125 396325237 384652099 712131443 513976379 994439781 254008237 651113019 678370929 959493729 137026369 687168299 181933159 363776443 565255639 460623463 712859621 652237737 987553893 14701949 34502233 219977039 568956947 579966561 926458333 348199093 586181929 885408881 49900079 561632205 579478043 843874675 540470707 968933743 142088835 394997395 386880637 130160223 424218663 228055399 585488195 480918595 984387569 374523627 674239075 939537581 627563764 86974087 173288163 329565207 635748717 192275717 165354359 807941859 573855163 247513501 838729073 178088537 470560109 568701673 159134163 797349291 718256183 681268723 586483269 418237169 137529071 59004707 289868819 720539183 334021791 895399249 952272185 997682763 627311981 99038395 483247441 490767383 24013741 386095109 341655717 518044493 282919645 194697533 265396005 860412815 419397279 164149463 239225703 453506917 405061565 304430769 421373355 816503103 479253293 452859151 507304151 874273403 683012871 281268641 564342653 100744789 968222095 336125563 191026895 641417977 585535025 498421017 713044915 897256567 979743361 427738465 358324651 163916745 120177977 768322209 690427367 89890257 75983165 601812111 194975297 666346069 505910937 725790789 699250229 493314315 886323069 344987467 724107757 68841097 97768775 684342413 783857975 392579921 146269051 854722915 583689867 404051661 475112129 368293509 665606149 652163149 393105903 895641885 61436529 256528395 829806847 503117237 380069947 511758889 382382615 985363781 160207997 205277613 169329789 526685737 152847859 127273869 208159657 691590437 580023301 94805919 361765427 30482537 552222149 575392165 664619745 206059657 650968295 778868297 129760155 491130753 877372107 192491547 826298487 31365047 784323451 732861587 921870001 952535289 561854115 512804119 299296169 133035387 646485659 666583021 502908397 623912155 892707169 526856517 759343 672157983 710024097 695089211 14873161 294475187 284403109 467843535 844916289 598100077 337355367 878800873 596556609 104574089 645108869 844845149 239031451 154771887 985100615 25338851 696019147 84773609 859346843 691657499 303270519 320901039 741849371 628388753 364987751 396782811 242082563 887489715 244511119 293226933 14576445 751726813 444652041 225206507 615649623 101319247 457315355 669632399 641475975 636413489 116575791 664093217 940743599 817255319 368133849 698244997 382727765 387582073 581115345 40782857 78466983 17691319 518516991 617950817 811074173 300146461 139819371 400967851 310383447 845141081 296280137 835941739 27403613 751714311 73836533 259708049 68808539 929768357 99959537 975352945 300659405 865840545 183852777 345325767 376527565 902687302 491348913 917312955 530249509 269260501 15695937 348417751 994151237 189033 771289537 846011409 445970243 478862607 935728249 218254025 686583519 393451189 535979743 977366209 951935 261002805 985886347 746076967 544785459 223313491 530246977 163664273 640318131 989439157 564296173 560592637 850511965 440743151 929569187 512673997 237405241 994675575 416694429 788899795 576860917 237104307 863295807 397186881 964680171 109087719 938156819 448783797 939472407 146428999 629304269 138628147 111123235 567200747 116371019 692715307 452379741 257890519 74428811 178223471 48525245 710751217 292274619 951756095 311640799 673479693 697040175 643322175 464443919 476259041 80995683 178926973 49495353 56674321 373903351 393849455 880499445 296385573 518336951 531575791 435469187 969036175 923903897 595955269 75435979 422929833 197320629 968036637 265909849 899890609 500611663 609584269 837443687 343140819 623252181 33264657 808379605 405499937 485076183 458192785 706457383 513218449 105954065 540522583 963268239 952587015 323415145 153254427 334896355 947775563 639673573 268571639 296253859 927458575 151421629 309413237 608154869 622249451 236933449 115095421 505305257 664132451 236435471 565358439 406367031 700014813 779090361 178985969 407451325 269392811 992576793 807676991 625985539 806646791 177356845 101290719 216344439 477766163 157270293 391832773 622684723 788214487 433721631 122386511 135240435 618079045 485018045 432843843 934785313 289645365 135201673 410588365 595343305 370806889 742519625 371320449 511088807 584015755 99559 201986913 236439831 826016043 59485813 486944205 476513567 204828357 921095985 724587413 527731313 510832565 209249403 577101551 315281765 408091721 235668193 282088821 548790775 530826929 290497301 992859951 412009167 989149189 644212467 475513739 954195005 532174151 220659325 632601179 701441339 517574241 950803678 473033949 823754339 492173091 128087917 756424377 157192959 661108807 514274977 640415995 596620799 976932463 563045661 152157463 769043193 960023843 351341743 270712809 319992619 287772627 314612041 400908987 858410113 743079643 571582983 206405175 993367173 528027771 487715373 323769713 767521647 73320925 51276835 471134441 28528417 747575313 144146045 536928643 675502625 279130897 941364473 974126989 476864670 305231039 637212537 87657405 315685743 438671329 694679303 258959405 211484949 824482605 245157081 978274149 726067379 489737273 923643207 259461457 534973213 935152263 133039829 290218567 737926089 943288959 663874865 350379010 631868883 323728501 200192553 97950381 719601927 369233313 889732287 909354447 264761041 410950437 257617425 17708385 321392969 683931911 432106091 895992511 217437743 700029245 320502849 221104045 111593961 473047195 147147569 155624283 54809225 280671207 891922169 819726171 285925059 768882377 643605129 820095149 715096823 12880081 526157553 992463541 405414957 394270329 35037805 485188673 115916565 251392033 501824353 830124677 918083333 613442835 69231961 652378655 557334781 249107075 648329733 125343763 895829667 651164805 772014149 97332945 96612167 862910751 943720215 681324333 108524257 351671097 417291434 903609187 93102861 973510049 573738833 687984155 804681751 766575637 114505863 388211039 690786285 409072179 119235565 362126247 420129059 184835719 900298833 419449037 118985725 109301119 15231651 499966233 358638941 375328887 145329411 228483127 65906647 114883245 135563185 988547135 252186271 751832143 760240153 548152489 243358871 421786473 754858445 849056607 685130053 883272953 804381065 232034733 73007063 696833501 618608179 302132551 647684133 958738401 418464211 101749067 261276591 155944627 148210845 473897789 323741851 767453933 540505067 910336013 434267833 182904083 440150851 679377165 999598723 990350475 597894479 962394879 155363859 986145449 306999523 278964483 608260147 233889187 302683129 549409705 184811347 60667805 127499955 735717861 544360585 570511263 818588255 228450837 646158995 828429979 240745583 388020991 596655323 120585323 834043263 310202063 324060271 892060365 968574033 975454235 669613319 675017327 582430417 196224737 492864513 658181597 122928403 523678597 545999717 604371093 816796753 949133779 933431521 427074037 578314735 514710019 727740111 92291655 848596087 825975215 592171307 555584957 464682141 262048993 789836957 25207151 995520061 30176001 751864695 765019231 99388761 247098857 261767341 806297719 402117919 19128019 473427168 399399817 704635103 690050917 32715609 495347787 475839253 599563435 448769795 903242081 898247781 865523229 598456183 558069843 239962265 7428761 729571317 10568339 628857253 67354975 628071523 491299449 880955045 481574689 652521041 906156105 931628253 258275059 985087991 930885929 361816757 881682257 28533045 379541547 741770947 762326819 901775 416525641 489525443 286108851 919153205 566283877 77839509 378317497 441476353 511627847 340040005 95622991 908527985 326250913 379453449 293262589 376487083 712782347 255489849 207273393 845044607 631385863 212919643 93991357 164710755 106353919 919521303 269391073 564771193 603537475 608209219 211231039 82046855 394441741 927980507 284609129 969708797 131609471 297656063 492701777 983526383 903404193 351513341 893711445 736762399 132852579 837533253 880337977 764227573 960615073 45024887 824989997 334179711 861772573 421594451 665585861 860174707 48681595 946281923 418031613 292639793 162771539 421076191 468373563 251289795 748339481 662459101 217869901 136254933 163386671 857025059 780354409 355441855 350109665 796907581 658465833 209341569 980656733 820482781 886096277 461557953 737991871 850303711 449037337 256114897 593692425 637565765 216011403 510831267 623575071 985239099 357727017 60041693 918385879 383318035 455769749 472075457 245983465 45742155 419557089 784522047 4126711 542962819 280095868 540251121 918887559 506757001 588171595 262269717 418585871 80643663 157971343 296997777 540886245 739395313 534191347 712731637 853139275 852509617 375891345 234452343 835215977 190083067 734085859 718475001 764595283 545370979 610129615 757788161 848521729 321048227 591551649 964870589 751935059 597186717 446646291 323476487 107644181 822905695 288197181 317041755 215958517 875331869 70437541 200844003 786063247 7925039 216990267 824886123 683519587 630746905 220462675 595268717 896351195 913700231 27005867 867925001 162249029 518629709 594372453 606412035 40144607 613079653 376064017 251058637 882811081 636700403 341093029 652613503 940745737 719230017 629791099 601025747 912620435 824643011 887330141 553972023 430918465 565391381 821875 6849461 112008403 970195451 184039253 309630983 739812081 78673757 129566721 363760011 399132719 295244369 800033499 64289865 220121093 408349201 25039281 743815665 517109203 608755713 396766391 898081497 698064355 402954413 843862409 432581375 329911911 953914053 827692081 631802125 358870137 14196775 375620633 792405841 757404953 772219607 967211799 163791041 436292143 402291709 827156071 48685567 468205455 912499951 677064623 407817297 753172463 894801449 320846845 281398949 790554099 851255883 487964869 200652437 289072933 925892385 78166247 962670941 140999923 258954913 200023461 591236839 473415607 185707493 53725613 234934975 475026869 4193837 601941525 321548063 985151507 770947561 815666523 213213159 145019877 81580969 460412001 380158363 631756065 350873899 385503609 772779629 882705835 300776527 371356501 145479475 95482955 756523555 415769105 567544429 831074739 810887641 397600311 976117569 881678717 148756427 910152111 505439361 166410535 577292415 226205395 810876319 775609117 153611679 851896669 245386689 485132721 983618301 737812851 381533865 385733657 968373655 723105955 736924103 248157049 69713549 189757665 655158581 393541081 899828781 438259595 13353647 938069803 950476521 960421479 214530719 756144713 106679389 377230497 74480915 522734065 41748043 493765071 783369411 273880527 493863839 161612525 1760269 803883379 697496427 735294307 505866743 704603993 468722157 446918139 657068341 52050909 375906183 933735403 647806745 995709517 11100099 855236563 486086309 384647129 380916821 845025461 333372289 801743515 205747737 525583105 7709433 94839953 41638417 474454409 937603335 316551335 968040041 917786253 308268875 673360813 685250933 435740849 299916809 618305885 637508783 633340929 29480755 694739289 860349883 478968565 338063711 403602473 683594595 309766505 759192781 655652415 475756699 373732771 664761955 46169331 642199935 188515663 168887473 937241991 461148753 835877507 100042479 186692133 993869439 712809659 198651387 290271965 991804825 774902237 452238173 489465001 160655963 918126903 28385861 714605675 853694889 685099133 155492489 830493163 344198541 22934735 860769191 192477913 359635515 201963951 513293257 276837841 209464593 493110795 24900285 957433171 171044749 664130361 370004729 278133449 638364255 572440567 307754655 333977987 828894807 790087017 172374645 652464059 906801009 301352987 534526185 144017299 278755793 172771077 227575571 14712851 271721153 464622723 281235381 380372523 255369655 362998105 149883441 510631351 16214859 535390135 748477339 84087 453333059 24550959 19367335 561445141 740048521 20076225 729129909 635974177 583775279 786044369 167252943 957347605 886090865 842164525 939903903 913478993 333100723 33504521 913038209 309322529 9303425 405112069 702895475 740959923 576741261 761960737 140373531 862896931 874810545 60263633 225046987 797448561 138486003 812567011 797200245 5964679 742863741 121713051 927743423 486268211 705643425 402317209 442493931 497495859 862176221 304079599 156141801 263937575 472014033 507318541 550304851 378020245 634883659 726567125 775574885 641150707 245457981 849680777 498159113 704767637 76592067 886294489 904173517 281632961 187995679 474114263 347991271 559508639 589439421 537282307 138418489 993098045 333516591 929754433 257717577 654860441 179338803 342026205 859416389 384144529 444798633 262338959 338510341 545135089 24750495 574055027 176680457 857449319 891508295 359812367 545485433 742155919 902952189 477194575 415660065 675707113 124172355 798357385 99301499 628527837 516722117 338426233 368037031 597530815 931372887 559858501 778111081 667969989 146414579 605026427 348188467 562638099 942101181 529800977 304989467 138708659 922163711 297808481 48187361 709994643 712741421 199950387 312224747 277628815 98131171 516332469 171475785 407071333 2563043 165665401 410630323 206674625 647634457 48670589 944611975 77342261 167313049 168602665 410560461 135433017 152244125 902145353 519663411 283373101 105544585 787697167 8544275 142987867 291285479 634371869 643621225 150524149 533630061 159513463 109735647 742530581 622535155 116365191 282582979 67787193 130072957 830851111 955489291 726746829 686400825 770962833 318531417 648537635 298303863 697445995 475419635 204004209 180375987 359402179 807974855 459043419 66599313 73523981 495770477 561707369 305348059 928149289 707805477 96484621 865807751 352517463 410233815 993234593 344564397 866189129 901429263 896790883 868678035 603187475 486427911 638484351 532181921 267895859 461887903 409422599 538971245 326127755 420012379 203754737 476175027 463089517 286287213 76595233 882231635 337430153 282722731 768970847 121813595 42303233 974100371 936861533 766761467 603109463 317871953 293382579 653226387 789287291 656406703 92162533 32971937 347792831 983898661 100844889 82854357 520399843 510941653 393922401 48328703 533995275 862190213 216077879 408326429 135344069 889402533 589330429 25573199 946882821 134384457 13238715 969957859 191325481 790296885 148938339 929607755 758448373 740684237 307637709 32472353 80030873 356207647 283063739 784256811 404437673 750895079 599851735 918285907 316560161 563464833 132257203 75286701 813643881 866211827 757061061 267611505 541244491 606241263 105039983 171826183 848783613 94534859 437709821 366221559 812771871 70222983 340720799 272425205 316485555 830652875 975469933 390274523 994861863 703569123 709452137 297450417 572185169 265343177 849977469 674736029 489734767 462797341 178478713 527515891 670754597 881746979 896262167 988593713 931173247 117652429 176122361 940217337 222990581 584905905 265509287 410902037 286241379 848222221 230447249 947577465 7318287 25759691 15277843 875209281 595507107 130408827 508124525 36003503 386605369 869812047 372827849 168322607 460057675 205326635 708534839 336876885 49411007 262002581 841552817 318408667 237919203 693308093 906376473 257787301 606157675 115362167 729691957 93882813 568889463 679989319 529344699 122078039 400769415 348460111 518001473 55791311 499455631 560658531 189792329 19017385 853131231 747422199 668772923 19819661 571085109 71344173 617539947 767073873 140017337 813749451 695143697 227800815 91996149 919004479 274702415 491209099 625709793 634342305 697734443 72805999 432039127 978015665 398369179 505432593 987297185 671905749 500333173 775333385 957922919 735031327 423793785 924091933 506127043 533315 645000533 57409333 799117741 317835681 959058583 721844839 946207887 654098497 750992057 101001709 956227637 701123027 870105627 761488427 420155859 107371437 641589769 616938157 638427143 571205839 853731761 441540389 807550423 384181983 468204335 242676845 672605615 286278957 399452289 416820619 581548645 366330287 526825109 30970535 23569461 255110663 242445881 128817689 711938503 19962491 419533093 245295447 760238885 416934651 673664767 586150919 418252997 537890331 932567115 705917173 807913607 360897567 622541181 414561043 682134189 966067177 921794543 616803963 672688357 881077261 607775969 282877299 936193861 846281663 367081595 745470821 895070539 140550113 211668689 950339555 99418843 266424823 125297881 571415467 438194497 316188469 676931447 205105565 295027253 857304429 831587445 813949895 274153683 721697313 416662401 512604763 469376161 316620151 958182197 597124789 955629193 76250431 932568597 387497047 249601509 511216625 586532743 496857069 693645679 727678893 461445855 776440905 304667213 595748151 801378387 253740393 391221005 273401089 61913095 288222063 412287653 832221215 114562821 758161829 860816239 316281173 21568059 613911935 8543795 737992199 293985667 279224217 300901661 21352261 992824993 186614965 24642243 230199495 391997499 911986367 889531171 695621099 298297059 815463883 145951903 84094649 287489045 910247185 275541769 810393311 568188207 145477113 146435729 358539445 220545659 392416523 519222489 355525181 668725803 897857789 135364067 563513369 392558423 183565735 700784927 454708381 14808835 717360397 178394719 846508221 39247637 626763355 119731939 390979355 95473503 858815205 550247503 663593725 135081115 103926053 204577201 314109777 316163435 224536511 915901565 237019055 188644695 117015165 733663121 365104471 822838225 973892437 525824563 831855151 542982449 911168351 536856847 804899783 24704955 940489695 952358203 227083351 580748437 156197187 170954547 157874111 243497681 488853019 620587999 495862915 112970857 879459363 226430345 104344787 821363007 497758015 101013223 975964553 356944923 921091193 847500313 604404515 667821999 491961607 501697953 584617158 598286227 654678337 768537453 617958725 86460745 147858349 295108053 485820947 986962747 261889525 993553553 118099539 527069625 424466411 494311883 315939275 16353789 548172427 938177807 599109609 769484073 362926329 470335057 938583751 937559877 543734657 282590447 863246369 590661699 780040853 444076717 750485089 485591803 362640335 309652155 268987795 299506223 265689845 861111981 866090099 703946633 602171121 845020031 1606491 943051929 211330261 646636695 776561495 647888345 932138717 952192195 111223571 360298409 917551471 932718391 106507239 907471189 965616147 590888083 201372371 177757709 945962109 158706137 704027004 342347753 298770823 486335351 317940533 545189611 324425271 893829187 523834355 877432827 250220215 245801081 487354199 978847213 213771609 443392705 69611941 929208953 161181083 129606437 666880717 70657345 632420127 789795869 104517481 911418573 208247471 196638597 483961783 342054285 825597247 480551329 118837917 987312349 808214249 776344609 762973355 653203453 640249843 973242135 466441495 977591061 502980041 170990083 191686851 451471417 17588729 911902409 771729717 4639329 937177923 768238263 619359131 641667695 953731721 781493121 924904399 64135721 8487381 547398213 902970701 16001349 981017947 558677129 155434557 788313687 298045047 835810617 914745457 98931173 843863723 560305579 800137309 343685975 478843043 976907419 352973347 132731901 571660595 143971121 117177479 786871823 286762581 953546231 498600955 360215987 657849901 488266213 673796501 173814765 698255365 715521365 911549973 908668337 803560275 439726863 96254179 180547289 240632495 765221185 250868491 89420069 544376541 286211197 717057095 340645181 530328009 980880579 527410165 840472501 408771463 617537143 200180253 303814661 801528659 559772517 235057263 734607757 712873613 553469893 104484159 112301207 935389633 219568435 174764177 740438871 619551138 664338869 212974857 425882337 825417745 411556535 730397943 411358267 885635337 443496973 302447953 551778635 187677627 801790199 432442041 324073957 890887031 569536283 200477813 665499839 737530041 69091203 969216883 479618173 492683301 728869285 913634125 581178537 605336455 605592159 894761279 191156913 782209745 299854583 20687665 162172655 913189661 820167707 765774517 716230567 151992241 305437917 712772607 185743871 421792501 286650811 884811505 666348299 556508545 306388893 126509071 459132097 184958219 721606861 436006795 488604933 950935929 615527427 203197499 409660575 494768599 320997723 91103903 210136641 659882327 146870617 885781981 919428997 976184915 488710125 230916805 330018793 304431441 780186985 690337999 119522267 600766459 61152141 954628891 65372583 207168037 168924287 5700461 96823433 929646279 397767623 42793781 69843363 52369673 80218465 909179021 231185149 968216371 491648677 508073777 769376393 956014521 452259675 940580235 672142625 893582901 199848623 661233577 65914755 694790765 737965621 675121731 525304667 611227979 758738671 850969527 819405369 164404195 941396541 544184587 188666520 251844719 645734129 394490099 999979737 797943121 905936955 52662465 323039299 4437015 807777469 81784695 111191047 239118963 504699769 740312253 224677443 441489217 322505437 591328735 505576179 884537219 985779137 837032663 463351043 342432615 267764829 146471749 429294915 378233147 865497947 423767917 732575597 246879871 653283527 153409345 388577571 386779861 437269269 378575191 980454125 783554823 722319907 107809263 120599357 370314251 898465847 138586095 492458859 497257977 66681083 655597543 322208441 495443221 664247945 347405583 109973841 851906251 914147419 615619653 870831427 132466351 752013913 130355473 208961929 694457723 278191053 911172771 572790021 919845907 361683053 415681233 967252863 342603905 983999833 591687449 645258919 806108923 440495635 613862821 448061721 360769241 474053001 16309827 779966295 901832609 691402513 882817385 827627717 197225467 695583079 115553081 179523257 251710141 383813555 124388985 595843435 870728161 777887361 830419351 689332477 883356043 16248515 76181931 21613175 551645447 318031579 123092343 846765257 663189445 890524045 74399325 843477967 39204453 504090371 664276337 128450889 179785637 802788823 415988327 276288481 341338485 895354371 546092703 342122535 819621349 95696877 606894115 126644629 346173491 399648611 896651421 23522187 531876799 166802585 436423785 594150997 141099287 449723181 126922629 209050145 383955179 870274341 717418135 304173067 216385307 441630701 595647473 252741907 497773479 452643163 399023749 572146467 765312441 637121709 811890423 929603083 193987241 488034693 899913869 615955587 416846061 481155315 9174071 988303665 461223725 95637101 34887563 733622169 358174001 551969999 699191751 892693297 789255915 274867549 779823317 782880845 548712315 114662085 903471683 276115251 700099617 962451487 624843335 687308555 703266633 956996579 899058883 581633253 436658053 111169787 564494397 205281465 974559379 131060659 125374179 453087341 602587221 530406079 853853581 68140229 930046421 511104573 846069947 501074037 4249159 110598323 49682325 273720599 654704647 654725645 145526503 831023147 122662807 715585183 920791595 30607385 904862883 301093931 481483393 438596405 96305405 981999313 78479277 9375925 806458275 248208929 117563681 503741887 73827767 761939983 38619379 328127063 986639235 404516347 160992483 464809073 113122683 755713959 827824471 414847719 40924475 29247041 833891935 323161719 589476487 275734367 288465075 346859727 720495687 474975743 524121265 854134651 820349329 971902341 445901153 232892153 605027999 53348029 49813361 441820583 365521365 944054495 287105083 887339215 288910013 506179207 324023995 749777315 380538123 717737145 228440219 232696893 11063707 155652069 363477289 507962523 37399409 928344287 779317339 798119337 884870837 342160867 80346067 179995193 586945981 514354583 885939159 616646145 999191555 298492937 465062485 473138341 870793003 669631917 897796069 588317359 33249793 554275937 356850887 779039885 260953973 68088939 949647331 825973145 251443623 633768311 992113093 900503317 293621973 931603355 493780903 371529517 239444591 904348757 446904937 457485805 176209413 640030087 439297935 251768913 953295955 685933697 171434059 838665531 863141437 171901177 794472051 230072947 751047119 795889675 74831237 442476459 419111739 435632955 415309227 379255163 891619291 626731895 969148085 68463719 98411829 746342935 966353685 990702037 408435699 878186965 667801839 891671831 473614567 807932887 609850633 369757799 947952653 721760425 858956755 482016743 663521675 118665027 580174945 976559775 469812391 104885249 490842999 168448385 136486617 480462249 276241017 765645925 487894203 407494759 855078517 132414221 254389007 759468241 134594855 705423907 911129025 607676131 102332905 742901817 289794275 396991235 889677511 94251205 878580147 582326017 845828973 39639339 270481809 116078861 531811891 183010737 605829387 928071879 905470233 143430285 524580563 991997495 728884423 982491861 606694597 407550149 379897737 999757707 319659235 741929033 86074969 431247513 986743385 508382721 317946839 462354383 596777595 908978063 251853127 141588967 239257025 948457477 495957915 391697795 746278611 952107221 495342185 373255723 634761081 132837085 714891503 532528975 81116071 129565025 563479 102608715 875248761 212669201 903430767 933070433 993310513 730931457 25246511 510098869 36347453 702333357 47257397 290990173 533681195 790604795 874667785 822984273 507532475 191605817 994462427 906559347 47084495 797803803 680310143 428809355 143082097 250670271 148240247 70903881 991932887 199920555 136351723 420790345 415218265 973490123 202268585 717766155 904949883 721117557 869763623 310049785 570357225 851204711 393327751 448438371 724288118 263765699 213186191 443472513 509386527 707613723 845665197 267063673 559733509 924098143 156129785 544213329 348941429 686660337 284601139 913384441 598578143 730008467 112539073 864189005 886464737 390091637 812610997 106032909 134880063 594978857 161000387 363810273 887560673 709877423 944576587 70598749 336078815 672176235 325453909 777413369 525642607 543944235 918843025 122948629 310980343 112183587 643605077 506502397 404879361 914817521 553261728 425960671 559497794 763004827 797343003 639267799 516640917 543810701 515589395 836528613 23837181 193975195 657357951 20953073 504095909 972563719 479618817 35777231 473125087 317642609 734060767 523791925 185372199 53135593 335196169 116302793 355390499 999402469 84404499 450476559 77471129 924679743 449984575 65526651 97706369 352305215 291559029 942905191 166932981 40596883 179665987 209985299 107132727 928373837 744339167 216391847 212415153 522975213 44782379 186711095 887433211 177601621 30745259 143584441 642835403 789390039 603089553 274556179 742352649 279638821 589587637 167405833 379656125 907152989 434386579 961375823 672347163 555956227 988687955 718688639 372814717 131153159 215830469 976349975 621892457 400026301 160410465 350676611 89034377 163846113 396852039 334448405 692412337 942347673 459559995 175241475 929152729 533817459 208548525 176638067 956421161 540609379 671316919 282418281 551993065 312140489 819167767 484295129 315852941 960769383 567898419 286678683 217870257 599105899 852040219 240001139 479474967 982081387 965997703 119962119 316388523 454910307 760899029 559939049 472232577 702446523 860126219 640899989 183472595 188011581 176515805 315841641 403735045 692327201 452593821 712947887 564209057 564509187 878373199 968765593 385959259 199522535 844158869 42463039 414599439 937497917 446824387 939836837 85134527 719272663 557671117 896746929 897120153 591280373 543272277 649067829 187213035 615060795 31766175 663477995 10668341 810456759 543855517 663996789 462496025 575434460 23725543 442969691 75366499 561023115 682394809 242005263 412346627 722107655 759074811 195374571 838703127 576495869 143663421 212758317 740706019 809990017 699518647 796950529 967340494 405343509 210283079 152886135 262091633 671816857 886752887 220574601 322641283 223555677 318625137 848440345 77841385 121193239 517381137 255058415 458182063 144950497 130918101 266603965 638658565 272681029 431090915 976139547 691229003 523288363 95989515 373314443 802917887 997085675 345411267 634636663 992398801 261978179 419061549 944387375 51221649 215387223 203419663 124315631 229600059 65099187 923840727 211494611 173298421 546740303 343315871 562750441 605199877 656336775 25032739 297777441 189718243 91964705 739275469 898752851 260927785 886266953 177918377 487180609 936333975 217764499 922548083 106582165 547448349 11361023 848039557 198285535 178126027 737483507 30694379 924109465 477323487 456784185 219126353 740403747 626483897 406624007 292666127 942532297 356263399 453926139 9800997 418435515 283934235 6306843 481089081 444469009 406086193 655629523 64644507 12153037 301792553 365291513 432119619 7322585 4621619 854057419 168138961 627216133 39857825 545181933 959728265 114563595 631013613 317780331 950504539 636293771 909516729 348754877 792874721 138272017 44366291 676317117 68484185 435226635 29615661 975896501 166164393 456232149 439512803 870835533 609310049 350539439 599352887 959970463 172157111 784622531 675459989 273627429 341446797 919781921 245970577 67510469 941508201 221122241 510433251 559917773 254413689 822880393 535385715 605246705 283120535 539867965 791456841 843449935 505162303 582312083 796158873 735481964 724845465 150504737 68638143 716645943 473283447 649821543 347112511 959053059 560685133 802723027 504114113 502814093 672856637 860149427 893920539 64394491 444006411 976969537 965818951 684789725 427185705 977946781 98151783 676951843 138744237 20748753 356787659 588523311 946667351 360170961 953123041 944570563 331206285 3103345 679402823 752955917 266806881 587367287 714158527 158357413 376202887 20441483 631889463 265117059 949962847 905912635 757639871 322221073 282730481 47690757 112948371 36179739 708348653 929346887 637975319 827314901 444692903 404471629 139259093 819290333 526160419 987202629 100711555 995078455 493304069 262358345 697586169 441101139 74720925 767053149 197399869 364040965 242186721 12172391 401983351 210854793 344958835 383892027 712681981 601575045 798074009 689656209 576358219 777990919 1902657 117636873 214013441 464409221 342948869 953647149 558463979 309269977 487050017 859479663 386731775 643898443 84418429 411059241 244483157 21751943 78592683 687745433 868483891 440505763 257435871 846057451 921017859 849770525 132415483 531403313 654547287 183947481 33554563 863659617 127564523 808023075 997385385 122858591 147704997 245813427 84372291 996205813 728306061 520392869 902276817 81916113 749126869 758172285 172982393 872421261 144519901 684493867 154743051 228526252 337177125 785557505 809299967 767223447 485892697 164838335 501688435 371482013 885551947 489859465 506111537 504324859 96986617 672637165 281012387 5428685 974719875 181362655 806396389 642393635 663313463 891713981 93224883 968071655 263061639 821328973 75797111 312362489 173877775 31756475 373745215 955824917 678594705 467801757 276327363 593584359 714164473 418339567 346111839 194343681 541747801 484865305 602489887 612656089 92620527 424180197 860782767 964589523 580677405 685572747 965696617 634322487 725960813 145313701 746134089 462865975 71917715 445148221 746884089 325269483 877076587 671397051 678905029 381460309 979603191 638538231 359124647 719653727 111604835 454132271 806045503 10492633 27992835 156971015 499281105 444991359 809977937 343730061 2234191 58350317 731867119 142909237 164087631 770391985 972800685 373165789 610296593 348921915 994701689 786307785 270891387 203579363 494136945 719793321 646081821 496955883 51804119 322356369 103579439 473182845 872967449 630257149 243963023 874288553 618715077 644239571 110964933 667930217 523575965 238711905 516439809 851662239 179953789 718852189 711972633 416189715 760566647 612398561 437612683 912413815 579669945 830376053 770465153 855866979 670484129 243796741 552033225 43632473 210258355 600958697 644797913 388333249 977103255 27816153 131286995 707069425 751390498 92148735 398040189 894975261 986367059 306348261 626776645 848036455 794683207 296066691 365636675 788207835 132355915 483820853 216494903 59032423 358910933 446495679 671584905 607440359 611294077 25034833 205651269 256031259 537240329 78044031 835325223 362244781 691253857 458893637 413341577 839751213 915629981 718818825 995379317 511847445 798599155 121753 603723163 646313413 67489481 605154857 758141265 965186953 844073643 45581143 165650839 557717391 180367947 751829289 461191955 806891251 93008771 519496459 594191381 941861557 479855193 706405075 641395093 898081983 524574199 515766716 974071857 216777441 598969263 734748017 113306417 344795093 490127359 803734265 633752965 130921531 563888007 569653709 259247299 901585309 191694357 494070983 776067625 49055599 267489179 16500015 770530209 536312327 85874482 564594611 154699961 176334757 723041315 495058277 373135271 42569079 491066581 310353605 352934989 497640075 634223069 857269431 461538097 303914713 278251253 597126025 784631937 851930183 858236415 659183599 395146517 238852505 675842569 894954503 664089453 157346179 548237893 178667605 724834481 778543519 947451663 268223689 612162989 830454125 287631081 70881207 557159899 147555669 774780287 83232475 327998555 932104107 687007909 491496029 753133809 952043943 230479701 972167623 682392335 24276073 324777649 361862927 456212683 819342331 540731145 384515477 293714917 980479567 643327179 966727451 844676803 37011007 554634645 334108367 118378869 297249417 5338409 189922887 49283251 768387803 912292467 271814785 3733211 30574785 111690375 462036191 76778741 108918457 182036383 288029747 78614959 564028193 213106207 79189423 320773219 987217731 966299025 82681329 250903053 190839377 128952747 418286589 116369495 164323429 355568965 142780483 42792591 818221949 494189923 569288597 886911147 386309767 368416819 790639155 995208781 749971535 68895749 625979585 182588347 238070419 577162837 504507213 266193635 933971185 109598919 157376077 641631837 732349427 319713829 231992731 525679209 434803211 231566693 810443135 86118383 40237713 343777439 545120165 869121915 811564233 884796953 284858403 270087239 705737433 448437051 769932405 573126451 264398547 323329435 864935043 63499203 763549617 408599541 299766167 275715881 545633877 581727529 43442025 836771643 80711815 137514307 242295059 434502519 975377401 872464505 986842655 645115399 171297093 149241381 235019125 296840889 767451369 475212231 425428077 765822981 705385041 572204047 242956229 800700425 460780749 358272973 976414369 469144461 75995289 480117503 772887951 304165121 335512529 70643141 576870787 509086585 309696899 655510893 329264347 954824121 610217119 622881129 701922909 347862819 49109757 792606291 62328373 399015627 735041633 897393393 332534007 287905895 528485745 77915437 588094629 537097555 997857471 956146969 507089311 181733275 367876549 121828339 743610805 768821483 777234917 105222429 741660957 997780379 88112999 660148001 897748849 755908523 745414779 556658355 294770873 16158659 97674813 996183469 905077859 471616047 281032623 673530901 620357697 731495913 462503093 568515349 504523665 775276433 685213990 991545345 623087099 304867947 600400313 55588179 691095179 476529001 78731533 274217900 233369781 804123169 309784751 421557471 81766229 793714129 531665935 696746711 924913589 675706978 495065989 737198259 942372991 203402085 664237907 678985141 717162183 614283535 208403617 850154057 585079053 975039295 49982085 272120579 614522421 662940285 479457009 991041437 485706381 178040055 154348493 60364793 609178827 536965511 255527391 3188007 978102025 21140137 360173527 648839765 466095567 693685639 459407697 630206945 447935753 514072303 962849229 512719949 7826189 418512471 942596021 991151943 561286039 328568545 14119769 72182943 666376911 589505105 862719987 858562897 809260607 825886235 768679075 492844161 22756319 926304337 815723893 713377913 206507787 55209653 337463895 395563951 361243015 601764781 279666725 681302459 381801091 924220235 592801183 538123873 671754129 713618499 522938989 83602575 284167089 129629941 136637475 771741013 539887687 323663977 304437561 416464623 584308769 141660495 424323599 292039105 17597043 208988413 793004529 758772567 790473691 645069937 931034125 900874083 707273565 125220693 290978942 736808639 923535721 413683961 893300551 351972465 446358227 519340367 424150861 727465121 594470359 772761595 655754085 822141861 466056477 963244867 312789319 924129529 714956975 511137045 461419155 459620413 840656131 982616075 94697939 411473983 490243065 299124321 916610939 896443377 98897363 916463361 728584415 221535597 25657919 2385017 342692165 777935097 825944917 886625791 1944275 163956223 489371789 894406261 352071069 534854673 857164241 687341919 924804251 590437357 717107821 291231215 317188269 246446195 633703957 511674877 964095389 554891697 824290279 834372867 731224349 981364697 674262887 683566383 921299911 45741127 224366981 946440779 18346009 305411197 214174099 460812497 498963841 950674727 432895057 624272097 182788427 16097559 478678245 380770111 44170165 593698891 299612633 759346267 584530141 440148707 389346851 430808911 115662285 461915181 578304545 872764121 99892087 273860509 638183577 883743327 783590323 880868297 394807735 381380849 629641285 10734459 43379729 272529479 768075219 424605849 584991141 843069375 893594353 576569143 62237909 457702751 345764117 202244243 1425267 135022811 671358883 764187663 823582129 970505349 893999843 908723765 470829355 990746209 262163719 848746937 200217067 951293713 422119207 732107383 812197209 507096297 708493383 538629235 818575183 783246045 358755917 775260885 238487815 897276303 922241291 644987123 925903911 884141123 643587901 685015879 476280763 251774955 512394113 785497717 678619451 22225437 928463201 693524039 880392069 255669785 375521357 745869491 223534041 781971399 307245731 169831633 484973289 320546995 322650783 61691365 772481481 663235351 782117229 990049373 442284277 735133393 261720093 599048393 368998228 622499947 884789419 250162405 98835763 479323663 694029555 103546517 975375175 182096537 515406787 540364515 371325355 944185479 573217739 913148677 55430887 981131519 628290723 942210387 827831529 51995345 406040013 890943059 373825027 877174643 64599987 487227309 35147765 959172103 463252135 138122041 801834721 15053395 948751839 557616621 239071321 734083013 17267837 887080687 370520655 785917047 790434445 997812363 91284513 200389157 217933823 562703665 247613843 317972793 274001323 660124801 664374229 107708863 441936467 318709307 551212155 874299507 444150177 389994313 409613441 66763183 118636837 664092867 469284173 747039871 689316697 294938335 358064557 362229647 265863327 24019973 4936407 724777527 510434365 483473339 795737957 904849783 418771305 622492089 973633631 252969717 812128313 835796697 588610609 314274305 363042991 977000989 429497777 473933971 893788597 130203057 496691997 500520009 944584219 556412903 2620695 859206509 505802139 923988541 91359153 770249705 305851861 987815507 761344347 639733849 476226389 862981367 687450615 329742075 655811721 874287899 762107337 71540403 776289485 289306331 450861179 702519317 546197345 70255737 657326631 762183767 719257711 471171937 49176135 576422999 593787399 618335015 610391745 874832797 894707491 723189893 638197985 457751383 3436707 477862493 14233185 535583581 104601683 781954239 769699417 788841265 966609377 683719129 241990735 473856245 675673065 28440329 766572339 3998333 630223083 712632785 279069273 690030653 199195727 984864989 295848575 878898263 221623145 156144897 112632519 758935439 409708657 624579127 362525633 386802263 86522247 376236707 696458339 126169541 993449909 887370127 235640071 775023769 200736239 500109423 445533815 466263097 583512585 882393055 692739291 550631351 131584969 44149411 765889739 392141511 936636887 661626531 854774341 195854537 115229889 894474229 972067757 904586693 423357957 669145555 230422737 557362025 43286273 205225377 179947491 289375247 719207937 79957483 92657285 598211509 295765811 35745121 266117307 792310017 665309617 564496355 236650481 723875395 393907327 25355631 506854909 260418161 446733187 376197941 29895707 513972269 878494353 342081157 634724849 965589693 679139425 609787355 985980045 774634767 630000531 889131483 750240611 492881595 13897137 23007313 340848979 672615683 64513069 284236077 269802399 34165705 659742049 755150223 893660405 654293153 661009291 473017525 718259819 635482559 468203481 882529551 661947007 984753925 834833239 203707181 366203411 140157687 511435779 199718605 414888825 844562375 412877243 56923599 900273505 725505099 455005513 396888385 987240941 106479363 426716511 582291029 962134945 322045205 292407701 622819685 964387943 810542417 826353007 388374263 116731545 600941359 332909395 604271797 123438065 718855629 601157011 830210673 427482261 743267059 557251947 893954345 609805843 703040529 375305721 405137917 372876895 326994749 219521863 387658555 775041751 456626229 608468807 667242325 200792897 908069219 741669585 97997799 212690121 438622421 688960679 997959347 328110853 961419587 785898611 392478373 863170289 72711945 118862791 181194449 914201589 533751091 918055193 407077743 827778267 847633517 27657933 874885863 195124953 668085777 694252075 450174145 296386191 390505755 814977637 847275185 792002815 633444147 820077971 115804563 904462489 489513387 331073975 674804841 720224303 161229431 864462267 276933471 140897793 592610617 779456113 739431625 902343859 243238453 399055759 16710177 42157137 461652317 608359607 628791563 161025875 369273671 410960501 108237905 973761941 700176947 109421881 120442599 53817693 104306439 298623067 887824617 173039191 61435475 942917405 189257883 11836055 659531599 439780265 460963685 568830879 312480473 194334223 128817885 635203919 582672505 32910667 510255549 821110519 82090847 489282105 769732329 553446475 831124831 935971495 567965291 731674219 833573373 234568261 205076601 251977945 18197341 141496747 155869291 479221891 426017103 272660315 839292869 665228479 648933961 535282879 844694325 859234891 756093037 982645031 998671243 252979275 174402689 358168269 638113475 200111435 324801779 500330449 30340353 271851587 354521819 826399039 985237393 966909327 860285177 471426567 578350051 493688819 97660597 777892863 672922263 997768095 449465627 549709039 731454059 525280037 82964967 746553721 939408207 873640581 374668403 648636979 55649619 224999459 87148233 794116245 270418867 710194125 164342937 843429377 950010325 490076599 410651705 746931901 841958463 582062977 230007721 722075903 945992105 972449067 691215247 347932125 147139565 595939369 700076091 84411991 231742219 582947401 391659685 14058587 411890227 733193935 552089451 39905719 346065591 722590555 248682965 947577637 340773647 229353727 954739411 326733125 363443681 865407275 518117369 908431267 13438713 4005569 220691595 139361709 11489865 112225539 653613677 224859583 554089197 9994401 839275823 23533081 396300327 902666413 752167175 118363619 566745187 745236903 348906455 15636017 274866227 201934963 868094499 787688699 332598613 381704029 464070687 138793505 197716907 885702941 677731997 666196589 842153023 869722575 736155167 856896147 27144261 533883897 755782093 628507687 119027735 365470087 288941683 707710127 751025213 807062735 671781771 994597009 921755741 944810893 739872821 455619105 62679115 943867367 372126261 744474263 12869893 769703787 242920701 573288210 553772973 729901071 786225315 504195999 566987405 83943725 724108517 220740141 850707481 547051149 249642031 149619095 840022509 180717917 301870219 876157597 254948299 834478895 528797875 68886247 360587937 982073601 687561989 326509577 563834749 538205755 326993033 13518457 299297439 942160809 89231341 773950107 850290281 193911933 262070411 216354231 137562727 501970777 394994527 849016065 147863625 386793793 114131987 954482317 388887789 709441183 949669365 197081697 677581655 741690445 576769787 141666147 908219311 831621253 778805447 610389605 849054795 214439405 501252511 182097187 682524837 835566227 106103153 446357819 635813985 341127915 710474453 280647479 81898059 972243667 357364235 311931785 258721107 407232145 871313401 856661897 577067415 565179345 624382257 751668347 282126171 574137513 456127719 283924613 812229129 871825047 599921147 244496313 778215219 4598141 190773751 845385491 464209301 335045805 247101957 306391409 874217491 329789399 85800449 489620637 301420729 76407837 188656489 425489479 540998585 718008065 982135395 882610445 775090285 701094259 493683903 902261099 855129691 588187845 665742581 880178893 159445546 263653815 840456483 466763907 783104693 916046701 202042897 604378825 979151343 362868341 155913775 559701437 854475263 229315 999832209 635131497 198951985 90539957 771530747 407852477 624607223 954896143 623376847 142441367 476981741 354141697 544237857 728147379 277877973 89046815 615387559 577173693 277810329 429800037 132709053 596770117 866203473 201920571 864707695 378714309 623379509 929915499 708638825 600561823 967530151 456979755 914322179 67452699 783479093 719190043 921886269 782302313 186877585 500180797 652257471 707964839 671517335 89009663 458121429 823208401 386459465 225603639 409726840 683583187 280723411 933058851 682139467 649751165 367491463 564046439 96223631 716128649 336602339 526689039 155057975 982744727 406958217 251976339 385991639 92580147 607995971 883650511 907189427 907168973 6184453 721459721 473758127 512699325 506050283 139417579 382571611 392168005 702824503 466477711 136998639 670367119 942237781 846112879 547083593 269065899 490784217 725876849 965169137 947385747 430222973 770740451 161370389 286192167 693664293 747631737 92147087 118256947 913439195 485237075 395067355 787522405 886916819 750054897 495750435 877081689 328152937 799742535 439759413 479396239 145106977 176719013 5829767 111318385 708709027 440653513 290253627 991635535 280536261 793304283 43327509 201386339 519020417 150504037 359400071 569371597 748335611 552211807 224536233 293528473 688270975 256822563 98164791 343893173 853807997 714678139 915863961 111117821 199701139 101955983 826148063 81108529 429071236 252635385 733334723 190331643 663481147 474938033 937875871 646825449 670947019 388291617 382080125 273547129 369365105 422329365 391458829 805681161 274544781 939261377 733997477 984378597 432475819 514067395 116852803 794584891 5490305 65474849 307395985 950989095 857175271 853536839 499123933 297966761 108046051 727731723 70907423 976701097 62193311 715092137 242214645 63851003 990321261 988597961 433334695 80214615 861026249 724328565 839492131 365044061 742599767 396572195 377515267 32458135 855279843 506509747 572035203 423951225 471716447 519366503 353726349 98438231 146178791 182740717 740647087 897395063 584507067 249643611 213408543 767582975 834060619 681821487 619621823 11504899 639273513 722758989 134372371 104928379 806148621 21610497 28582733 402112071 32969183 43483395 479614275 552182833 129665957 319426415 638095221 206067691 554349975 824285899 427314699 788155919 402967823 561449985 472093393 762654491 719744399 604736107 824513601 495848061 308213187 21083843 391972473 722681217 837335167 150004271 540452931 916986981 111130043 361720637 856680457 806052167 747969951 209088227 839596775 356393265 611181427 945637755 305594779 32163093 604133547 563814349 542261131 179198157 388526051 587551749 215920071 148760087 626411997 745808057 664933383 203324319 694775941 152271847 617147815 7946743 510266863 684336113 169984179 903372437 633874773 381365417 28372185 378754781 416775705 783257151 854800493 387689239 311486155 816467029 274403185 73969013 813991449 831925997 204438157 319500561 608604129 516382071 13380111 189682409 925369381 844248005 330326253 685758185 121857041 216769303 180727753 777939681 597361401 934255377 276150759 39487885 146488151 509399745 173822009 906362763 7174607 880084891 937317461 31385189 218257965 543933053 386784123 141931405 485662305 128003245 802468243 949486427 79088521 506509015 526005801 105175569 342411497 191208977 388112759 969069785 847267561 549277399 162181467 425413827 857415711 147041297 271649373 181777867 904206917 322920969 494731949 506185677 330647871 481487221 316677409 746914711 397839385 260677237 859174455 438424537 399998467 281090955 359327001 576809515 676167005 738986149 420628117 978226193 23237285 717956633 463075875 172460015 463328651 752900517 980786913 350649885 35328479 459873645 962040983 636621263 485464221 393530623 759765171 617775655 953029867 812324943 895870799 512453425 183475471 724019899 247966247 493846749 275518337 352711687 663885733 907286019 760992217 923457891 413620693 839251813 537232349 557506657 667636593 724343469 19100279 292214787 22143705 562532715 952495289 31688617 539332371 603581977 202039009 1041443 203565773 420369689 260936527 240072357 375493983 34207667 382514577 745378255 28086217 913809175 91391321 246570657 488932273 212211041 550935425 916969359 106035815 496889489 937253135 894585193 486496739 887692689 997117485 999507565 200183235 413070641 978917679 776668995 673735759 635847979 669760909 179809269 191682423 265044255 10561775 712318715 379132369 101546393 60605981 821879857 60108699 72097543 191389707 436639707 877594559 48500933 82900181 131542953 724462283 481488915 461798077 396486061 356657655 133864731 534147887 444562279 766563361 238523885 633079741 895002299 341206225 841235331 856795941 153154807 356696885 190686397 96745033 86703055 597706533 867705191 599157555 969820769 889549859 8491311 168456727 317427251 27498577 765827761 14842449 482600497 830519171 753271405 282367843 4904369 591226925 689033675 27913723 774760815 243580017 214778911 558751463 105040019 842011411 962687905 417242663 300129703 17888389 616470641 390090717 506925475 595168221 953633691 72480595 652752609 644247003 193140749 380849151 234561065 759186405 726317987 670424697 253919657 708887821 769339931 688891781 995892211 100142341 417498659 727863569 972163847 829521715 927948873 311647021 256283465 939805593 932107269 137432853 808084101 363789287 708974267 185461293 863462131 760926839 869404853 652048127 87383599 281200455 2270241 823767617 462382143 830540541 72896539 179186123 399769231 46679529 570890145 645168545 931360499 745132289 167158945 432272625 944010411 205938919 140256999 545336075 521491805 749419233 837260593 848299115 171240467 322853341 522108957 110512055 720347203 307465075 677870901 5615285 681147083 205554917 314736619 575858525 616241393 942684181 398214809 131332295 38964067 734545559 907459965 395521081 789562675 398202527 655834565 519205917 810811615 101779469 431165053 980783877 357355855 494219115 68557731 344118445 12854477 475763941 36398357 263534843 824976913 533414739 104535965 550847221 985276727 988996917 394785261 833875923 318556867 808258993 12551069 107769839 385211557 372200855 157209137 479391691 536657199 857292383 403663375 852726545 676275745 447458599 670683017 699829145 478460319 38946743 94039515 854688345 962840887 47844735 969297443 792380537 704391901 579813013 453383787 123799617 406873073 346349239 492508325 835526181 613235763 213677647 794732969 636507583 672320215 621192043 111631419 256656597 895327595 557073601 280771585 314302545 935602931 753987251 262482573 776074055 128606927 712468551 115636313 302720497 491984849 718588459 672877511 241410737 126879529 961651129 806241311 682663189 509666681 404739053 4111507 335208657 330120131 578807407 117137211 660313787 943840885 951780497 193195033 96064989 730450535 601210951 649666071 379402845 743798737 84160307 227342343 18478737 232520541 270880665 598009759 685638641 786555159 495688555 693748355 220798501 235738483 797460799 377910587 508051957 235566159 820010325 880452663 698929751 998965233 510628499 998223571 394588515 939998723 113202057 81273937 307606365 482965663 844949871 362134229 739282353 147112255 341306659 536639607 879761907 609045451 144149549 939874347 465527005 654818189 905394621 143186131 414829907 13006395 559895975 976741947 785005409 336201459 906073967 492609555 626190135 405804861 581063481 348109043 585025587 617086977 961890517 240437597 190244313 668248215 947578041 903761595 445536977 719168443 852387591 533558365 193970161 871566997 514933893 434880125 689718579 841842609 804166561 646032699 179789501 732911617 992895347 297388451 823477717 454653927 481960123 206462629 548284915 494879271 140957921 219630617 814714287 202217707 301751537 125153729 446651855 510936269 263980709 167547973 493612091 422158791 105088861 228304441 91791113 73248831 875874589 64676629 728431477 24616963 450651031 888567355 770407647 474689863 354557217 443756529 80531413 347004329 30407098 218136685 319177481 757181743 17456651 595652293 662385237 623224645 692185185 899110395 960697791 860281281 857938357 540298231 988445809 393604065 111885989 150467213 39734205 364320583 951410297 217548917 107921439 936709379 896994337 500241487 332748349 826433163 575661361 541447591 890308063 233423035 104722157 151446507 2776825 300205271 40548665 817871735 349049509 916239757 318485923 499213451 210056745 417035253 133359719 937448015 314012143 119081607 316729697 280596439 605700747 699692589 652195095 331738395 679271861 545379635 431720381 290900987 966737749 437957709 338625061 249545537 668216435 579526553 928449233 280541089 705403971 787259805 967626983 546196655 87276833 482639429 410000697 145800689 815624591 328226789 407387963 57273295 242612025 735732799 258948109 625940631 444825075 946360179 727553913 105484679 507898551 164188433 589329643 401881021 628673703 215171341 718392955 984081219 878011921 348938951 430440935 568428044 351018857 708176385 510477209 117023471 347008071 627401193 209944993 906195631 813423215 914491925 981825201 136430835 604860109 38058883 990300975 181262671 109346421 399098775 519830043 657978425 764829089 950683933 44181035 983419925 957532853 201666381 442500275 578675757 777717563 3681475 787286705 919743919 515812071 527732355 331252687 421273269 484118679 367707901 713248091 953637187 593880393 73817861 616822603 773901375 685524267 599433943 419194689 243368571 852455569 770376473 747620737 571584435 525829367 680360921 759908863 545824133 763514877 315707275 898613581 879793787 57091183 606103565 524662189 239479559 293809987 806612389 937795589 274720897 377132689 677843455 478475495 22379565 594963101 890494769 172038535 569038385 384918229 28297911 935957189 112488095 809068233 533092473 120306731 82920563 171277109 292549057 853178595 607643275 56194303 127269447 508185801 386298545 922196525 601126695 472835419 494718103 197743863 48222181 641335487 804625109 76874421 650622831 473240773 877504493 580107501 387434781 418978789 671013193 97109065 700692393 529869373 248022587 427882907 623053881 818789013 362189561 599253729 404049753 944061275 735298471 843714107 49394177 481825193 413551437 103771895 555424397 197628475 33682651 368443015 513250755 609704059 140632111 131645829 362348495 606842743 936952581 550385335 575315271 503523557 119502857 448306695 115869735 753090087 828333003 383681415 350560469 282975043 107410885 699845749 97271073 187608039 91841369 157924913 154391355 53132395 35465935 391030601 662155459 404265679 659524697 634484847 123723713 427018683 71653135 215789951 501545373 187587451 504226803 195390587 626126383 517795593 295606511 35253391 718319797 885889283 467183571 508943119 593400017 501483187 452851033 511884405 232907157 276536579 498557987 18384739 12368499 544718735 637584311 191687591 39952457 629544853 176555403 110565171 556850779 596126459 534923253 108067619 287256921 631394641 849578295 323925179 39806037 444167887 209193595 216952931 752935377 603212115 443917521 855888561 688232109 239320421 602419251 947644253 636975417 332100403 680341633 583140431 560773161 401973143 497267847 43784337 155427227 205494029 964477685 209833811 491979797 727386303 345181537 547404531 436430211 333085051 600603473 533031411 230865467 474960055 772076333 99206657 159341563 829262741 997784901 169826539 481990885 545732569 588354771 76112307 673818251 655490805 289020151 604133239 930871517 988833025 168954813 436037763 264639293 211865017 946733331 298617163 702318957 752789893 774108117 342935405 70161565 574169717 237395139 701942439 93039199 645796673 134446983 286291433 714496947 23241801 151065521 957222979 236206589 234053777 815131577 21530609 274359307 331270347 699499525 580105559 509210385 191284813 955896793 222023681 214653357 529281045 152684649 661439391 912913637 214159821 736884175 29680913 264991013 990984387 880267275 879260501 145719105 149278447 678765061 390040219 468755835 594626031 92887697 603209523 896554099 639953931 769056615 994493595 948409401 975762225 721554471 817891443 881587523 183008763 730470237 906943369 514106219 882108581 775452535 885497549 91551481 705341465 982651855 256102495 315873691 426126565 115405737 106519679 170906979 725206591 455610669 216573593 808016337 39162633 999338601 468891199 188206791 859928775 739918427 861765679 622777751 762599595 417060321 818532169 296779251 690229387 989822149 124184475 506553081 280582119 327045305 754267479 706528813 84198631 892097111 613623255 229347455 706351959 93242399 607862945 5935427 364118449 87193465 336870495 928059189 271921171 241313719 656029157 63128955 239299911 371804437 395524397 853648035 380222903 901274545 777870937 609272737 616654975 935616661 381242039 410021077 605408861 813688499 772684217 559288577 41334967 748362725 151599611 265789523 142072989 272765417 259891775 473881441 829179333 224294251 55353969 259446823 237505425 832838397 226977957 318199565 350382599 474240533 744649237 984376797 88442583 139867671 242915876 242549967 356529749 638134603 667059551 461116799 739244162 740323299 81836151 310659569 213560840 831104761 557893449 121934739 325456181 72438667 682814425 335068221 577863933 258741637 148280655 211222313 79186435 976680121 999494401 501659133 193937291 414227421 54866281 38182343 705175175 941237141 600384299 14328315 482838157 188322665 237113873 11819383 359516893 49714891 843440143 523489665 943647071 861249555 953129025 645201605 711261087 241835907 593691115 376259671 775253975 731264581 562966389 763627193 40800741 277335915 574755189 629762251 642867793 957506283 6314406 956396253 581665610 552580777 745116139 586112421 208325545 729338221 320172365 76740925 32515561 722910695 312429315 869197870 630900533 894092723 990812005 14085219 265194587 3966035 622196985 903895089 476041939 153310253 895853415 675205463 615682491 633445267 263833221 155601913 75713755 136937919 8561487 881016739 671451041 282196435 649071333 930821709 252333607 620648919 555689877 580549971 855583273 559567803 995131855 891122299 253809167 752893019 414477619 892674799 612708843 466071159 76057985 162895945 676992625 485424569 512964515 791985539 778173955 540268465 796028081 853580805 140923301 78705369 614653665 311619737 465531913 55504275 77944985 223421045 55674503 458414375 687628133 851004983 829601817 619630277 708921079 549722341 469333101 762303113 284339243 972910315 958490317 542918771 659172355 748560159 118120243 878616941 307255467 206382527 554673469 865495111 822339189 279641455 309005107 618521275 337079519 220093499 819089157 288630889 1383817 826180251 165098313 361328093 75042625 910679657 343292989 752372103 932313849 887397871 55096523 272341695 775795917 716909269 416364929 47912644 353650943 917802293 6424983 72287687 157719291 338309257 491367403 628065235 687061077 625611447 657889285 56415203 893113287 485947661 9284883 682427607 408130099 508917055 307461869 117528699 443141543 917544043 523727125 879293565 784167511 782799383 130421165 523491705 146645915 780844335 866409609 603447279 158139639 229118729 197009437 326625095 329125655 930159713 168038539 25262293 491065039 867896925 394953367 845243601 548336153 880267661 200115891 217796955 848792857 197147873 504836085 823267711 634344729 826704059 272282397 40796203 822120333 885007325 546065809 116445499 44188433 336041589 827477601 496684655 392862825 883066651 656492869 800331887 689765757 489783751 415400861 633650127 791979107 804709603 741799277 144519685 74543701 784559675 410723429 389015159 289268407 240532483 819949791 580591465 920925717 843033049 995092697 631764751 393577247 509434817 227002103 291168387 424235443 592274219 112465293 175943363 75194837 365241835 614001553 802709437 790617261 827203389 567698337 151742781 577091473 312326855 845256453 188348929 670264061 701374871 460840107 138455719 162105745 319805731 431245867 373117625 444534043 601430597 617918661 127667627 63248779 550031429 121962593 66144209 957629441 393358799 800253581 767825265 365408699 485146105 464774527 321127345 145466665 34182465 922286359 184850851 633918171 241613451 425050079 680478019 872238223 542887971 218384899 30897775 514275365 427786433 324985435 724553201 950065835 68683393 416011623 837770875 717102931 618319847 936080973 994668967 568428663 474101475 373342685 485000947 32625821 868534727 532176783 183616715 846669167 373768787 699656833 137494401 125978815 18956971 433519739 252608587 573579659 255113309 285475053 287665741 4307699 105921373 203372525 526269327 103443781 624307977 621044537 694503427 144434419 252073255 280510267 306221697 469523353 468972259 258639873 660081101 749934329 505765331 437722689 265765261 18227711 478009587 804631133 414339923 959464381 27282859 410713947 146881945 785511537 162835653 375913961 931698881 10898045 292739449 127569249 324917779 877799787 914209889 520336063 875003585 204194031 65515143 923582379 573267171 404347365 720709203 104912247 977432701 821548367 76326557 387633687 674398837 420389721 867479459 517025067 297550237 89652823 219040265 598476029 685355951 686539715 495297501 460357497 90163789 232030017 932184467 183573815 248534527 568756123 109270281 933001335 90040629 801172933 390037635 232999967 481725261 978968027 225727921 722476735 914103171 875941407 56995495 890549647 104219651 111834110 252662497 559240557 914512605 959879435 159454277 163871201 384530699 661700607 821508129 994058779 341368687 601660863 304437291 934203375 716272079 611761749 839458173 680077537 517097953 496423413 61650335 834936085 817460795 146044413 334271869 253086297 941510495 895504363 813157487 114614569 829568183 236262511 188160301 111755681 297183123 316546649 815481057 250007687 352522797 816026533 954982933 124411983 455792807 380250743 229321153 428760075 533209095 318975513 532870209 799465085 727430979 794979841 433487449 777828109 27644977 96725703 546966073 848410311 439697555 427310897 700938357 474407781 663046419 913544489 216180489 288656455 688464959 97323713 22063195 14456689 894109589 848987445 539682873 865357461 184079477 820163561 460388567 122318857 619396391 984038249 200099795 687328205 681527771 109105255 501019443 459950215 715839405 871139005 792851555 238823047 554346909 343415409 786735417 18155717 387471251 355033773 122729713 971132383 351155555 506478787 470267699 908144413 8206789 741800240 403983113 265761647 277350745 165818007 397808107 855267433 946772907 700296387 692823731 942134607 234051113 162616743 147769001 943837701 685725487 465420895 66270843 773747737 644617469 423407149 398579003 906209223 992895675 286521213 819005289 215843563 986142077 984419041 393461737 742123531 772992315 449875991 858289417 425041241 46242260 450755839 151951741 554448301 127506455 434560679 817783651 346387843 48845999 796238401 268397375 315013123 14072633 300612649 906747137 329095167 49781043 802284257 397321469 436391659 940743435 933658133 296863983 897383911 120120077 782579097 824810751 979402941 112744055 899891303 627778231 221351641 129933415 588171171 227042829 771619923 860391145 636221847 25639007 451231977 747155947 700651703 283780469 103977221 183958599 336604319 894277239 419023031 883859649 814217489 946144509 183826097 338452735 183699705 991694341 36195159 614167189 270723947 584178417 388641199 983780857 474014881 59634835 136178793 855112081 865479935 914355741 143239387 838875297 162153487 315840557 287936515 59739229 772619142 26986439 707312523 101385437 784163903 689019227 852090049 456348709 120737083 74321851 134737307 334391067 181063849 629431591 512445371 430513811 474448089 825722435 117830501 40996931 695442247 786433309 182597771 837185999 935433111 184971819 880721861 406566847 923217043 434964807 811795791 114903173 698291505 135722169 37745169 524086139 998961033 917337133 53010589 515196383 283361761 504853433 537955879 323512285 630667169 75697881 561761679 642447751 42941023 454173557 229611103 992508883 32309463 382603991 861532097 276870053 733689321 514132663 890685841 939478725 430112675 870191151 892899149 962409189 657906741 28689097 666850587 740377757 703077631 981643117 439523531 586186351 632350591 17270643 728070869 542341573 850863717 74363289 440907095 460519921 193539201 153912067 90391833 29081385 134885841 389677119 728148617 41991057 526280309 103608385 734292161 387055153 871037883 249481063 232473213 891633147 790718229 78996599 334410023 198925511 816654111 995531165 253628365 818789463 749841049 277395821 656359461 373161301 38504307 48484329 843060113 682640465 300439487 402981233 319629847 816023237 258661045 551521749 958252389 414191635 267375037 376438603 545644499 145822851 27552607 125059949 913460577 242906183 528792143 740260931 70027957 174658167 262422121 34698041 669093921 893505557 537783727 890385447 24588953 337898251 753028941 486039109 422786237 580466473 362021013 333457725 267554775 13878569 720570885 278893595 655246545 371692461 700972095 819361363 694654791 971318843 119916301 411872961 963148919 788052553 101986915 108995759 235183687 231600685 588242781 31138503 71923783 26496041 152084285 558327325 625801391 737059687 468074607 692664113 753050461 207905527 416601991 646048999 233808601 290523859 94013503 905762189 427690321 664721115 424315515 405251545 753645471 10522587 154106693 312659429 557836351 691473539 1643473 201341497 222732891 996356203 86188667 64117441 367935169 290891029 979272647 104045011 908381927 940094185 188122461 857702187 367820783 829236283 389700883 528590577 197341597 691228739 773529059 312639663 85236067 358596643 508993777 379197533 789313367 34358241 298964615 785647447 964512569 298625395 157727003 637198177 589337457 222923693 31242821 745770921 394891787 797391189 481153995 769400263 705820609 773043219 960941717 255281333 270738675 848559991 42488249 572768729 382740133 751056377 79437681 305537535 333678985 529219071 778601507 18702433 391709427 780776141 291339605 620258711 622894567 200769945 528159423 674708135 614261769 484839543 917872441 490102785 937509033 428652909 842752969 909485177 522382783 581718371 781672599 861133387 887344361 173768999 646091259 842360863 69688431 783583863 714952555 886469631 874934335 486466801 247843981 210652769 553124595 655447329 893687853 934041893 902100679 919785845 969562429 233038989 193806501 970635081 326939095 339664455 569853209 478157275 804026945 689826923 772352351 49619289 434882533 404817009 433042001 960991183 531143253 617001539 282813307 166259259 858767439 422413613 90036745 599579003 337821363 660749027 110147539 26643289 217877391 799148161 597889625 744848265 225492245 851551121 288287683 635132575 165285025 254752509 853228509 723245345 550944181 330463257 293773089 608798837 963595517 853981605 946665389 146377199 142914891 804210887 658385481 806865861 361847453 38443529 330149733 870015515 358547733 439460961 371266071 5496313 365667837 188493869 10796319 87627857 66542793 548661811 237699043 885561597 880331285 209448607 766385523 988671931 705978019 594039303 289443717 988420921 245888095 898631273 157999483 827793923 809009501 252006951 462889307 850107797 82263253 655023891 358205651 827367249 363258927 734965599 777957949 559772033 870007283 812231335 325879189 777237587 171013847 501727477 408761221 694578401 462555315 401251249 641311323 525152301 137844619 69046965 632438541 637676065 595586187 386299705 200771645 722183823 626675463 669528297 983381295 552014381 848772985 890623691 300377813 371576223 148563589 26426457 833016517 425797229 517506549 195578993 167198783 26454537 210787262 627509843 287300393 532528843 906235643 25653937 638627093 773873397 553982189 499140767 684472887 390943665 520855555 283544217 100233839 22713873 219338445 261108103 14252101 468006411 798669063 179463603 947902441 870690691 512791189 526282197 212645425 310836033 127498883 792802823 869111195 337689589 324942337 250895057 100309329 3237693 744624493 9434145 759580705 46652053 409704779 874457673 49765763 783140969 621372229 651966217 585569941 988689673 943600941 496266371 105992479 869033391 80150527 344517705 558807695 920857469 603831007 946473037 194340605 306348667 225658393 36695021 771311659 447233689 816654879 304533229 965565563 175173811 190118027 792143997 641131521 988834699 50564899 892600369 738080625 435600069 760878289 460849413 809799469 311298551 16676007 953779295 465033273 535524763 230221027 335321357 410132807 4772877 26849765 167913029 37457837 367878299 134596411 532121249 870067307 672306291 904323223 68972841 843304745 879476657 819172051 567993417 910843699 519777877 840540405 200587479 786920579 738067785 901087527 122988817 561087159 203080029 11709883 522825113 490834455 977707595 846047791 421033601 8484499 41679797 813078565 557487161 381855937 312219169 994280551 964794019 262116575 235240965 458518505 592220673 867833303 87548599 503364293 941698563 879191607 76714873 205868355 782646973 131108151 117090931 575852744 857212329 150465461 297251257 398293739 395909299 234646327 347049539 224069223 556456225 892653297 186523889 838179871 949060269 940000949 894150543 214494749 436412533 835953157 819641803 4395157 748676089 117207305 530543169 380858595 978445355 666382223 64717681 382405257 215104095 500365837 148282565 4356659 761691987 215204003 581409163 914269365 798454825 598835739 635488257 52442121 706763633 224109281 830067269 359880787 17713697 284586509 643936611 825757917 462926995 778102879 497441353 649673501 39517585 734849853 618690259 243609003 728070467 983264183 309671617 720670539 323534913 995434885 113917627 65722857 100263049 517928453 811475285 178543513 495459455 484110657 331689991 156828567 235497455 570304739 426396209 227232067 92935441 289353543 186307101 371088169 347955073 141778025 400774141 263906813 802267461 481084147 868864747 403382685 586561481 529284915 478998503 351866375 167406817 725333537 665082585 482734699 655020495 446603867 74496405 512122905 159222323 769813289 645267153 95201677 874695965 924548985 164309809 627349355 322861569 988125923 195448895 636860799 962900415 963289767 122364777 958121915 689716632 174438061 33906953 740313913 440298557 622769283 504505187 411580735 156386497 976423007 477799837 974190133 9625507 55900193 830800587 991120051 993492933 911261267 4255971 445365359 475639673 289240865 664047561 504667471 355798895 926139235 923981893 474044511 980551113 672808857 786303753 616024785 720708363 300416745 491027375 282378497 227624735 577788451 253503925 359893871 226012767 597493951 978442119 192474059 185437829 307740635 28455799 237662183 725509047 257803583 92552379 105411771 659293571 136822363 410681975 789162351 995872221 177857347 629506227 479970379 983035939 88148411 7356769 389591491 969058331 875810343 930935641 858058097 642896113 287124119 471067487 901695259 684644411 558696897 919403801 642704299 922696949 929785351 354533913 672967221 39113351 413053039 552247003 373020403 655656379 901745575 457758651 334124615 324738503 78240519 544656903 550207935 58173771 417584529 444108527 703603981 132857673 957163239 485922955 970162957 567271985 766956125 822051039 447495361 667530965 67268583 870419153 770047063 47294325 658105125 370657587 467920925 573703861 12096609 835166655 538489235 266626721 549880199 222552599 404703835 345183665 561136431 79480003 437704511 896266689 763120535 336156213 258947893 54686999 442704299 388864965 177361493 774003039 690737653 162072245 644765411 244082861 736597935 608339247 112071755 652538499 246295479 563306819 876605985 580634305 889808277 63102955 260507423 61190839 645352055 210796553 585556009 335158297 261449783 664957797 667412297 244856839 401705555 548659119 349572277 390335491 593753839 831944067 487409605 947918075 794064863 789528417 527212543 833665605 501882265 768118451 152857611 795539615 396613691 450127049 267332287 850749227 441081483 500301789 405525 332263547 806358781 459111441 520672305 250902401 551921827 874931819 894470239 427635355 931772991 848322529 955278351 251644557 625771321 305965129 699516385 401875335 756240029 198944613 417908371 60698139 819319333 860802527 726632981 828717641 139994417 848381511 983723127 51097205 676437445 553509911 769716983 750143085 750920083 81990831 408835829 759519333 375052529 778222171 678125823 539764221 381502431 747877193 954125253 240103221 757319427 786915477 236877607 586767743 528938669 679791423 997223717 20703919 969853397 995930415 72839401 254967811 686733593 453702201 120561099 722993949 464765889 283628309 980518977 408843023 395967677 412619877 455127283 234160457 181351329 740863407 100239273 414239917 615680433 785075815 292659285 572947069 965917903 977639143 289858583 985718121 45703311 611565935 765765679 678029443 741622567 7976233 167468297 292377674 955359861 927435043 649096503 308086181 406938879 196650843 476529782 671466717 951297271 151844783 926190251 375295659 782347573 550152939 670872797 618032427 335508533 252693437 93765697 707926243 102397727 54205377 976365363 574995391 399980229 512726133 423849013 607350805 122682011 540614727 610306291 196697505 376891329 435339653 306485055 416662153 569070081 886097767 252669463 84871771 638719173 727137553 120256157 396043021 234614313 495284877 64286491 250630137 474300907 200013257 976641029 886382311 907964529 945859487 488927479 30633731 215963083 475589843 432961973 265749989 150382769 383158539 945108775 676314245 9741697 995256795 561428067 882067021 727030083 821829051 764555171 374787591 447360167 701887755 134973771 853434603 756043521 770683669 565373157 567502741 568193877 353859339 116443173 719739659 531705671 522470149 252056551 245701047 585270309 194180871 255419695 611591795 488377835 892586487 456466981 636837753 465719349 714196649 340578591 452016495 38215497 363379411 887703 961577571 439736089 215707673 585262385 444768969 460126781 618128131 656798393 229650046 720689905 6490627 303941407 982979531 563603997 304746611 278436995 198267993 149465683 180982161 816413987 627884607 374529735 1255817 322162799 482482939 65871961 189345901 568165879 62045295 48068241 389990707 328654455 926117869 219617951 312383679 42416339 886191397 670245465 898791129 624216343 237714233 704006975 290346803 984965493 249333163 213394807 972260453 970446151 900717419 716161233 903235827 763867667 860704203 696585669 710345795 57209987 384313227 974706289 41629607 59332969 795293647 308504989 712849241 150312641 223060773 968744375 590176635 910739121 832563329 15815129 887675669 684255359 749487681 594010303 214798105 708145571 585227049 834098131 241481567 3014839 914000232 100178467 779775913 150404733 41083285 400126821 375967905 857241313 219759017 86672635 679469271 279681525 827230733 328084203 604814791 796306679 77867147 842385123 380030157 886848839 674702169 633871163 312959543 407739251 566570519 569950195 518775349 277953069 625167559 80674737 95401951 984442193 469901527 570945223 979565623 150584545 147092509 327134761 712090919 474590729 160548311 140183671 280686719 890921501 355315113 979553017 312961273 331994517 622185631 207010975 176837943 439184665 37134897 719580415 581585089 980227697 270678331 781715289 310392071 320819601 185345795 103946131 272594533 112072597 555030067 604165949 365190427 916715967 972390373 532675215 558131795 138677373 993051795 956037479 356192029 719523933 702499107 688010317 668758899 282346271 167368162 126235503 626619703 972964005 578350471 964048295 257908015 414354937 869967919 437893489 358878737 56463953 419862619 927396343 373320051 922601477 500389375 77934085 883455191 205713305 739074923 329209111 510979237 162727609 975573597 798470217 453489457 461151545 779584253 550130529 629853619 735344147 230600917 678050769 47279437 621225579 126689757 264498607 491131909 29403277 366498671 933347515 123182033 756444393 242413909 192749917 292233607 55318813 357940919 104855457 368172007 241822957 507452719 979315777 473551519 355564865 409980853 924228509 938511165 850268977 937441203 381621433 331328059 420394227 621638133 300951111 727318009 892154605 971116463 197344667 343326657 556075177 859938175 68943289 14660295 564574685 66424939 198123589 713468705 664652129 921328863 967838351 311583951 295277627 7036337 308850319 455526079 717822613 727065373 66251747 19697599 744512705 486604745 678554323 656719751 430899771 765406661 431743309 314923963 636982441 658456961 401769451 864037093 442222801 768222943 185150697 105108339 504472491 532247073 990404913 881993921 554311505 758655221 793435983 406830605 966251525 478354289 654851199 491911557 183346481 179915539 90311067 80601911 914361965 593795519 181566511 499277339 659398767 930332353 239760231 717783829 597895711 342298065 586379035 121827823 661146501 200624139 135625419 400616023 202333909 199090421 775192733 239402215 125540201 835189625 296604259 937657891 1510599 832673521 735120017 815566193 64122777 208563223 467528519 93834789 97382579 720174609 978784077 311890549 43794445 939034477 466515731 113120901 88500175 369344289 62525871 607616863 655460673 756292487 239702495 488102897 242169815 823878503 449367311 976234517 805607981 728138989 354628169 582980495 589530885 62655663 22144837 114419973 494319691 762454187 53645669 692459273 748733971 345795907 800664239 901041431 802422679 349337671 470567633 723988621 958707771 871449581 130014245 186654645 456041609 139570641 95422631 529891521 719874357 99608055 998980353 997381321 375113755 845317071 140856705 997624015 557088061 465344299 52871453 323166399 974631881 717547339 811939957 954837093 733549325 589855187 100942547 605832829 487475595 904644049 354608419 53480361 525597663 690624697 701689085 941161841 126336987 836795753 922777505 871078215 98904941 297841959 965547765 223121795 325063603 942412959 968876683 673239657 943661041 100135655 496227991 551759647 574075023 975501435 479788792 756196023 918661667 305156673 134216761 379375403 712362087 642642569 391154823 428701277 389447487 239541763 907287225 331416341 809898423 433363665 534629709 903326213 231655681 575915381 661945197 695230661 334803831 482365917 907728359 250573527 278474653 683040863 976277555 487241893 16063265 123020985 902608751 213051519 544409555 397637903 485236067 910576543 585070769 947666159 331633021 84347687 795748059 858582605 301048277 760880415 176816285 109424261 383484461 821092215 808084589 16556385 686015207 60011789 49440229 90256395 665243159 143272605 944907973 143185431 806230641 352366547 841039869 431626887 651330647 74825279 247516829 111868603 235975885 35139675 874834659 998051203 400914565 590074503 447334703 885451283 951833813 655947279 238043407 636371211 710153405 976825379 456652853 409309547 891203557 211000027 478205309 743974823 71591833 856179257 667532265 178421391 859799507 535496485 181018019 284680801 926072369 788327539 232828163 987824581 525940475 716647899 75479937 120106181 424407073 179333887 59208895 231255513 533246521 540549733 384777099 925876957 959653249 418160771 131461847 378760213 957405923 83531439 221106879 609939249 324485869 749842475 607159173 791625795 542319319 321156383 81879701 8449739 152525695 20155807 744530819 269903533 448990315 418399395 421460231 805204791 364323023 890194189 412028937 33141277 392661117 546173091 122329745 520800893 132601591 480227099 943832275 514533341 552636517 709635849 896534059 452797225 973169301 370862835 117238813 746896823 434031613 609421889 920303441 789648963 436399805 419565635 738333853 482872309 643770783 132692785 442611195 452731735 269026575 623931185 632433549 937800545 132749349 277355847 488562851 667881581 59522977 625338983 910417579 280484675 943038697 738109035 269377091 739616273 672214285 375184659 707240495 974184809 392872901 396074759 14386263 676099915 590961775 451518683 373778129 488056859 169451283 994909191 821403863 646610853 774925665 43600363 470703565 852634657 659422639 11053265 7678013 410629931 731156475 64543467 534385885 155862729 133465327 612034899 118824837 993233509 836787929 828314889 32259643 115866585 176669873 383538165 19483175 582876767 579429653 10697707 296551071 693525919 808718155 531830689 782893087 639703203 528261703 345192379 389165895 854460641 512072603 461834691 829365731 446888247 465195145 696728359 652062185 72944363 412099321 860786753 174564977 64264875 973444727 688423765 954927297 753632649 313606463 738542473 319796035 4641283 162573611 62634993 119633545 296175361 890174151 595409539 305684047 470666957 66940990 83902755 400551035 666176543 563825771 311746713 942918677 394680083 745187785 630752663 615208015 56865837 676041093 343826871 347332489 172918109 749358697 496428151 63461443 842356981 7067631 564129859 146702377 661700277 583355701 320104813 786067725 555176641 653708803 341726507 53613549 818369703 871422921 548159649 415832041 175603291 911592603 65001431 365469519 619643197 196246077 514419391 348546193 248055053 766821139 973861427 542480203 13183229 942289197 570769137 187056447 128016545 46157633 728735397 606706009 932167927 672798129 351556831 430043307 473365345 572454275 453083163 361658227 716482735 78732645 162890423 62381075 505097239 804393135 829124093 555287061 540930613 837024353 726993693 621531437 17518093 738747939 502372917 431372855 935350797 267566403 36145473 561108533 911173389 988941751 67056941 891031379 237700933 914562335 629297353 949660645 8312159 647627717 520113103 530366821 258150247 530336661 515861473 462962037 99238353 194755879 927394695 612951781 427630203 872544953 857918771 134226595 950107563 362239287 829697085 715074253 89366283 229528363 536810471 142535077 485982389 383613902 457057371 323775129 934815267 401074176 907282857 17760055 466275645 801015113 491945163 303174209 755025741 507243733 109520035 382612115 851682313 688131711 991532281 262611007 375940751 496948677 468180349 530525555 682298469 422296267 494081739 36446605 784204921 88324453 258392931 367059985 522846749 273200137 764762799 361505191 412298255 458798805 819184639 606483237 563530103 978781327 866395021 208148103 56863969 789930921 826638203 199554029 66319167 210897211 765168849 512308899 895596275 596829185 811269247 854930975 351874241 601773923 440030817 144421625 666490067 751403635 979844151 572986871 956655043 403788517 89083563 672425729 661950859 343156251 577644109 585024559 508781713 265555993 544168599 466456759 22093987 740245137 95232745 118354943 973989877 654257113 954286991 706656915 764412453 933922801 113065143 834250021 28649785 100429695 195826557 282442639 76855453 221798611 203712737 69133783 100963879 690956005 165766861 413486887 826116371 935211603 89969425 247205073 103660297 676706917 606862949 893924179 429470995 622538761 821514095 954944333 169987753 198459609 121072051 558065293 88041127 938821139 612486311 784488709 143069265 8712603 354437791 526579663 388231765 306732293 90599905 137377841 496183755 609992839 484800917 681338517 507213099 375100413 318740683 256911759 67382111 694541811 29577083 600389849 455561907 628331669 575894411 858367061 225403867 848244925 656092095 256653073 244007669 701741287 982965963 682552383 665644679 224172603 29440073 853397051 134137981 386476427 448729016 402201479 592608043 557775435 632877443 349248463 686164563 419181467 368267771 366703847 937171477 237438277 273018455 160624073 307111937 152257715 334016957 853554583 721475595 146925057 780603953 743726241 989667219 67849965 650612647 384676693 538566235 809299421 767077625 64990545 385244561 366092001 417116389 93559383 578397899 246890673 628941593 308061011 643842311 265381803 883472161 213508953 721648553 88478935 3026299 813244067 770832765 990570725 546159749 506725781 292085691 672668457 668476297 502000569 597274367 958533287 578437561 206722245 681296973 444526851 101599535 30698897 19257365 550967179 706425321 884616993 604344107 275729467 619480275 692979619 166044619 866047663 576536255 555748711 950994075 414464812 301851491 141110761 944297897 725544871 746597475 446182605 788890985 781818549 580163145 816142045 52317625 855698067 333230467 181769487 535774943 37356073 316691307 760996731 144795271 509066761 501169987 884370023 940576967 32092519 364702517 923567931 195579163 138366755 117190995 892178317 420715371 363256517 262037651 42173977 133418753 284957053 901403097 708023743 911630741 343174433 133482733 515675275 646856259 622597937 189474177 12202163 590527119 316065235 431964717 518426001 323959655 687035095 951853941 837246629 181127203 36100277 630441663 591882399 920637309 583617931 338790749 516130383 304188571 133558305 512250249 919350706 286866441 896220901 969608037 125272811 316015807 755807473 956997625 745005381 341773593 299671297 466467895 176671795 314848733 836847743 243674615 750783567 256534327 633421945 286281979 86488159 651920317 900150949 746638317 63169101 612771179 638298725 107512671 284097581 192898215 712077245 445394119 639319863 42403647 583491681 41895815 726931667 231986537 859311267 861377515 896471433 615298239 665045125 832311843 391662605 114070857 589572269 281082695 614243385 109234293 73052525 101628505 480290323 54641685 924002233 747958083 701759173 487197033 5051953 10799573 41765283 409936915 863741469 262961865 665160999 270647589 446625389 189198017 415431667 721345041 333332151 503942469 429457367 768017845 907743291 491287493 449095873 344192853 523440351 97571485 485315535 632833953 280883763 906903053 47748163 223306155 784481903 884072767 432601737 451281397 941415793 393490755 703243573 232239455 179508673 592128531 772902401 371799097 464682381 603513233 334673615 137232183 568655279 728731779 354216111 732236407 241530019 287772063 758347983 896248447 564937107 318273659 633711501 221168443 107285323 752781465 224684395 540052225 50116423 380338787 527855127 182990223 672090785 487343657 324274017 961835783 943954725 251702051 786144837 489793275 104498751 965909623 99136999 582717275 104124423 901434921 850023057 623134601 557917245 683623471 232056505 540550471 740335945 397603679 685214199 366024645 579966775 206112379 698300431 652547733 11546817 713982251 598686191 140584631 458656837 90438915 22680743 828397967 724815053 258195067 391138419 678248427 896119043 615695347 790131127 708037887 939694147 408241335 650471423 772298089 317518731 140492789 259291901 872920623 905326209 839843785 523501451 839659453 10599029 718538801 934616239 357088999 55451999 890284059 80250001 610943983 709341405 941961301 712927111 781207925 552109879 972602007 251345677 614173065 421306971 221807239 547655363 619306145 583485155 532504233 161182071 437658775 344649995 219838833 142134299 766500787 128727485 117231161 423403721 906556835 907390853 732672065 762799047 166263417 124063135 245434801 4456063 841003957 534757 602562205 425469059 942475065 564925155 25130491 775203985 176992855 578328773 779024559 623889801 428714689 385037411 734557315 313291129 824972693 799135549 244525861 928139923 279706199 879497081 277746479 382993971 767155703 950042857 339036453 531701723 904612809 501277697 453359725 864887351 871833737 936160993 841191003 890681369 397178717 971504721 174542629 655817087 48665811 549375681 519829743 865714313 478679519 469660999 663945923 373873797 920390881 120651937 257245583 415764199 667845273 12429369 705307437 227606597 200760635 513346845 51743585 65092969 144628567 542421253 649148113 249748537 133479147 788366671 595910671 589738185 127866463 246801923 119294615 102122583 553031549 657407183 112466887 739847749 664862333 14449677 433218537 558959901 21418747 458802105 514296111 828047251 320311547 294700669 416907953 49493891 636593643 791882917 597991795 848321777 191392163 756835117 935434587 726985989 899100509 469596335 947651131 266236693 13604543 602053239 249311437 110110619 258939095 202793329 980742579 323961147 131868953 32888629 60424309 232047551 206735971 619583747 801617029 309442845 272647163 641078465 372695099 674595949 169381005 592978945 810344923 82076403 938285 770846967 535954571 396782877 987382365 609222019 811664733 739968891 856041725 41624621 537579595 399643081 987414877 828752165 683191607 361055723 843305523 348369217 40265449 307123435 681261465 305318655 100637715 306042879 54243865 500648329 273551949 439959935 789185947 293588909 349954329 249875441 623162487 508887267 751154913 395852541 168469611 108640841 803713013 476672123 877028763 843748261 980385167 877591905 222870931 890687083 212676817 682617045 716781131 911491757 867047875 400749347 764492575 730621487 653915223 765045437 819579861 592466771 481310053 262495037 126748055 621201965 946525615 593055337 670067711 127221105 123799775 61843753 726559239 606881665 910433925 891432085 175835925 486588769 178257179 655998691 644817399 49695171 653952769 190690427 367807971 361389565 677248899 862406371 463640947 910530831 189903825 444451283 405916079 971713695 54328323 335051301 542610691 189492223 271283739 837929691 960516677 155900707 322278657 406620705 715206067 946211755 873160587 820791881 275861489 909946847 68779371 544451793 116067595 841974703 887305801 583533913 651856761 183363505 803481259 924456111 394807061 159873571 540250881 612088261 314789929 75994607 480923815 944777399 345790556 83408291 787962588 128156615 855923659 668718711 856982989 619318369 430423533 547365191 741684101 233207833 951863465 600106399 786818819 996830633 493735757 482328749 321432871 145774069 199148941 102387269 233291703 596917511 883673223 369345513 802188905 375508755 140613057 651675073 753227217 60745589 530079271 281231257 705335925 234266031 506991887 110611437 644814269 12952685 894060341 633790167 6787833 643031683 567560127 1281315 34586721 154453483 970267965 675819325 69524507 684054217 156782239 589317181 534913835 875554919 18345543 244553443 118862983 10999865 881777399 736918165 578731011 651865821 740541149 971191395 99341669 507115281 279783569 774010885 864491347 164724931 29540363 599964889 312791137 49924615 61642677 842709223 585141255 154685463 393034075 947940831 293166501 320202839 172752177 522870295 88883077 495062355 370107605 54538637 789270491 253429691 546109515 683535083 368904635 203982703 165583107 232961151 852675115 553834093 339332817 655486785 389391121 551982565 125038321 642697679 362012737 595086119 186846985 17403247 341799025 881512623 73550887 487287573 375410247 911375137 569231297 126987859 899310407 310108233 205043377 6386283 478854885 485439511 87175231 847448901 507094907 835944875 799926039 393435757 480439623 323834949 808130127 865821215 305980277 685611087 766085733 561483829 376029975 257534047 174504509 511230779 530101283 645051441 690096163 887917915 37490813 957700517 365754575 54929267 487734511 936702409 865253469 618947579 872065575 927873999 836777297 777476641 505847231 502152721 76352411 122191535 178193721 565724949 61412237 613180191 135773441 965027973 242394343 658278543 620202851 481094707 714179021 961090759 658696603 652837661 485908941 689522999 550173899 932045923 593203931 333548019 314531069 631909971 380267605 393922751 828724765 877175135 821199361 70599167 89798923 723550499 449252107 561320899 215560835 320368993 762129673 274538177 572798001 278879493 229177591 799063387 116217767 753191203 938791997 383035031 380807515 688097779 280257445 689524515 880599985 825799645 346232423 107848279 472694769 877978729 320703773 219709235 979347789 437545291 24997585 839141215 629623773 640430943 926953963 125304361 48428451 40038823 896801603 989872519 974912393 273112655 333792023 403110169 915327071 648811435 603442187 410758441 204715999 762145077 268624429 365751713 984971691 729919121 358458353 768142621 968543307 831786633 295201589 575179739 142719537 387439633 894913597 674495171 504210612 257159493 385911481 789626465 339881753 709687401 403430589 181929967 403769735 280397029 106671045 183972939 950710799 890777167 871348151 676032253 76832171 712197985 232957921 646806323 984636733 598860543 461942265 890428103 155177101 76788019 227084569 580704565 806735691 282630707 826949833 535529639 496331285 911956823 220526069 459494123 581884263 158017571 493905907 190472313 454786219 798191941 867251585 519578477 931664181 953520525 821392835 44181651 840007997 892940023 442159941 664351831 738060517 254629799 746290431 945678803 425374005 894717161 52250957 512579011 70523677 421229613 187914483 613784463 294637177 261300755 659458081 800185417 77934857 157668185 944155497 803206053 685194615 89443311 878826699 573157637 285450323 393600485 964705965 725159021 427628823 906005623 251314391 475276687 566792483 249240843 526726021 381814465 62026947 485726759 742776911 525320707 933364261 507446403 432482621 398735867 799836261 821124089 864679355 515389689 764818563 296091273 395461023 389584373 37847145 647713123 829796901 43275149 772202471 542083033 473810677 111006473 61604791 211086947 414366489 41167191 609292921 77874601 970497545 30494225 703855031 850227057 275942047 965139571 925275877 268923315 886745123 974145127 204573785 562239369 928097091 337224571 703857747 387274805 84801297 11395559 437087745 331458595 30498317 24438663 664772721 746453989 225875739 643795175 347933595 653574969 570646153 843791411 65418597 823191553 58924811 338828355 934631571 122616135 839827135 20819865 569780185 246137407 932434473 385822551 491528913 738972483 760611129 112656465 121695995 339607259 116041283 165813243 651859135 876476077 85486339 856544629 706535025 373648525 104164769 486156423 512968521 448342393 628962727 732017313 860898919 655926419 552457483 87708633 727806933 478107173 669784875 800081391 781277573 882176675 262916559 694842185 482282065 514713513 588294175 616660983 426093815 681192185 981167539 728166065 793046309 931651457 206968201 287098837 998660199 159530577 112703747 676656747 178406715 856240549 164637427 908198179 520920063 11895775 281446027 105000785 476815357 707818127 653827175 549307897 108779623 2380643 746842001 726132413 665911127 83124025 231313523 198451953 11729099 595531541 270781409 974273163 985551281 670820127 522210331 530657575 799138005 634925485 453559237 442715921 551130101 686401593 242902253 515655733 94923439 951887463 312157705 649124651 570477965 787836163 563210995 189062709 812710145 983682301 502143475 501630005 499143267 582010995 851395765 232778173 887902967 665873321 123919183 921228807 876799715 87952393 213126973 658231789 780953657 402796837 234453095 654230265 433527795 154729913 505283095 534687323 281474291 746608297 677739013 466034665 462473473 493471233 91991883 903831331 259268047 84505587 932643699 9958959 811948023 954211801 329277285 265708765 26073079 134178617 762575993 370826149 758044987 271250618 503113069 130058405 597901075 653770039 976307045 96439461 586293691 407292579 304535279 459539987 350934863 58829607 403526399 553626633 526026461 245831177 141836787 878494531 469671253 13009601 30123665 969196843 899468431 941033961 102547205 529194703 34873935 823213123 66280931 671570405 352160059 584742841 510084397 942757839 837247973 806060131 138862915 534572689 27959239 865078649 349947893 413450717 982009922 968526429 189806969 583594507 834167713 379274653 610293097 208645399 229209105 798718955 252149709 215727017 648328879 25367843 204447761 143206419 358794363 664874311 391044109 92602185 176300895 885140355 741017337 283847659 591574315 299393321 939763839 316327745 708340379 499468471 762713515 529146939 154293835 204112079 305461743 650774127 55360969 46113083 4326445 804881181 839218309 288465391 623184297 677000235 76908247 163916807 909797647 882467113 452754177 274595013 261423475 112380495 608983595 553688213 625301845 558045051 833553257 24939531 149534617 516970291 726729907 978697441 980667533 650808747 923325931 25984763 609376487 494929845 852049369 434087267 701919937 904218069 748905261 610965325 531959971 901092143 322717059 8707863 573722233 929361041 522514523 348003135 150307993 914348407 333200927 290906995 219276479 701355771 17915679 218649991 281564435 110659305 915853461 229873781 23653151 983929517 494244769 101036385 87359195 126581343 695829071 923241111 751506339 235592639 772852365 200318599 434575163 229535029 612937015 592007375 699692753 46832333 46942477 564937523 71568381 347778369 82924983 229783707 879399353 707820271 674376905 82222109 845354347 145672417 191729339 878015989 820376543 141066177 847987693 84587651 101621839 899934443 159316395 19862355 306523987 519226205 303386403 861683739 219827185 905646781 990588529 56425907 167233689 874800731 488295317 237392161 767780383 180303919 646919543 230069903 108375743 933326807 192483051 356749903 147522849 116688795 494350249 746580445 650628431 89060713 692315473 883874015 708664767 602112985 828075629 566695963 893041233 53354797 811620719 124389001 233769799 309740103 615569841 539904067 108042319 413709755 928076915 892957577 605374337 899096767 473650141 182504907 395260501 333147183 771263491 682479259 906917045 510915991 960686555 77465777 543554541 463263267 20847179 141452021 187156401 822563243 93817111 134264685 376120092 424476079 447913459 756836945 793902011 875531861 271791481 415298811 257213045 17556335 32506407 303591661 620765855 285747569 687146857 831558355 364084473 804913787 95623313 612649857 2278569 47818069 903644631 522058991 160068665 928718959 80922459 408307013 736644255 141701855 335685159 663123403 557052985 850945379 439243053 643272693 13655501 834833765 176809541 86765663 646475143 618891251 151779635 287206859 316976637 955346117 621386397 150181413 294269741 627112761 528242455 833432449 107555705 145676631 75448343 478731545 341753522 551630541 754892545 178030159 896980749 792893941 333516829 124539827 446125091 545534667 545948573 133882355 738699263 615442424 519973529 718088941 966580233 373273547 375028757 868108451 716677659 312188733 914833399 363506753 496439661 730645737 272236049 709578523 682703273 62790171 446527263 376459179 21625307 470307263 479780797 827604629 594722167 531413869 980937593 910577061 995769181 20751973 36102083 353602251 589572813 865115277 351625461 880208165 651291769 752603511 217392973 408194039 442345845 418470743 656732663 842119081 706304573 447972365 283768323 921335505 887392697 194441761 899164523 171986217 813085747 878537667 72665105 593455765 993708129 942710215 816111805 968991777 500744803 466463409 319992865 692035325 527089339 621389733 520149973 807992713 867096409 270917491 27803995 156368963 748219023 610456467 359908125 837432027 818084892 515311907 667921771 500614945 900536869 42029033 737024897 261656593 214147641 325636953 865471611 832811729 630951499 194762117 115664999 509863 27907001 210093615 788932405 653993227 966384199 161715135 154120637 919464085 540841253 35100739 954454721 760572427 229551079 955868273 637975531 492450391 418214793 381594283 197195979 880985739 155462001 240671733 726490587 870124261 611590253 139123969 209782653 698142149 357596081 786535717 906027767 812757689 972153821 322318689 216529791 117091187 544162803 655639899 937112875 832098509 176488545 483619941 783738365 238421453 175141373 811929715 808127199 160169117 350946565 139246373 59315361 470437265 508802075 778738883 147922173 122739744 156459857 335791421 9645459 128271349 384428311 126496551 277278447 880288725 202659151 835019973 88902527 842752693 108344891 266227963 808883359 159559857 473925515 77054041 312769935 237952523 426333009 552114711 538218617 62396975 19732749 734614289 526358381 662208687 445544611 295703763 738465635 701846089 481676641 194125961 487589697 465577439 653988603 155423757 714174155 907622779 459152017 271661787 555835319 414117201 908315555 688654109 243195547 402359997 707302179 794580127 242552311 596074817 159808613 223606749 290772281 448487307 894703655 379343089 870384047 418715241 749256075 672572583 29861779 991467995 213896993 213580139 986796293 813756419 925246943 912872021 978839823 418511403 219751455 161718821 450341541 7367113 614695595 314885185 586248091 682214261 229362091 615396281 358578103 984389107 546518455 414753349 967051681 744680241 443147981 528477507 325134823 160635199 445030737 806082235 723294215 593789785 190676751 321228893 867895135 486315235 664233535 660429439 633718843 128832103 145447549 241441567 680013513 110602395 547869135 151327463 526420003 721305431 4661153 906753573 771683661 542956193 795685831 540736465 72667181 291604897 146471811 364144263 280948375 183017389 500729461 552842131 48287043 751355199 55448493 427001315 290932945 16647933 711736479 177932043 714266827 726886061 337800747 990259277 977223843 721183303 539860371 562279313 61797555 530212067 241315205 944542819 142952761 358297031 441059095 714039551 83252065 95606621 791655623 921621311 814419517 352448567 671399799 112780205 424101317 354951185 203550073 540846201 82932185 572152017 511695229 105754745 360356163 395148157 545426853 169308205 720742069 518972237 910689397 379498171 409223623 374234779 994746839 759593717 42062333 588567017 5864997 198824015 999045565 314077409 777423641 954734057 725418329 82969435 228866265 911794571 881897485 907540557 304899315 210472099 967313655 606691551 349519195 133459275 269936673 322091865 991429999 78549313 623558525 992261167 941271797 144322283 403865571 851188987 180259609 199994455 901938709 306432389 522269553 489616961 938639805 258067633 536481017 552443141 96878189 455357849 454211865 997249963 465809563 229646965 392502427 516770529 752917163 176184743 770626229 670810111 949613541 202851005 236099591 655992325 276990331 580887403 580414355 206961819 95840645 440753287 173772233 798479117 287612421 890592027 142104443 308307799 995174373 798050637 280987369 411293459 530996725 891433331 771408567 198140043 532477937 522703621 45591281 531756975 455857525 878502827 447859727 845390101 960087311 191236141 449672685 543781117 848781103 371007361 486560977 730624589 941563181 229436351 868694631 352379287 291953227 515828011 797033155 431551501 381741235 385848113 585349479 3659925 527916661 293541221 509158963 532634289 513987213 118740097 995763830 301943696 304776151 669501289 433095655 834966287 615073825 950279721 801700771 18711719 804950811 549748977 995110701 498233475 360318813 250817311 873509235 881389681 943455593 71197239 181066187 947200233 703669929 329614561 441456883 911686663 664687213 269627891 509982221 228422295 819384047 259307879 280882603 420759813 713841231 284399459 550442175 604783211 136365977 414107437 704573351 97481605 338535355 9607229 821513511 338667963 374840977 350330667 750641519 99065887 360614363 805850301 799704337 53355109 87982147 435823323 411208205 283855853 721773145 81692571 877880007 638854849 304154007 815928377 223003917 998986381 309087581 102013461 498990867 329419689 955625975 559198141 44103801 805857811 913692565 663278563 726976831 911506039 276339021 145567329 312570071 179557663 752657445 525621053 442972437 223532293 522841605 166759329 352134455 378922183 841815229 669905119 174344415 942713773 201865479 301340021 961328415 286265509 700459395 287737859 769673575 331039561 806182333 555232343 949722777 816621269 351541027 838061155 141108215 575231795 839058961 271886145 960113201 788915185 252459719 834805303 103782489 686027589 67461741 150837679 129733871 752234257 589861911 74388029 236551895 593048027 596659133 468203929 777818205 814492113 879051583 276951979 283721273 600664523 695209831 558327675 788842631 578029641 274850025 108321341 358542285 362122355 282672473 81505357 92130807 171509525 265850941 957948973 61102939 209143211 663998459 978232713 893865909 820757327 75978471 387031605 63609131 65145291 273551417 60028715 582832971 296833679 687541009 796259213 109450763 276383153 708090745 558501289 146158789 649262833 666321251 564251635 662914369 912732853 626655657 739371011 578491051 613379853 67420939 619763101 528961691 540501169 413735217 833826221 28194825 780034559 10340783 912953671 963471967 224914943 119508731 890469541 200695911 102508895 648581497 211325995 214315353 43768697 909179505 116553059 46085073 371505995 430770453 581959681 811810517 264888953 33504639 252748003 684391631 926668886 718673839 684917511 8975513 112704219 461278349 972262043 240689261 756131745 334438635 673972723 612147953 848788725 533559429 985004683 194867251 944924867 325893881 724977667 929519783 146783139 535141073 720122151 63722539 154306005 872956031 780689645 69475589 947840065 662670683 577364333 352294113 532143475 771399849 441108715 89096149 871626405 880877711 390058197 371473247 615031991 544642335 197391547 567266145 339791661 1711957 177866585 72169773 907226425 810647565 473752981 870776947 705967281 755010327 397940597 986598997 563632405 611699229 855288625 275672661 339210891 685050815 45904417 242849635 126511843 129477241 116223947 877480145 232471189 728440759 671562969 601704799 134781375 747296457 442473501 978704433 258605865 272970731 187441045 478863829 409718593 554106169 729012577 584917311 847723809 156991425 79789775 436006605 48425349 687698547 33871697 304406851 959224791 474685735 813690753 411835601 103594277 321090465 814608421 950090763 519972133 110734983 170548519 613365485 504234297 337237611 98707609 354331103 550010213 24632519 859485113 186727083 665682267 294200573 22732263 500771719 647705971 726662997 230067633 949969939 902127017 995281919 17854921 434396241 859556005 45366295 860274187 647554991 260804281 218939551 441282169 174432259 810859225 916827515 526554687 607106699 474110885 526218371 618964145 105826027 563575397 331763307 444371017 106247727 439688713 56880597 697186729 435075535 205873703 552810573 196582047 421701799 406207487 42533187 350129439 470032891 56483703 769888527 492355135 279440507 650585631 924368371 207053641 908436283 136063533 174723353 235459747 672034487 226643843 471541649 42304227 898331605 969454247 909491541 150953411 354044643 371747785 793477701 152485157 531301013 449177021 416654637 123403289 93967627 351504647 182974139 408434125 886795461 650384073 690130571 804528287 905318327 897916375 336943645 588000529 393042481 64635815 85303771 837099217 335363569 838172501 542387733 194954159 585251103 90613421 460742661 711249063 585747781 986906907 542612171 375166685 639919195 321091255 116856435 890829979 768583099 714445121 3902187 618648661 476754735 727076639 533668623 106001321 178036703 151161955 27420063 26402901 109865828 533275073 767941699 976355145 459759289 86412185 590041231 132288405 536811333 266965747 843217147 817699701 144758741 878694015 515897831 165535053 74350493 460783507 480861855 59254953 660960571 935250223 339926609 860356921 2580405 368862457 103419673 217420765 416125303 189583937 340014327 500359571 517565271 861400831 905462995 758593675 173818257 624725201 723699585 891461909 587798731 748297725 105588409 325100719 912763157 449356407 672039963 498435321 919811295 431811793 807398961 506632385 426724875 215104847 349769583 821732599 351640795 926771923 367447337 679444923 47523069 763170289 132815525 406715725 596292743 210667485 639504905 71076633 490125047 197330297 770845033 663145649 191390769 848406603 601141181 658625235 60476289 362663809 810339813 576744543 4397727 335901427 888985003 674842467 557992615 147189281 140825281 213182993 451219231 268711729 324060097 700994499 212437745 412708341 791455529 188806143 364141431 440368353 912978535 711215471 684962155 995568149 853870279 763192039 831184371 688284761 897439879 267037281 877067165 134404125 796217285 134908927 923509087 37744246 254353803 475631375 781776787 959621157 857124043 732370179 853767425 183380113 545984351 973710455 435144661 577293513 408823557 410415149 434532517 836310149 68953705 234652689 356558189 23741219 248465437 133982775 923742869 679869099 750149015 958413273 440451047 85630155 745093691 693391963 520413083 297294301 451285073 457410119 803066701 757510109 371056139 326943825 690398465 400342901 804103299 374058069 787542055 954360561 308218039 463972951 68371089 816473933 462481554 915697023 485110655 331862307 620706279 608667939 168246933 939613119 170595183 895975357 679922401 82011149 65032649 919451121 844391895 560400805 438774911 620816265 645993045 239229895 83012867 443098233 405883297 820992089 428748205 107397087 982178407 219102443 994990271 52455673 784772541 990389173 697615715 584241717 160534559 905151639 557603497 410388519 133604979 921979413 310096525 681641099 641519881 637709921 164280043 372104513 209191569 806680655 88010897 375517525 455034669 413928547 993049647 654068733 734119263 798944193 277225309 57259921 593047317 492955449 898729375 489641623 581924517 543332931 619174233 75830967 32349645 364977659 662598371 26651079 845212849 462110253 18930545 971917507 393652959 136215111 63638565 285023435 10462795 780342877 808638731 258132013 266450001 680551473 669233171 671579993 830254267 972096555 23691797 931547119 561692851 543611481 774135251 571875759 277565901 948015985 672390391 851319683 229348619 108751317 415724305 148741763 539882957 591314569 280546971 334267109 943891683 742298687 279976951 419952911 436522369 789859405 346210923 833917581 590450757 395608499 192774957 253627665 839102517 822310935 396042835 342445431 986850751 762984651 232320991 866275521 271581621 476198851 643390139 811816219 215649877 281114271 889163191 397245142 168250951 508323239 657831053 38971251 629973909 381488843 842644701 708011663 352958647 926739103 309037363 110067961 941273993 888932199 893169661 783885731 536750159 519520263 237716631 941460137 678755513 397349647 625828417 635834957 713524953 902578101 58006821 654119931 184583215 413389531 738187091 239482695 695337631 125415943 499245509 748564715 740121463 566787175 456266587 276956617 604565611 108332501 37936609 185230319 720967321 565027277 682305797 3518865 296985991 468474489 102194531 819020295 481476641 316200357 216292219 774804693 88355773 5239245 831880373 162893991 671608599 954578187 956765797 855736913 24184151 138205227 217275075 398302669 215584007 693578135 375564783 39143231 921923869 942892653 540139253 70741489 258942457 939029861 143317187 596614999 932977245 423094765 565203253 600347149 105623673 152009999 738881033 293604567 201081055 249342085 741574637 23482781 379355535 1188269 897747309 198282357 626913517 583813775 150780423 105515673 295056069 237247707 760072985 260522861 519808335 194495719 499744495 453737341 204354599 873624241 783353271 334188409 377151827 865400547 351910029 4727615 172284477 517431755 283413103 547664595 663964351 759129185 283784523 569339229 622723091 309712193 169170669 605438005 146904033 149431 504792595 10912721 363064115 571750063 76515675 348673239 526539135 797844931 223673935 975768851 996809635 590013999 700314721 879532661 279740133 979158493 545458155 542480413 743231475 517735001 606625579 668110665 132450783 418589149 383562063 762660969 999038247 852611657 942769507 471621133 102153395 443236897 54085989 917688819 71613645 772223894 787385139 299166203 101795885 652803457 119433111 17887027 809514223 672517215 267664707 311275725 9231767 606693719 835904463 301413155 565817365 15320379 642388671 33739451 899943099 726860671 349039737 809262911 526757193 14564163 902737231 831273601 945719267 16506959 840726141 351861119 918328855 215413265 129009441 487498073 383600601 830230691 122545989 77787741 538502281 108776387 572206299 959746301 571491815 165299157 400029883 596474069 255493412 84916461 415959975 739980711 275319255 527107009 824915787 212403295 525618939 527499951 713898803 588724239 29405683 909216445 239506395 932016373 859505551 753185439 272572325 273351027 479602437 184520615 614507993 924910867 886490353 176861911 105806249 249716105 759073367 942696919 617581869 795372977 127627173 386548723 353241191 690932877 36115891 71915303 897807937 117408841 803548345 535181069 728229261 372362553 403881313 445144047 626256897 621566679 97358775 102956477 832821057 992593607 752710703 630853389 958674387 838654419 312052903 211871263 215222829 335808751 502374757 273769945 542257573 877854775 580978195 539395789 95616383 969796591 527647947 183324717 683087839 173581183 898673415 730083039 694384861 23936125 673911983 670006373 909698925 385045411 73902349 650307567 496391281 610631125 271534039 188887383 10273205 152450845 213781035 707278361 643199209 685807025 887284623 644991071 949333157 991960297 240165105 378153975 927587691 379252297 86953379 245923161 847212709 900797567 844112483 146839201 144534435 644643931 386288217 122643099 202766495 641320409 476342289 468509107 523602361 887362845 567569021 787567875 401009149 792705395 438379007 69482311 189173851 17673291 936605531 283345383 374605995 342912067 139071163 144011765 413869743 782655007 308844217 849243429 224685839 810852297 11976527 330135767 295810143 22056275 6800099 69607189 444838935 402257913 123389763 714084235 374656921 968154913 133841059 38571665 438940971 172334929 186424993 246713893 99743491 230544705 17563459 308961009 712794679 69062345 201961461 592158533 745684937 794154991 21509261 110472213 540458401 822259165 437964871 277899265 981884307 286343653 348216011 218223185 710311511 184202885 728407843 573143027 130983053 877522525 512592583 984763521 343996353 919851323 689173649 887624503 998733665 593038097 584067531 594278911 166990281 871343867 958696221 142707815 777647417 610411067 374821281 244543653 279061721 633764669 362868687 458561179 898208189 298920083 714188945 820397263 723261405 765816315 437149235 858790767 473372441 804591445 436310889 450637651 846237755 392960943 235171921 359169787 428292087 533539899 794214769 227333007 765715937 798839637 784488629 87622107 854651775 269557631 361572465 590374747 274454327 260892773 731010661 323979049 614929245 927845339 431789239 235932431 564033321 590074075 161523953 918298237 314205115 22795913 981693705 420759945 14324509 378409263 255888991 953400307 98646339 498898753 880761013 289579553 744419073 368752219 515702073 172789795 238621469 794454591 798215041 648263857 199214909 673680347 129763467 577985577 477454581 586211389 993285563 56539539 716600507 143052197 505426909 466731421 181753075 845727861 902596649 871690145 20710119 344370745 612654395 276246683 800098757 194832033 71124503 691853365 741069223 502603915 129799469 963730877 486168209 30425849 917512015 827728171 927205737 847841305 865873599 839052827 964043521 717539899 267215901 948437721 763987221 676500187 308500857 608600913 224193859 19277725 215152455 958504475 940865557 179457355 85440869 774884727 102900733 404567259 416123929 119128653 986617939 412109925 271649551 328257833 624055899 679168047 406517341 114000709 258987067 72889761 549141375 998332289 823479813 893977171 542527069 27649889 81916597 153698043 514724417 469646871 436020521 905554559 988098275 858768249 60209451 498448107 214473055 327478021 17075821 148795503 269790521 868600551 863347591 981595243 561687391 712690409 846547195 526353503 719941417 604985219 997044787 728806133 556834641 41099993 263070849 373106949 187987709 100618155 440842267 54257285 773414585 396232303 348743973 144386971 239431549 178091577 361794727 38396819 621191589 527409095 644092304 295204831 720091127 143021187 363804097 659893019 913112735 903801721 12329203 95599623 268761651 140363877 231013331 449555091 315757231 656968355 947389169 774029521 597799033 470652985 5994951 940038649 337940831 572064985 40044471 79489907 57236887 174041307 393047305 444955079 323191995 455903803 876737519 567803305 176306899 259682721 748561793 282952949 510438221 914281309 951995585 845945773 874293243 996445799 871170457 786159869 369535005 371980639 746080217 365701687 829919573 190599049 387756091 988818393 549235893 923242455 881713503 588671621 183917999 652215263 493130449 348792837 300448033 474856671 429842433 845803085 452068431 204075715 136823623 217024121 686496233 766656789 122865893 104220619 405141761 886176269 245196805 571177646 559493657 95558029 641338295 702964665 222063633 584861211 405482997 301658275 672132409 655408103 721761951 589566289 541064773 248281029 612369025 882561229 710834515 629441081 860730441 834293323 461188329 297139301 91883411 220427303 101944563 657154845 469012959 666559205 501521351 403588053 831740823 473319981 500772131 574055855 566979851 373151189 189694249 915148401 605187445 534213335 118551403 433294217 260573173 899967063 879962585 317137679 996106391 205655199 110437333 382807747 630955337 402288165 450439457 520848651 634729191 547573889 200157421 410010617 874237489 87496057 283622603 343497793 247042769 787943925 724036539 599060547 105924181 404929803 682353441 813008647 444589371 87497461 235637195 711782717 392679395 944516121 147678445 732586555 437056915 752703485 904410405 835813121 745036159 804170329 416102265 874815797 885857729 858939909 517511253 302678567 591829081 11234823 234711693 516858829 426841647 326422663 522495075 370567625 256964119 122478557 592678007 292373601 740267465 386365311 908885208 38077829 475348197 414967571 338527743 636675017 56804343 958401381 878822339 322787185 211097453 176520039 307504237 971237215 491955873 447714611 579354539 338147367 929862359 883744527 759755151 759808253 804918837 23754853 303607193 873097411 836660431 165352135 90100139 65489151 872913821 389965043 57703191 634051295 76524415 835284937 778819983 182127675 938980927 83884887 83554353 512882835 494597007 540525519 482731137 222788621 7392777 607154317 249457519 519380089 439598637 639867667 98645071 539024463 825504611 448883213 654244317 320213423 823109373 312529485 461016895 73979229 725003063 514381777 881813251 216934347 16233007 644019899 8451613 706818575 452498671 244062293 290957037 874176231 743982697 218358803 61022259 966016957 727954039 238944913 56248355 875482527 169628375 469643409 273801037 221096517 619603509 722065919 183804847 833136909 395973411 582734063 625372593 133501439 644687639 38536345 95603485 11929289 854198645 167349861 496805419 479215045 51659909 632003291 80593015 985011439 685499001 336029873 450784261 430202095 417009259 830691263 290978371 843709975 685566809 552730121 715959561 948129115 318218031 603966651 149183377 710533981 624924095 328728873 502610817 698019683 394630079 867160525 412526055 142635099 961374675 182937418 904282679 234713565 340840835 139217773 138225487 977899817 750315073 269001257 869805173 410632229 264888421 862434967 696709205 353762401 355209777 453827067 858950147 55967765 690397391 766739139 327124481 940198689 377118033 974885759 98877743 801820681 855575981 359698923 952405469 314046717 106091463 153290219 735825089 757164759 926167143 466453131 568631797 903317013 399597629 875682043 295384065 337768925 386978533 645213081 203727059 603906303 526122977 82155241 836900029 970892017 544177559 768638101 251102079 969283797 224672857 114493039 566575421 494174321 365050721 722382707 985271683 813116213 256225233 197560517 605459529 486624565 427745199 695771313 506128619 710197299 488747761 374196137 673008431 919509143 634244205 328673607 759235135 903023215 81045221 40802641 629780917 538349681 815633923 396519089 301819019 783942909 244576599 507647097 757982759 202578717 491460443 54389991 457047383 650906493 117144689 96834139 117003601 412415861 651912161 841537635 567203503 691070981 424655067 932602033 476619385 701756115 958769531 299442719 605388059 605512495 336192449 488563635 707274091 797020433 289508503 353900951 135118759 769939481 144309453 116182559 564981363 54716043 541494813 752857283 813834203 754184791 700671015 765486379 62333015 788446231 365471095 581278751 381474241 994366473 140957309 787907731 598489187 168948499 116712079 595793057 524187621 965390277 328188147 781857937 919132769 369927509 478267345 678780873 51770193 573255845 912010041 652334557 525128859 406503739 175447077 118848395 709594509 957833285 575588725 715625397 788355035 867488669 834591989 929301093 783110819 375946431 541843027 207192015 306614123 555915733 322167851 788378959 469230367 930486955 810008829 821950567 85707541 559075771 74254897 31907267 454618121 401781029 23437595 924318263 919138081 989319085 285518323 878970301 648443117 884905925 996414169 249162873 816504413 168157315 370975961 264022453 131799507 474301095 541463265 244755687 829080593 789626265 610587853 817020583 559318853 487064677 817199707 170201017 627986439 844129989 926392889 699391499 171053647 693112855 190666997 835107755 766814855 408811619 368890887 246596571 302464635 619351897 312687317 123214841 41898079 905802061 481779107 304089233 816588753 71565891 794282661 263051353 318370517 717133535 232320757 227277609 560466139 433813873 957281169 604391173 261787063 168972527 642965095 887005979 128310437 326754811 248476483 518020283 106531659 465971675 375906531 730031713 364000439 657487741 887744997 430635697 368781407 691525243 343474131 695516535 863401757 508532753 575710239 582268069 464078905 9767 157622051 858377557 789128799 183850575 373092127 392755405 293933733 659414717 229666106 710745461 595481993 194276691 205541513 143575525 440394735 780697749 385638661 114168787 645320227 140529333 598390925 5096741 492704989 512959625 963824619 95372007 691054135 704308369 423846865 979285579 51941051 704155635 798921687 192493997 265486419 533575041 12882817 33190285 456267603 160151725 790914869 937341851 750364027 439862941 469472583 246999465 771471087 656372499 202786029 109872815 88802621 93499775 995915595 843353045 514882649 712570363 63686761 52376931 628388257 462871619 578149945 446600141 674191579 310838465 144044435 229456557 14689587 271862147 254120763 634851273 76181567 51889985 488477911 560860171 619860219 959058009 526220281 846620295 572612815 672416721 823249691 962962295 256471173 361287773 102239903 848972093 395643221 570417999 360725965 489492327 230099417 52540329 431035863 513534887 396158233 985927443 842115797 257257689 600078723 527691481 203709643 336787967 96524777 228493557 452778141 831536455 907146891 472383239 878564643 16631551 102082061 757973331 9938449 347613863 51851901 554981835 421191947 745119201 556738127 508756741 960700057 862030711 64117601 312458561 729435947 53367391 940838391 65149285 715834397 637271729 428331969 271771137 360959153 941712561 506459859 266937421 941588237 817310667 53821097 882489639 643292483 469780371 139166505 686819863 789359181 202527427 668663713 348905037 258307851 848412223 944928711 38435743 90405193 933703185 176289461 192012171 442489527 515049071 863199731 600834107 904617453 733542577 227569773 453285245 238378349 244256861 295090041 129955783 930764961 549269019 655761877 566807867 119672537 868921025 856600229 87787679 379360847 363121225 701653109 688158817 568189733 72085207 577941565 932483993 970439777 283306423 539997273 146526473 35402489 681243739 594938765 885447699 559754947 248773469 604674569 601821131 233753473 832559489 497239135 586392549 833638363 202350261 783826063 276433857 646955109 287960841 510990079 2051945 821292183 572428219 37157751 82645127 755787219 447671339 922605107 50769271 246538847 330279655 918855883 558302775 998490225 18426015 408786247 140817261 86083871 764637491 14801171 232589675 673057131 419535523 669848581 28328739 111947069 424557081 601554265 878008123 243375209 56108781 755428023 283415285 431402919 408877461 903338281 826660673 775039895 721113785 263948327 285512121 44332485 241181217 457036939 60900761 75847071 745569215 313522589 762378443 328548225 535147187 287683083 340785885 730727851 742992445 967883495 247271429 94643525 804210889 587337905 222475301 564842851 957611755 692668493 245088707 702361597 27830363 190120969 184465165 876819187 972977409 393986713 705631963 867985169 607557605 331970587 820357037 120988933 25462843 39371539 926173355 372794475 339389023 124700017 624814753 101677761 586250451 489949577 862304009 678320245 519737667 548365591 497986307 179420627 235671425 815951937 919269971 42979865 692234379 178855063 335377515 231228005 793331075 628882441 731219297 256939203 809799859 144599543 220443893 990772513 781228687 699806759 772494733 661203545 484000947 338635718 641114425 495556399 99486947 14661737 587680945 337047369 169673735 764111629 386093651 820362299 231484725 211925269 605395751 971416699 910399655 13773139 373449691 433295981 655812801 38575865 579493321 704755035 145129229 482589859 243303917 993097843 739669823 650415963 775775217 615742415 275080243 899741579 758909219 93625203 338876141 684911111 648040313 452784709 709000085 173239055 477031061 349941017 340846209 301395271 48379581 74823077 510160171 322307261 991353311 205732237 157902135 964389349 468512915 373981529 484027249 639309983 313489689 750701435 926324937 549609773 657096793 110721869 102001503 814518077 943243999 516351501 660236145 577302245 469001701 354458087 429778543 103122849 917314635 741353197 470306793 334822745 196859285 660813333 593768603 973985111 289021173 745839683 887278441 407439699 771447873 127700799 225264735 718774375 330910455 416537275 318952879 615500829 813094211 458399055 119319731 782801245 108639471 770801533 56323825 672968575 900459123 19272879 609163027 667635521 19954673 262467127 245060587 660633031 213616175 479113803 42323829 211114911 349967261 545759503 313518039 327208893 623442767 301638027 424774745 693272703 323839497 751815857 904170093 919821483 248665391 961301081 719565491 95857773 365531599 104642629 230794731 798798425 748397989 400113439 879900161 199309425 255844875 957283191 965547271 28790549 521258253 182889159 193155131 579750933 475056727 502276721 130795260 890138535 643847233 756794557 987790299 598691685 990454986 689073117 958259079 163322199 17037981 135823593 825283549 984596713 882521091 136418019 846007007 568124403 327800311 488720309 46159289 704361901 705193241 62891311 375147455 503270849 243793069 849433611 742264681 680439099 84538277 844631275 932321119 257831821 814214551 202328405 860094825 22410649 4159425 228214975 466556795 68218019 492017165 266679679 443168433 15446359 891453451 379936727 456276045 111954121 383438829 962776817 695392445 854666105 594544023 608422877 244996239 855126091 812119439 581315221 912230275 166347149 15877 95467769 793516411 765119989 418677709 167734229 950799745 867469725 843443563 283122137 793240267 105385229 846328833 771203741 13342641 571120689 150766179 353460131 895496375 409524063 364384261 938436947 994850697 155340371 450847753 469257217 393850363 711178549 915081781 127370469 933419271 375631247 703206903 489165087 423680465 27951449 223559527 995224251 90386085 452375535 99331141 566531495 688524275 907896085 677580535 230143167 836962649 166043129 989732751 913059523 462568091 588376627 614159553 117855581 793075363 523641021 370010349 121741853 943289475 300799229 107087131 835787131 333633655 599813567 132533243 971062749 281859299 124470845 217678563 31828615 896242515 55349007 251903187 594534575 762627447 996090171 482704753 165040233 414333999 914175281 834187277 193096635 357220473 308253637 274345629 391085965 524868229 279695155 107698371 804965549 274318499 463896099 55633093 811693785 39384655 976471199 639380627 698018223 776716079 179250973 831123137 103257019 769870857 960791421 169662353 925172075 259761109 570161153 305895403 99149851 919831725 798013527 368260189 159501577 23332051 837002391 606403101 894119011 214254001 252950585 769116685 33231925 996020447 86156071 760834993 62162301 773991699 206843053 224881211 15657753 43749173 676039295 866589571 813565651 441849677 66796985 127416581 749854303 502856591 708558309 473373417 843415633 132962645 745666029 541583615 980519727 228915749 916837157 224003007 50972255 911258281 732857421 581013833 359817525 871145397 828635275 685462113 194642919 879571779 598261865 235850617 90601113 243691381 951611613 518086053 681256019 810258841 661371461 713583529 563109383 738082081 388644199 809282281 297065359 943411881 418368623 308911221 250377385 448602867 791156211 394647557 311154691 890689515 358059505 739353335 370926121 133338533 721781963 270051155 320607383 335199067 801962067 143303367 176035503 190872177 778766009 999772075 997863099 824293233 847950239 938452481 954073831 389424911 184652553 734091883 745637459 380633895 958836833 179943741 247324155 401008059 617323393 514247531 863030731 750266873 173755297 833631127 797134741 354602287 736245867 683890437 783222799 309534175 57356523 978067623 964655069 491948709 240115861 498384917 713656967 643261779 743732807 631120011 67132799 43026390 489303367 125893617 419329821 729921871 98468929 637487063 389620131 102488319 306703435 225861237 529178683 72807247 183126497 572804523 426894839 742323413 756840427 753211389 252914381 448343883 506841267 525391259 55192225 692787349 391536879 730663775 358608443 411747263 224887999 40044999 860715595 561058811 941513381 422704121 101675631 960013731 166020241 247973573 54274083 245727035 557504213 676126113 90777555 770499697 443862831 340389807 621131215 994684693 492002247 759487157 613820241 47191077 161674281 155558945 694334331 138796737 714731593 593277453 164312149 766293301 122763141 867233333 450444239 958493687 208706977 52606723 820446917 611977889 542494157 459559555 191811575 932918515 691799453 202844017 845202703 127919069 58894861 130386471 173403549 180714095 418514563 287170993 70517275 958127847 307158477 348110523 633119467 990141861 321521951 225830045 527572309 589475895 501784345 59825239 467345033 993321551 291897021 702986639 742878883 965609673 954239609 700596117 584317347 512619175 871252771 791482977 935550579 626893843 534128377 321407891 306873315 842730341 581625501 84372335 912733613 894052885 96731681 998800869 418736499 33875397 787240437 985262991 622844347 390948163 714073083 174779563 900553467 515763073 10634869 556627487 145858697 617667739 395147027 411822715 951609255 965244115 323117543 544616693 552395901 499001237 739051121 973581935 932480287 698648181 819056789 28086895 643162757 683979819 480806817 245429795 212644239 507232159 822327625 160285541 802555913 49461465 178677421 848999345 545904033 549894669 398469453 396140335 886021363 788975767 167574043 961068977 198117503 10165755 415255659 117338027 592928685 982476001 533827323 232667455 897193937 414811679 250472685 996923185 333348643 57988015 526363857 727487475 549676483 161932211 89772957 428144795 102869181 661215099 944782763 185991657 997490943 67988085 236099013 451083077 416365669 452542271 678899219 406975419 589586607 777758877 184636205 124321029 739194501 41636983 580161297 587790977 732708475 734315235 323744803 215384631 657758215 103448347 707653679 229102551 928090255 485490307 72531821 797127093 853109847 805534629 500181881 955745749 699130259 877203767 646900313 564766939 15877981 330900241 950639993 263952151 961678005 450081593 58641069 158256511 351327619 404762839 938265911 442494645 851241883 115156801 121539255 175685119 53846963 47848691 527401533 968813643 8862319 906224269 782512445 742753587 501216601 482712539 98264215 149211635 402338271 921487571 10907021 517718643 337955931 583148173 614189261 475007557 73528593 142028366 576370541 517488541 704572199 24083587 728870377 795476061 287318447 145107387 609426217 634343177 854660261 246827445 985254777 802325971 364518375 265848913 741584779 212659089 322586175 737299613 163332993 79649475 989722719 317119945 880026079 796471951 379709921 804415029 30956175 668112837 306871875 770081889 719197163 641427933 801175025 424305657 768465325 71958519 341909821 270242511 22920187 932012503 797474141 715714529 450270819 455043309 888424821 721985615 553762009 700410195 976162701 67501159 927356603 188392645 434292119 359026331 152338383 287931309 119877739 720701063 806622017 397503513 672795853 286291949 441039015 19295937 628494947 791701945 961063165 40652291 493810879 281227005 93613995 490519781 167559771 669222903 99238779 952895513 264332697 353310985 211034531 990061815 773091265 240388029 105533123 724081275 849143301 921202631 87618525 916495951 177476733 969309699 923331425 851047871 738047789 406322035 11851297 426354885 121526011 2062403 956306013 639099649 164635833 920104135 467232441 332765367 977211937 510369401 827444033 552371673 166561493 749642491 184958061 43193597 903194973 708205341 886754841 518299235 869773865 355459021 399407755 668035825 281899671 873254185 633887599 880665911 500124643 191116147 234588377 383422573 39292985 670620185 638867531 519734641 670245289 258126505 780023205 960587723 139639597 262599653 879796791 45705387 487296423 288362153 950633397 350238695 24202973 563401479 503731519 497876221 673643653 391401773 913807959 640093719 909591349 842637433 341771755 900730115 588963183 127771247 949250897 601323575 709228701 749735863 225865031 273243093 545550863 741849383 857777391 544164515 46896639 749741243 799873243 369446159 437356175 856169619 431120381 169458737 886242501 428267003 115888307 567204041 400763799 346713705 259289025 651895871 34317019 589250165 645968727 908208545 807280211 819657957 551459335 840193189 662210217 589986723 18358225 696224427 525181037 551647937 79656216 918256059 234290969 942537595 740469677 917444485 435727373 832044853 587695041 787894367 412472725 287334011 930259701 271169097 144019423 255206911 646337865 786847209 834366983 694882203 523485231 179220879 873108237 377942357 226253691 664578099 567081177 124772951 878700651 565322355 428981567 44938227 838421153 124432279 158385399 54248103 135132975 82258575 608347299 821051667 448172933 117953265 404029897 457468165 533616773 39332347 800912349 396790383 597316977 82995095 293081913 470082157 831555319 753473875 793204253 252411967 174980655 664604005 716832177 464989269 489745299 653602223 743779081 698603841 436068361 325088439 661336605 36037821 636038621 897751723 476680909 247435947 924349895 371438691 78928357 31290905 163104227 67007583 153374739 87759929 354324663 413287367 946108659 980735847 110219311 436328807 791479811 39975461 320648865 158623929 591334321 61655583 914423753 363976413 736952395 951119145 71615949 436937623 368956681 960900669 397431355 398504537 947909391 376752253 160899849 906534713 208159335 194959417 68493713 189427191 6947583 368659423 82383771 649366265 921229745 355168013 387028051 774642767 274469697 69342085 224166737 613568689 715308373 280387635 64059789 807959165 187939201 952169003 827116657 374638779 124926013 479885223 881835719 204285465 725109225 202423051 544735175 199195633 435558863 144031713 503535629 123796799 914755873 55780319 154672287 617141677 655493111 353340893 805777895 531278985 379822677 377340127 229889215 521439177 199970081 396208915 347439457 966649103 264698671 289054921 615393907 353789601 579887157 245181821 454146051 748682861 405007319 164479187 511284357 240901899 882098845 730858901 846853079 433839291 774066937 407934649 477454399 14438501 734971461 602540631 904545129 77038741 100551103 553918645 512635755 176382597 740817299 694691131 220465091 721282325 192840659 843881343 708674642 745577417 263794037 779426365 729569901 713832403 636875613 15918165 105510337 710119689 126217555 188530643 493877617 409985769 289943305 899556589 603241727 327405981 563690263 57234685 932884315 407791861 315889665 458143619 880336343 752142179 720858413 539068719 215164723 463444235 512027629 848686801 922546835 898291379 905645691 655653479 994761349 629950667 25353977 254008849 817426941 442359399 718619759 30439197 938579289 565727307 174673359 96583421 887018333 603209177 952102641 693912651 629419065 455068197 773952407 665184717 685482113 629016805 306040939 560870253 837034033 574851957 646575101 165633343 696250289 824154593 706792904 765502587 517487819 597498325 783763243 776654473 763177909 479005609 851957873 273781233 875397647 96577373 187533771 707955047 740107227 160693657 474480721 471387333 551978119 234855593 231045381 349242897 564506601 82333575 270082001 167224437 776040255 330139859 509541509 251759429 47675949 299234257 99976155 484108027 867460031 959016307 750519925 140740665 730548589 225838927 287822811 27585231 158342163 696998051 937092477 834171051 894849269 642362201 590085559 276032747 510510787 796327679 146887881 112251089 269670545 77599693 230602205 590786249 705435355 272975265 826294787 616025959 831400583 878998787 872889141 764461157 16890851 331938339 242519381 229661607 850563491 486802901 272571689 908132919 836645861 269759643 660648807 558748489 259567407 543045021 989395365 92080441 599862125 852122537 613929829 987656843 829671669 439568437 830681871 118644967 559037317 181221475 746402039 787081763 696698689 531810297 566240341 622874937 589909941 406956645 377949259 514680653 202806489 439644095 416116959 6925993 511880711 441255367 893981703 674009027 632474889 194711779 675224215 465376819 544084743 245589797 510840149 336287677 480058265 600076609 738773481 249816911 982355389 583758743 708041699 740183545 521546455 592104239 138162109 23350775 582295989 513529529 983012311 918276013 816630667 607301515 910252923 714047655 242831095 453742755 254689757 814269591 117335295 533137837 178170129 376318551 127228943 602157555 522202397 134556909 555366141 81659757 149057769 715045505 579745285 303531453 259888451 442845545 613767629 653316905 143239145 153935137 614791269 609279393 884613753 607309129 306604605 288801209 233600895 747619503 794155319 138038195 389450089 313296965 446619029 862795895 299083667 821101605 37210885 756528275 413745467 585018517 568387997 460522813 199221391 406223103 285081307 225653591 434119579 354062069 874790051 712984677 984726877 981474101 837840961 202226073 626051763 526758047 893923181 637325003 741724521 478494017 211646787 536398199 147222829 924420429 308559689 64601029 934651545 235427359 437308009 392882565 879082545 707959097 602754045 197843247 344283483 34327367 749616831 358975203 511947627 589130523 639815125 224452453 405116567 285723315 819144141 831590693 79392003 241974831 542297501 20577085 982210487 366764255 8518047 675143787 547598247 398701105 8960667 150807061 758375079 147166913 891367613 954443083 117440635 672667479 251496091 162550213 471874511 848847833 101633585 777144545 641885999 278168667 621653991 972612773 168620057 875452443 155819399 702593221 182246379 774030459 148071753 690912659 614396143 527815685 392974025 738312467 273688407 996823917 817565195 861728743 766868539 837175951 862999679 271627875 401114269 326649198 610725879 603332987 366441063 505717557 714241459 557544913 949069675 812278071 431209815 763750569 899422815 882877423 732857329 522207477 829432807 849025025 96454389 774803021 754576267 780746039 434295105 560997355 440404157 976888711 651838491 209475005 151869909 105550857 713088047 722011469 558566167 847470593 258250387 350845653 536201641 346548189 576937923 352342579 921199261 770907693 431823013 824052209 177246701 549498541 775477641 78493753 979768187 96183617 532975391 143034343 575156239 31535347 867407241 280229241 57220699 504317177 813202249 58720789 964030967 860140971 836232269 608081035 926958181 873070991 276488939 101252177 684263951 328939085 750983905 20137609 468772677 487704509 417647187 469249273 833870145 950799061 565848783 474368783 997844773 976592059 968806471 439336677 200629497 111470523 133322781 719861815 527094445 510545479 238775829 677352815 817996575 811389433 780888411 739313305 833126667 672126103 270252419 786249841 768789531 423204107 462565263 143672145 982304229 109544551 240810719 159339589 378303197 341891815 309550659 916046329 71472485 20456689 451914991 92175301 507688137 583318541 472033665 472607401 216795193 334458349 779343615 166611019 464929229 594427761 365609943 267310587 45669767 825130904 161589467 107898801 42957391 751788689 837453897 43195147 218712313 681790123 939022025 332149843 475302205 50923877 807105125 129688947 412750013 656424033 622500757 901413639 957935615 566813287 461621301 512993101 129666937 619358321 251026057 263906091 315593857 483230355 35409985 648704305 986562649 646047509 306981743 887557269 623722793 159840609 544052627 13998137 43989253 586372875 940615312 358640547 948429029 245951693 264086455 556901377 604979115 368387467 84220089 782519085 461262109 45272399 791462581 820242083 404544751 984525901 162476337 623217803 15894971 588911585 603200793 22023863 323950081 211075981 271101891 262948251 313635115 770717693 498817515 899588441 45090951 536672773 955047097 871774389 648430163 969051039 941563575 562274337 744721583 905633519 309879515 391502515 367338145 694096703 283707781 902626091 214811933 583538691 556556151 315413743 248359421 507602905 244292321 407708945 342542593 261782911 956059221 784922949 217798353 568608995 709372883 540107499 633583105 268660249 876330429 186113547 809121801 293056603 996336613 759658069 299082313 237803789 983421053 419007517 288938763 792384699 123866403 706895207 433010305 114481685 168686045 189100759 799079365 479586043 405650453 257047741 276086743 342326123 602341285 114971151 29094047 333981845 618069959 743519087 669581297 522837449 233339939 765618723 793139331 513565571 50038723 960271129 5519609 478492775 593191965 246263275 83161309 694706241 963625487 685250517 697716125 297813249 897619679 553825471 636705683 402933703 102894393 872109627 389438211 764960723 930110005 963203709 241101587 735684495 846573131 85966183 402365655 594675089 634091621 872204669 237827141 857335189 861553869 726157553 542346561 657327995 145718843 338589849 975473811 182908497 190599371 135040245 936557805 118896969 233154305 658417451 120983529 926365373 739176653 592819723 779224325 795465523 931035265 773812493 404082349 236267093 370712541 923010383 957866291 550649845 546547461 284823705 762711501 464291089 645721479 500290139 956098463 802348747 849355607 612140715 470404785 986091371 991096789 964120903 223983861 663480681 618451137 744203929 743095621 801538143 560961357 278381743 398677599 588523023 356391693 384654913 612398063 564023653 972496639 477424555 755620741 295425909 730844805 986297849 103339933 236630135 732816495 191040983 481777299 937144531 147744755 185021087 625334709 793763345 932294573 461707085 205751859 841709029 37414049 383534985 750288423 894562091 19524413 575692965 384968079 315906277 401325657 383101589 793633623 519784255 436053037 322875131 18234959 307298957 621198691 75209243 171579953 689161289 932443143 160692199 263680159 149408791 322124941 37491445 372489249 584784577 851160787 733233029 645159721 313093435 176052509 14478973 640956175 601555873 103214875 458006637 934293781 297678391 872377569 473047181 20046181 907224165 310290411 32410555 369447951 67241409 719854625 20691327 776380429 948151557 438274253 328425737 10837569 356643093 555805605 971306543 561296499 471816699 789454279 870991983 987352659 549174765 398837433 97353203 255684733 908363843 899912553 514435209 453243761 892383361 72706345 763593383 628981913 539726165 24386231 128561263 239926085 634678159 505660731 963296423 594579375 494100267 153668417 452295101 11302905 538629709 206862267 687784137 300581163 489420353 461419275 109712523 577716789 240861303 613590517 840451691 483218163 964005263 452946595 29458293 19923237 69324359 257047471 355980133 329117045 551516303 108715795 845419925 929620083 305490039 241098549 162593807 954930073 129571645 838655971 791136387 467016263 302178369 901849937 141259079 261244105 339088911 619051293 856492635 273500493 860647773 655780173 506318949 993889519 503142405 218999117 911449525 565442735 987217927 169249523 808237891 106979447 14661779 193735547 67578285 760500245 327607547 458739341 206771771 154822215 729768887 141207859 444666845 556295597 51221359 839511781 845222953 449610189 865809385 780114044 106698333 92474397 758416669 2780485 347472995 20902641 731066405 834532837 972254665 296766607 868083779 296274805 876999877 159345695 640071139 918488179 301315385 999982767 179074967 858653123 628941739 685386813 262819101 116897715 197390409 19985063 323489367 913731319 495138283 378440377 244174927 52559789 564275985 136976673 394932281 239507547 984094435 558055291 931172463 737613547 166367789 137637191 523446649 916104631 861299305 678907629 672890109 789667961 745201847 264062145 723835599 686411097 128790747 859753977 40791021 750689249 717990983 305286585 521302393 106732039 465610513 349761035 286239677 574223147 847655673 530008797 757329197 820880143 286409829 59680523 362883429 300101345 799981413 712119123 359006247 302650935 681257137 401942883 424795745 871980047 668340903 479901383 680828195 558192077 388068431 597966333 617350313 104809533 852467287 300764003 516718421 942529175 892356633 567749187 556215991 795508599 658265233 111209935 221704829 769777633 865085289 217141281 641054085 889664581 799401455 893090103 262702803 70135157 105274905 357830141 611358351 403184561 125134217 79856453 247964431 211461023 880936069 273382597 101154765 32456009 955193595 717283361 891805805 10909477 779512707 821351393 67306427 838631185 228680285 61416055 271106727 677496659 473016433 379486525 339546447 165889943 342213195 917452657 948924407 962796531 527110949 360367423 861472777 129504739 219931101 882726073 112070935 86941519 682541053 287595733 213177821 742647681 401087665 927571063 26159934 870112305 862569423 694810471 477741385 543195259 580629211 638685527 534981677 293255139 336053753 761099487 153375557 218498903 523711225 476357763 893886999 955249711 272639059 856703401 394257739 208106789 823919653 530022819 154207161 790971231 626166583 879447211 458511191 617598825 286685689 976252643 145256013 900421691 584899455 543745363 748447201 882674737 261466253 154796781 628905355 204074513 943769733 21134729 412793829 113854983 368892027 126890217 562350001 234999977 698386469 97193911 770733787 340663283 289005279 14397061 747043189 998936139 313650869 788548809 734459069 116220287 871782227 817425893 898484243 757618117 340632337 994000933 847677957 441145527 365067759 178578873 45175621 352868445 300618389 151479225 43592111 874399269 349140815 634464039 92599109 42478561 357587223 766187501 660213555 269667537 213790861 607313883 121527499 914613399 522934005 983843755 943419531 178415173 881602881 54452223 387301653 547145037 591887109 75621471 499061811 269957261 956768645 484057659 49781721 370637129 847482533 366838767 701244707 765722673 953145333 814774203 502073683 289919575 349117357 251297993 391909589 88853563 680225195 979536937 173746237 295347907 874689143 946301909 330731333 284348473 448887871 430588847 584486353 324875091 559989212 835292285 685275371 992676911 493160909 613875445 454618569 834233683 631492921 579621037 504026819 134408875 995362031 454076199 964409437 396257421 652254309 703569099 639984195 852214967 606505149 195082733 492940873 532343115 395637691 530035653 846270825 754188763 343762131 366935413 801593543 514410583 664164887 40046851 588009647 554193953 557679433 696656997 154366865 766377211 839485647 274958961 993315595 844849685 164954299 873627113 123519713 125036801 436448193 117489269 577142267 951589567 184681537 842867625 847793007 432703667 352111939 883131389 503387001 519054763 47486327 381650897 705056889 625995483 173594163 85294705 181135355 895397601 582899317 920938251 208469429 315535043 144677863 42833339 358113407 78811373 945281495 639082623 930446687 356045363 177048125 404549 488265855 547934423 74780343 112889819 852578353 832421241 161945485 848723705 659158001 170359849 962125997 930399045 49992037 755156317 393933489 214035267 619898195 680306415 652399061 552602471 998071987 644912935 394118915 611877131 687922591 502002611 843150025 823326575 148474967 395666597 552882781 473621691 653759563 578008957 61441697 864611587 636333325 529047581 340740377 336830781 395301717 861538775 624120567 325121613 410987531 929825373 469999121 302256125 283313461 111450829 875369959 747459067 458629899 633425579 732082337 264006369 623284455 701777127 986840587 258488115 768754251 719273685 974177439 631171671 274721763 105196849 627093115 935462817 196585091 471677217 461959273 224984903 177484323 337191219 824461523 973386093 347949291 920518235 583452885 277329693 285990947 19753719 287895341 220991813 675265855 204878285 608091457 566612927 560452315 494406923 598493217 757832783 415996857 140877123 219812229 729516443 336089029 697090675 450694859 719591988 389979923 714708739 594598393 49755033 626095325 642888893 451359939 736463141 917858437 446751705 974518651 225760547 918544539 105041395 496032803 169391557 676959693 744514319 192885091 559124515 783411193 485414555 188094345 486158657 186216225 55074927 492796299 29567749 270597745 755225541 319563275 122656577 776531773 329429571 813163085 6793391 615747583 396565751 391391555 711294449 427537755 17347413 998962819 379541135 848767773 490216507 991058765 79122427 761658677 275440879 33617289 132371597 85528769 143637531 968622275 304317065 528767237 774519001 110865717 324156693 381737065 195162533 828186301 65258819 307751811 867258721 283402211 294670093 734515725 708320349 591197399 97164373 119253483 277555023 212188271 184735203 145065513 169989713 729285931 490060905 388996087 829987307 20593713 636375935 562924981 262144523 208815185 297502375 515238369 697437443 319710977 810178635 178985515 22368915 550369123 854714043 653264995 600056543 483960637 633439025 667859332 131231603 449147389 426897103 749637815 597184071 603958717 728024989 474616895 683431607 836284985 32245645 287255701 186826889 671569883 350983031 547659601 113640167 378956463 851299869 382841913 710490987 824793969 825170729 881217079 945136911 537979515 759901739 98047581 243689785 322239705 416552861 612672233 219297463 837877047 454616543 158686267 320085695 872637677 715803709 687502817 667258347 969443579 39273447 504871309 235422531 681509639 62637301 738864665 360610611 353899617 218252137 722853003 386421393 403618049 82207787 970083597 879935899 702201477 472524815 848842739 238392563 215344439 52572365 622929077 872365739 682732801 467396615 947208955 782550837 801505407 897710149 26032013 353652333 622398447 67417079 349572447 498015389 324375093 274692217 97655437 539453292 187064805 955770635 113490777 491461879 108820021 864746965 143537455 884018357 803686403 490928363 122430369 824269965 936583895 676889925 966495085 89892301 369385951 340839877 794543477 260293161 581199603 859826737 337967043 735457983 596048277 238773823 855974539 778493717 862179815 703732355 795381033 743438871 976588221 541791107 877203743 806058779 748772747 401341607 751722267 160328413 94129011 994436927 251085291 29085315 675330105 320482179 937190287 968183965 448807503 162264473 258635817 137477659 897709259 906481285 615462661 255034719 51701357 656716603 437288851 253227819 419221659 501046677 213089393 984211373 386259559 952503123 785853537 788050301 631522693 100537117 738445136 550803603 593854293 53329287 930515281 353899353 195055071 273945609 12416413 244161435 963541713 68136963 671637401 436725645 953203845 532870591 509903311 256888525 35428089 622513009 194131701 168140639 619206867 259319341 905728227 6417587 422180451 478962937 197939615 141216413 546723487 236234171 296100433 451792473 846985257 454974023 815837775 602963853 872101447 156833107 676384275 990990663 137617895 803107205 140943427 284616957 35507873 636474465 389360805 39275913 49727927 80902491 922960177 42247219 591150347 843351243 483230975 328632743 146508849 772127989 871349589 176846075 386056541 631813887 758940317 45259437 495503473 465462269 439905641 368403359 242696689 270526437 196914037 625250851 948970511 279930523 354411687 61755627 57449377 121346793 593109509 926008851 275383079 414599549 187772615 431889957 884897735 155391473 135413575 336387849 140806225 873715655 301541383 495878937 289970749 666075499 99217585 996943887 235374249 173375273 609213725 668189201 575306077 757063741 889741377 557376685 19421129 49011657 12554565 981863895 436983811 199020501 449920113 546129645 358258633 440641619 326419001 496141749 976582021 967984157 981252665 27509083 380337477 457944561 956409395 877142389 393745345 447880059 186219795 915635967 803685205 41421901 522294763 973441377 294129933 632324829 2884345 783623013 968952725 597117327 742211741 308125251 897752135 92214699 83345511 558027925 526602271 995784289 464174597 952073571 487531717 378650575 996047957 229900059 339805067 573182961 123060825 672057487 756083813 230028211 36265533 291807743 520806133 861229029 983631445 635520015 821704063 6348865 582934555 644073677 164099061 137494633 677598001 652993197 456771309 305613541 818991717 309054861 630016167 773180967 287728811 458163121 976275977 441778567 658061339 469510857 224374691 144899655 960687353 31526121 476078253 56346769 290771633 766743949 718606341 104908917 994495191 322154651 355222835 105356525 429952037 434807137 623876967 707626203 898520447 266836885 697435253 50288135 748444401 737384017 917219297 914690593 941267115 138408733 7709647 335868869 297795083 689451237 327581199 645897077 409718933 698651903 19818263 924282005 864264433 161551401 414281993 669854331 227180533 437623175 816706219 301035359 672070045 837180325 876629611 400427363 837582345 694475643 455593825 734395791 179954309 263947109 21679693 440504531 479885447 19077671 667587735 881832715 603925671 634704369 632368459 149145591 975335339 930115925 418695717 462112321 536038779 927396947 477363839 729862265 93073967 684523345 138804323 254304281 510394621 817430039 286300033 72136833 688274251 536267489 832231471 126392317 89659301 264028487 554369645 501916859 242902205 242170705 909201121 182681047 232904301 583290475 97579995 448133201 394373307 46650987 565887571 591097875 835278033 292008589 121550055 869793517 329592833 547216505 867276511 393828247 214837961 49931577 539260203 543387831 294545865 553872963 582185311 87977937 123040463 758243447 675432639 758498907 222032333 328326423 268828463 771807913 63606237 881610963 939311679 632469761 19935813 513198269 974469157 924295307 533297007 440553301 185305795 487467095 637100527 703855999 375380637 30543965 319134589 292255625 710631 355300483 837295105 590124583 483549555 375445901 596027523 674137463 818606019 761649711 40584247 835615229 122920957 751348739 528533369 653636521 578752243 814121609 58032843 790993103 753322521 246712873 378918873 494319403 192542353 488128311 664747639 335986915 546805279 164899561 535334303 411299207 913186357 563500133 385289843 866710279 688116969 803782063 596758337 97860291 643714553 463438011 443376253 338907777 492157905 501159523 127898559 127143279 772905595 244748645 622578379 176362271 36524721 994578287 151413901 739796113 971866833 185899533 239447065 824997671 88587747 921954749 379972009 368478131 100644501 482159325 459027361 334309223 460797505 105253047 656184715 206152927 107893731 187961981 306946845 630401829 979831589 598142025 750552367 893671587 491903317 122392089 462549701 184617517 108111977 387805915 715563531 346146307 138489859 457402715 852158805 400369865 236021863 627980629 247341599 164517517 386003337 797703275 64024073 267636163 759017979 188134695 880845279 26615883 481348095 31737335 296402583 148220007 665393787 753293877 97689161 94056901 489031169 268620067 415886649 249034875 991136197 966504173 53510869 427354629 582695079 55400863 243590829 344724043 905907761 437479477 236623229 574247063 528438669 805144977 224548907 387506337 204462231 993174907 113102525 980718979 397486285 753716645 998258027 275465413 813882453 392383657 125516173 17038677 660409599 145210629 935693481 451548805 984619843 582737445 110716777 157715221 912582975 92032857 652487839 672195625 578316219 618892507 425227337 43189839 260096295 200328909 414928007 725239931 309644951 809561655 361276583 982719755 949132495 26821643 497717787 513635013 187333425 263388705 876899709 757234133 192904401 510209085 777346963 53912783 951000931 401325827 27880519 693274549 32031305 110208267 82532267 866175719 282907017 469055433 435599613 91857973 460497104 125233825 326486941 595871189 650609273 405883865 124688409 745564513 326470785 67640231 479615779 286018785 346267025 134661921 834543255 843873217 414325749 976343881 52255351 259406809 242065063 247445513 556629487 169827425 973303365 338771249 768778835 375692547 850707481 3833723 79466525 91486411 837411085 31631753 955954671 542118699 685560509 292759779 751490967 928008453 956671079 257972985 915038473 533228957 239497713 685905449 994880347 135881117 903062251 715285679 945092567 353246239 278964109 748133813 901575395 383000477 306302389 863311439 455718677 280849661 317408747 348033653 512449575 209174157 259156061 517282825 23830523 425086211 173710309 746231251 170765217 488718457 89381119 704002179 745286215 979116918 296512725 913763765 457474123 641645545 754370613 258309865 428019759 752612389 905051285 743154313 156204961 184263143 858475287 722546917 861588593 594275159 648474495 497452853 599025563 862156287 884700991 596647071 681961539 721946071 116540015 288537897 295540403 596284475 726357195 467973827 796567393 32701167 88697019 803764297 280764389 536728865 33797711 958308987 718484483 868663401 9314367 142078721 614015657 264677825 357275883 416897903 79064807 573734031 940592471 311663677 660088057 345032607 696922165 779325898 382913347 355430443 137480923 202029925 692512593 851654859 29212231 139417145 433833683 785611397 948381731 176101987 262499497 511192521 82634173 161356771 733119953 347597163 807795469 996501921 205644411 899486119 307962289 496275569 599380727 412554533 127469553 161584651 23802051 962577903 832776635 370899983 137430911 509146747 710613417 801721607 312902649 159871145 975435767 782403429 555927329 642881723 181727119 746557059 955151639 816547935 429603583 160126369 293372443 948612525 294067581 770201831 439101849 659556381 855980523 508847209 350269731 633580953 841745869 224762653 715925879 188778349 967702613 600041 601955189 230772555 621687641 244790417 577027371 990779989 459743321 201254089 749860043 383659535 229503869 532975403 543990193 275318117 817918097 412768821 453758303 50432427 665610255 486669651 277979775 979113377 966373397 38054359 253665257 680183917 288608621 462556665 939250581 756227225 803686529 892018649 869666213 405264667 46192237 428329089 580612967 289931857 979335151 346066659 845768781 738659073 337355885 816770263 294537971 306900311 557159159 467092513 303451163 706121705 372020547 942030183 990419891 426994357 684179123 432344891 431462345 468994077 830195533 764789529 553926557 347856371 723023553 540524127 93707409 327927911 41388387 455944023 70912303 852884763 281765685 96942131 239013419 591575569 157660383 869089803 861798241 427646137 708226735 11622883 707616981 318316260 570627483 173146529 186989487 391870421 266525765 710523671 612587333 771804461 468456945 599094017 877477393 817112059 989836177 5060603 511437495 947871667 114897083 905521555 85059329 182763315 504569519 901832505 19116771 517374913 910309205 620632391 844390267 445430281 858223161 17927675 645596167 87268641 66249109 377079425 801317621 185683845 609961287 962759657 411061977 498056733 589227479 442113069 425448815 66468147 151662965 794669871 927836823 272372605 943916791 496783799 452856157 576239387 672500443 779801207 128830711 722498191 502200907 260397319 106714045 210127815 523548181 10709737 64943157 873746203 474233265 783232135 217461767 517986883 123113021 156520497 311844617 356028777 834952577 81157923 621931575 620427801 280141035 421501048 26307761 308719687 16113301 48405569 87439557 729806673 84191291 229118059 904379619 485509883 802501189 184785359 201418411 470420085 24198853 571995951 420565981 298501459 692909679 731590709 690735459 229364881 147105189 876229745 378273365 916287893 448970603 16169565 476945641 363331373 315355251 685347419 735476615 728899213 609159701 806032817 117166517 746195541 521069901 609571733 574063915 384738183 588291011 243523613 541822659 681511569 709120711 931804491 373884799 344847945 387205201 532818441 172576139 376797931 534757375 619719975 448789817 952303903 529066009 578495071 299975687 620952305 253181071 947370833 348961685 362210515 898931191 438563465 95827633 92586151 936517775 721839733 67863629 288806575 909317953 423656561 946126981 231949979 418316955 469321149 947244955 446967421 328541141 438929539 204702971 586257365 102015437 747885267 685601337 4345991 660074507 815217061 467733519 159514593 330852797 727062495 741544799 728283543 462702267 867496773 616013367 714589897 731063431 699282317 997522635 827408119 87871299 641990989 347316339 324533011 669035715 785934597 290240179 513714289 977864571 191846947 373083191 637623759 277677965 281577973 647887827 169325135 178599357 637168821 56353153 48255617 327010941 682506371 759186789 361875803 435543267 761883241 557604041 854644535 932059567 966364507 155502881 378824413 319754823 568905005 168664841 558966907 317949373 295903653 495475525 166665891 359128003 425229675 770048957 677465429 124560831 110696205 682570375 35592437 5686707 143455241 998130397 526776143 183211343 748185533 386997283 675502235 522111725 29023861 672784613 297663093 352272011 792687199 335400403 911601379 575633103 954375317 713065163 465085265 308037639 619079707 573998545 153791379 730924335 353735895 622107661 235110123 429415139 600048285 478998743 82917113 80247915 519070757 85506725 598243021 835780277 736193551 366433821 391798747 464585561 256967653 863773451 407574787 595712921 359863065 8643423 12119431 61299031 807624709 458967097 466334229 69557287 373418727 10739927 676992963 747402301 890427115 408270761 463774989 582499193 161191203 158108479 26112219 194747493 19882885 388131159 46482297 268477229 844942325 513902033 127754137 75542697 898812221 617206715 513679197 186990937 284534283 608313415 215900489 489921635 264882169 110169551 460305735 366341271 923542155 120771289 356545457 972895085 311930407 209466127 787511361 910630403 126767903 95581251 585026845 424725537 909414063 825690483 699569619 102103351 897622517 331042239 300403799 984292187 583533819 792235893 848658439 58625099 347485619 954558727 817032361 42757233 919660789 401240593 144973673 750108123 816523139 984685141 280239581 771701055 612951303 437002431 33880833 733613823 780612883 783818337 540736059 36788257 405548573 444265849 186601051 787869523 513148553 108196457 504078993 58730991 947462047 254982331 402236287 659306737 696087697 636944419 846649895 168067073 898738551 416669565 886662905 772524657 312301651 534605259 503529159 73996853 610740239 852369209 777513937 239026927 825923963 874134043 931548859 657808099 885787219 821344235 231409553 328672259 913465395 648286797 391999691 804874469 399477161 208367627 160801861 52236233 501994789 521206297 543709253 6120853 145121791 417375379 937831543 391313625 783319417 939683261 402060527 102586573 791011261 584911615 314892591 558849103 821533403 657902575 872089367 152788199 113239501 210507591 899854327 810224581 183984501 109960171 461463939 605831357 240807835 233620965 171064027 711848275 935517169 502502251 593791361 996194731 671769871 19153365 36567139 304946069 59927927 542365863 140806359 131902343 41506963 880495759 927455643 992821667 72195507 429325917 359440337 4057775 974573329 156439565 882374155 103018265 83903181 471144387 444034875 192749561 630298611 761702091 818838973 12013071 281586033 410181269 630002267 861383363 624638243 629319103 980207422 443101985 80420553 452999437 176338173 714309859 99014925 532261481 466516885 976623465 745170559 406772197 859902827 209337527 933190809 641739965 42888269 275075711 893562555 171235415 734004335 393272599 922353457 74757433 143989103 545531519 935214123 321730587 630557523 195396957 197753023 66234069 388755335 226047489 500662771 336354157 97748961 906413923 511003567 917610765 568168863 993694241 859041219 236248839 366424163 870930307 719863529 238526425 869168447 590385785 905079745 134461987 964474275 862807703 636103127 697089971 448822897 209183521 17016985 8390267 431732971 928854011 105081443 813067671 926561215 614903987 251620723 146933833 6296069 217853317 324885239 587741437 613889591 564498509 771197949 729859141 116137787 722885009 533736573 147682271 923211101 225041797 930168413 184889259 669916501 453042939 259766369 547245751 1123647 175535221 228855613 228899381 702445985 954354969 377227403 100727937 915107431 326723512 264708555 66130461 367486951 968386505 609460581 256433845 698412509 188474985 86202285 133053981 807459439 321284963 532893659 80210767 312697643 765233699 51980559 127022959 490465287 332192449 830840147 827652807 485543005 675488507 600137881 273639371 69116405 222760763 720597435 560525847 207889915 509956497 488471417 925110125 190651911 634701487 261673339 178702011 90776849 543295737 864874323 961617167 416155779 380379509 47411581 815002281 188680999 30952659 402287191 60509675 112875061 895246441 522315051 719327841 154971721 42390837 691149099 689533883 221915241 430643937 445763697 884990167 919807231 357542075 897468667 273634999 671921893 777235129 59862455 189556617 11165269 994774653 879456625 86922653 364238837 144866891 698136551 322435183 998900179 696612887 721400503 713800099 606480483 863128179 619993195 728894979 831816579 924851105 702104437 545794181 376501113 343750791 77027117 653488449 322243057 899867575 455617239 133448829 462404865 979042917 851343513 264650657 231772199 29335409 545191045 985110597 965133125 14348901 520247701 480923935 554313133 43340907 387526315 46285077 155046159 472229215 70427023 303726643 519412877 576996031 175148531 284461225 540824489 975858353 910766193 511561175 945131347 141516037 137125255 335571773 871859421 761455155 414628513 555142533 953057543 62168153 425879823 322788231 852892405 235300927 402607885 710001465 533695797 310237267 766690999 781141697 781703867 165626287 377784091 591153003 764277733 526540559 32879913 749929641 98606455 472045021 543659705 317117207 450063265 234165031 150157711 935035765 346866423 482895523 965807185 371344819 587496821 188497331 273916305 844342243 167044483 905465949 950117577 347329853 580301035 766352975 280370523 121948457 170293219 61014497 232238991 940011055 7200267 391714067 720542101 119942915 875185509 847356045 990844041 648492929 942347615 499742363 184953709 426437035 44516815 123757111 273825829 777395885 332448755 165582335 275523721 139634137 361747311 448566077 483761485 621320109 674790223 861881051 137131283 729622731 190228747 331274869 316459879 552287485 694210431 399587657 596486585 231590967 830337519 891162429 387979873 561670549 394888459 716916705 529925537 580787289 470251495 846570861 214183073 553820399 924666623 119683519 101949047 349318123 411722041 656085855 163284759 791034119 492214499 859941499 950142563 132637223 268611249 435298797 213285671 175700053 169402049 215050801 961659409 524355781 125360537 603327601 714407101 700322259 58774309 662772603 119705771 210949635 901806011 451269317 854082629 762074877 515664665 829674353 715397595 12989591 780190051 40241475 187309735 714764235 616165413 649122733 686963145 894989757 696061783 606122183 814197581 352187575 723524179 925556301 881217825 567066415 924348643 640299175 566626849 708353213 549392943 968147429 90550541 245598503 637185999 43808959 179973005 608579413 63478465 755469205 809204021 657011293 544352873 561214827 844596861 720575097 396199829 774168819 18580933 102622223 346520953 591231363 444254809 992999589 650722995 413604377 815114599 748772851 132551753 123064415 225244427 292631249 945483943 762973091 979017029 28237893 398410915 101569500 317380349 757978743 178792569 700687531 712295687 727902143 775519951 455578197 965445915 167970707 209305013 987311304 691315417 593767833 654357915 443196065 172924619 435266717 764438115 430091289 847654757 878003601 328429647 148632091 403112443 398421135 194940685 727432501 75522003 898868189 309242035 743961245 851395347 807309541 545939647 418965813 901666255 284717369 12276501 515186305 173914367 326236055 329373953 761324467 360350595 525823199 823800891 998765729 208378149 158682911 862084575 646218955 269878167 331906697 858737523 591962713 844081523 5766777 244876257 569482519 935443255 44662385 979239043 384746367 537024593 500732701 711788563 239232431 106909197 431106383 962073015 184961135 926140585 135287045 458917885 999638063 476256835 115177057 247124953 77442565 656662501 332594349 626026411 757856945 326748289 385259869 64041013 126931865 723455471 649600781 818326949 96211405 531720691 309703807 502576273 834827523 327103795 970491807 283459829 443061405 230631491 185436801 334482233 152433313 695397529 925231199 456949031 39911103 757547417 422228123 172349687 894300491 749065099 579996099 214788165 326569543 752220321 21848715 823031061 255444059 903841267 535813835 351511255 790777813 26280069 636834951 939226973 335395755 426437181 65237227 258946535 655851135 464150253 685668683 440009241 15260565 419243345 507717153 772164353 472598495 165804039 864030225 952720915 426376947 769104537 496269541 364098605 504925713 716500087 440333459 935932565 151539489 987028991 298473011 691854839 42549167 920508781 37950729 626203497 537202165 726763501 99578755 525554023 546527185 938546319 208334385 948033239 960260043 294710607 44351183 910505993 386771475 510788105 798352705 754459565 975234943 590544267 654538387 170021861 266503309 197193349 688770549 751046963 909540967 79323279 409352133 326935941 376352731 519393579 534516359 38680881 467428449 669863107 820546021 207358453 870145815 290477481 113090481 301848565 263108037 715975443 637603047 257322175 167595993 11600931 964910251 24389189 665022317 943033573 932486473 418072041 851913789 611128137 909269811 627726703 657520817 633428007 452782083 200002051 832357083 533000257 209201023 960531769 516758383 966059841 750088337 687303697 385742543 530490551 173234251 977937393 324098047 537739037 871384811 976081315 601447857 845442773 602118353 789744733 932731197 773264677 207064459 727320765 269053853 404537155 620577483 422212553 475835519 244791109 786465643 960003567 22366509 615039277 194597489 845006337 416524193 856230373 540512263 863394365 418342265 262033981 397625985 211660107 289582845 355797487 781008727 270724405 394993181 918768283 4927537 755785843 458298223 927591629 573741015 219049185 307976497 110895859 16073021 161490627 651297869 761962089 924781693 737059273 203303761 819740271 616401887 845449221 897053045 698638639 996406985 58975479 838298007 879382201 82807503 194150531 188035903 708933127 681201839 392833015 29019035 761958905 114909003 874965767 863971971 823836763 309682349 142336209 531661175 846826715 463610633 899143899 224810143 52810773 552425915 843493905 372668361 129254537 82576965 887656393 943211371 431015327 289376595 101181631 423230887 484149419 226984377 612111899 622021441 517378021 480739185 965471847 546874027 305265517 886169247 533148313 434417915 385194061 482867853 359828753 261646065 667298169 665472689 326831761 104830963 427308741 305729955 877141321 99772689 188927479 434612263 638214603 473839619 110077879 112520235 371921943 586084393 855143059 307646397 910102159 321233799 927979529 926549023 560090373 761124813 101318519 794982575 960883115 556650837 401386281 116227065 524987935 478419997 869609293 646955187 633154151 267320521 681258749 493728437 33404909 403054509 795537213 497896963 478329483 166142911 121438197 53057995 542541179 518031261 36152563 928758621 14099043 547031695 442901749 290134837 879660115 569553795 910038169 28849143 749234875 947846673 962124649 765741935 229209211 136667001 342563543 536381839 835845849 857157027 489837373 495638897 170284161 302027805 473786073 792928859 851217035 317120285 339183321 776937141 88209775 477223555 413369417 577293591 990913047 656640729 50452263 862077751 886346957 892455499 684923217 711704315 350549577 799688625 968009105 15083375 917858983 745083787 576992409 764572101 606263915 829160703 351908353 128215641 287366533 913628381 602675533 154907051 737262663 965316253 417123555 472873323 2383985 80555357 264012053 830230891 553606695 454348005 758711071 686660259 134391543 538517669 232389151 215606331 34475221 183035571 405207071 774428282 625204001 403226317 377680145 104290263 475052443 949206877 432794573 151683561 372708213 213272689 81488661 687187575 911034435 704048319 286135955 325279851 939407107 861772969 113031129 3522777 41482007 238072629 253914461 197961211 397337935 301785873 781966211 296454707 538471137 230544789 75386771 413232399 893460585 420491203 981454015 429521985 505999595 304469821 948782879 999842981 621503701 392413015 40074421 547807551 113943295 584125445 696696939 919145015 189291937 884699367 403476755 74670561 281338213 419920455 932752995 873139131 151544407 139081233 786342909 213758311 633964267 535315165 190083181 900266415 638504191 32387819 480785955 374984073 730660567 565745441 690208887 595765517 132336163 580432399 330986155 104785535 664969463 53605101 387500777 442713931 371979983 432124569 583843651 744768261 82965907 311544987 735486639 751035495 223613069 125372451 668420623 707572821 697292659 432925957 181971759 487159513 503972195 40607941 281420223 176741417 244330467 636625799 246293591 310857117 28205537 189262105 99947897 42332859 372113071 263664631 145624207 943510059 141876491 145699901 803426537 501784259 728615965 517518513 13436609 912501373 662877809 661319623 163089975 918198653 125231353 687515793 38912087 477533967 232555031 328340433 914952209 848461477 738308751 48376559 106112317 741390041 559831691 547560183 510314397 75962481 661639845 168026531 987195353 638583637 529283799 377952851 495321733 209274779 235284871 538698507 553132825 490406527 419847299 980304253 624093943 42543969 986388991 485498367 383694437 9077455 537730969 650971281 439216537 325417337 976698711 974875097 716499881 226487103 416827557 776249383 771804565 259657761 690489177 816779379 196470091 182583625 177631407 650981211 69657241 421837327 376878671 784772135 225659961 50549993 256969539 633483719 216061131 444854911 716906243 631122895 129545179 355372697 533184105 931477891 376508119 619653931 999946943 869734597 801165339 605339983 853865133 180449065 895974887 858874955 426430795 287097061 964768099 357945481 5483799 578201559 65440675 515557021 129380085 9803909 460034207 179553343 70349107 668096289 901681719 122046295 791166085 930054275 640326453 337068269 767570697 450031399 749093965 643416629 639919429 843105845 268854035 686104459 459228451 754998911 523108109 859556721 399496445 187942265 833589409 740978067 551337101 274841667 555466275 350260677 127178747 783047335 101657291 287887103 97872593 372837905 911251385 24427113 977300741 967955607 313738999 962358347 993474551 981497341 203328631 154322201 803894121 766106279 202850067 811199086 771498121 177488551 810241419 690504209 631506157 730603695 800855431 994923751 357228946 875648803 117055643 549706247 170615775 996795145 685623101 108273067 380743837 836106513 493625809 882007607 919298309 808617615 883114399 20148021 480571315 193258631 286525403 319352408 259884459 87813277 57461401 237596799 428930909 205327391 66135519 693226667 579419547 470508297 844478611 804518149 532568229 520253687 597941127 577802211 114354977 393543215 546456183 196211903 753463577 781757091 323387137 864762173 191552259 476067563 592677807 588865577 675242685 112328515 602085107 560608883 660309645 969819283 940096037 201679931 765056031 94789997 19242121 381795775 583381385 901415685 238598725 147961967 669552711 918193211 236749675 604831707 532821057 786405015 941675255 688707775 3753153 593763657 271999431 507465215 140403071 263721511 685234597 650716071 854165399 254700721 254186051 166621161 859125901 276181773 837873209 610181151 619404623 821229323 105872393 75726799 770021685 356011299 636961053 253456291 584742649 83877235 768423623 775591533 569406911 307877571 448967485 517360169 753192985 667480961 315418787 132845309 739504889 342135495 478904321 109975089 804126397 232280401 696514119 501739831 241895467 133994121 786107731 743174831 161176943 467996029 222657761 719641433 180814111 989077987 819419037 139647265 314931511 203222813 504653335 515807769 480169501 235253553 921933257 924841855 417076127 131807693 634861077 585388723 32464883 942515529 507119427 837508675 94785203 41015205 833164675 305020641 866061287 884171655 507999219 787124329 241704701 794339649 309066639 481772253 585885127 399691207 875615811 943950185 161218437 757598137 409171935 898803553 725283801 892586593 626938141 638826813 526125525 298976937 236088989 881677221 505841899 943380525 592346603 488996961 959446521 569297451 187947127 510640485 410189379 824017033 442411161 87756749 897543801 986191575 419552403 18954971 402377133 13292877 971687823 732354301 211548767 370255817 89584285 152872129 362108277 238107347 408852919 648790503 963858233 398769817 176709309 657643089 622164065 871190517 536856187 109262601 897434891 214820195 777215903 406076229 192501181 565946381 943368645 440863581 852679779 484388545 182553197 514437077 777617747 553256181 222409729 464995929 696323147 361430475 551199953 288266941 305344877 482652935 967723543 317560315 419970123 837273627 718154995 898472759 495426261 131171101 637522289 210816701 362947693 313413581 139357055 372067581 284034773 851469971 918860281 426515863 522064189 424806267 997044127 769913417 716590903 85196607 409696283 399797763 70746563 144655423 808922875 813682645 252799557 656882047 132965053 391324667 308012939 61875633 112790977 724511961 471422153 816022057 396793165 7285755 131208349 416363499 604746901 923304209 652819469 428437659 487715763 522120955 833507205 385242505 760009895 923647671 247333849 407196333 23453273 87280757 981460299 79221157 12873117 103810181 411959931 632857273 604323883 560412773 248017785 919437271 145760675 861734325 414264507 155774873 384291983 793569089 94885915 159439419 586448227 975945727 828695009 576696487 511728499 922905609 851274683 247666537 350432773 535595425 458030011 313148349 880663359 821517873 755943777 99700861 227207989 836532561 909011087 439088437 760892127 97514935 604232855 781610257 531340061 908239947 155937067 337664489 771817913 928868629 420253033 939115325 493443173 439079497 109863637 264621365 9399227 836967233 807976031 855611293 940674617 583923587 59533659 474386671 836624717 588518841 482738309 17638217 448177219 758494903 894465283 852735859 885325145 739924087 878255971 462819293 965152941 802598683 304697497 46365085 824045385 144543729 904301315 161536883 925813279 691348587 173482343 243619013 450949897 976144677 637783027 522709667 118601157 888783585 315783481 483110083 913518335 85142923 129947447 420433031 352817993 324144951 779221077 624275445 412160025 467574047 755366493 43966651 379819731 383809703 513522055 23539507 609494463 520228441 699745645 640344409 471367951 433619177 4704281 35952599 520642525 148430387 29405939 43799803 698520359 411329593 465621973 774063547 101137625 47423017 271747577 643416761 195267781 540868947 255840005 209519929 541897633 346117171 739904519 234857005 528980497 307986795 336710259 407117611 57063837 610579147 724591911 174365043 40642487 237023809 338564967 359745259 270200503 912760043 348289507 412569381 804142815 144796685 742699951 374500949 566796121 719595023 653104969 477705819 677201717 176878471 370686867 144914367 988877423 962061871 10570461 94235313 112163555 905678827 431164893 422513159 485006687 160182215 984875693 96066111 182933139 282036981 6001621 26426499 764523031 509187535 549771075 60731809 668356975 355392217 186273097 732475665 194847489 423781313 701153191 623757809 933636383 988060247 574445185 689179145 675812611 719330201 334202211 201179335 747785679 723753639 392795717 189207107 4264329 412296141 884813955 177972287 81757735 97550721 165744099 303358237 932607615 152698205 642122127 518430961 179594579 873163553 922316065 371287151 707102285 718370749 742222227 728837113 682652413 125045825 977139275 279945875 982995933 673297643 803582999 298935023 828660559 798809115 425104429 705425507 861547675 172334431 449240359 193169391 509027057 603336297 763926029 804368699 893577325 95051285 827777355 931815315 876538127 952062821 165351351 918728945 232474049 725455491 63986575 350052595 232286547 809290695 207617397 812649441 489261951 764973225 39541627 284314539 45769701 819117771 348545043 573382375 541059345 307640058 734947608 110044627 533069681 85341227 353785047 122625881 809728609 809251959 149257973 223886343 257377569 811211809 17195405 515388693 106821595 512494741 18902553 942734177 309679775 521998183 388401279 759401073 644195943 348640593 290624013 890695545 42813459 50349877 787628151 161701451 197066095 499431713 432174811 253000809 212481065 668417353 53942975 17645051 329162973 178810627 797332239 521694415 976362507 356036057 371146015 757417819 173234971 538130545 370779569 521859007 318366561 368661921 763735013 246922949 829670677 124426595 512563789 748834521 850490967 67251673 150155225 443363603 407932979 813993555 185571563 288088627 402677143 613079615 338867269 631184287 880800863 44078651 428213781 817630823 687879241 868385547 458556657 260599875 612003843 993800343 745905367 662478481 686829595 768433397 787139115 85043035 69444617 935302495 719238331 809543755 110784817 366944569 185224379 418450877 854842333 674541837 517147081 484024237 779355707 348042641 9201641 833920197 887167847 351456413 893837963 896180051 167687775 416132151 653607811 420238415 150525201 270641031 529500685 79803991 95662921 248930787 557539791 37436593 311506373 129918919 903358423 554247761 530554659 421177811 831684507 129837769 368401645 572232659 475959285 555341659 477231252 136993725 850560045 60516847 449272949 99518633 795281647 786103827 515499211 947330525 341343057 5351421 761604293 8527811 356895697 498853773 837289839 764705005 347901777 906473293 489611463 561451801 914981411 447786345 657479851 532761639 496855801 46771385 757992933 247136549 710807023 815843771 963753255 160218435 223030671 736754587 608483849 278227169 754772417 666105123 235274255 416279679 461230815 50226637 287327647 966131145 491465379 697056439 852093709 753258129 780148019 114608041 562492815 297237973 25475101 58592787 732555337 525068981 584409429 731987465 846330179 439297407 251586617 70843727 974314607 981303461 911889551 573753417 162185381 853332931 820252547 696951559 99150505 359164571 585195691 445603391 954482209 109119513 594203907 902342227 237878943 413458255 494497779 691586633 127942813 150316155 931673157 11940559 126496893 637632511 52373297 753734973 360298887 422532965 280372561 960760981 918664941 330514017 175371693 656451705 715659463 828218319 66113203 529124413 876689687 339804849 491306293 824202709 257863367 237969715 251403123 745368289 947351721 989628841 405726737 493085611 671131763 838291853 903748381 849799199 291653065 217771649 363127563 963027669 374340915 692228949 52592055 114572299 786880289 800454903 796342123 697778349 187094255 328602501 147501521 832443205 799015391 454768449 431951615 918700301 907735061 438920601 756277361 447614691 226165673 343424541 899174925 840229967 548704143 383210889 837569825 465561727 938088105 426044609 10397027 965477197 332961475 648882639 910352365 149619767 603090829 617397479 380464199 544996705 171000735 181128551 571442525 654858911 949410171 191311053 356477573 57392231 162367115 800387015 94909053 735333079 791883295 64076587 610664041 427583669 396765297 214072047 492067029 901523061 937292193 606413625 937438905 180398889 992783035 179217747 201490033 629242259 873183407 141121203 806772929 785815323 891563861 769997809 401776601 22606541 15776367 989729235 231815755 474853475 745369253 843712579 407299095 775470909 910157963 992954195 679744931 599916383 504842137 613127743 434020535 744443515 546466097 312271467 306281871 60473063 134402969 967051875 433603523 171037347 419355911 63143641 145903963 686772821 6250641 587205543 559520195 527069261 950593337 302257363 73200337 505104771 267719399 251634055 515045313 411081877 4849007 302796565 610955323 783851211 465229193 499596795 981965129 63732499 332432341 228264665 825535585 421098247 56105439 984920445 282593378 24553445 345451797 156959193 711764625 873776529 299726291 195854601 317808027 697747359 956587097 585687119 74651795 562658885 465672143 816666133 292901881 356685151 695039817 412138739 777464497 924299641 176047807 776549025 503806217 956755135 537512465 524157697 900456373 731467787 126050827 955574561 237213395 388659673 3181915 488319539 489244391 84592977 498625435 382376083 462435809 226371397 143674959 151156419 590604821 476392745 233809887 379561071 193445183 173353501 402140313 855435627 851177349 663937515 939821499 84491953 640008309 517142013 401453155 406642019 257230341 3731567 973488795 872843729 348175759 950074111 996622935 342328937 86469851 598989331 722334315 850482889 576807191 592042939 125658013 504456883 425172949 570009775 500200339 369753363 91076115 194712397 321514977 636792061 876999993 560606877 487623421 187419307 810319379 179138383 778587979 254167169 436827093 781573815 482026517 773783049 21558043 351364057 109275273 864878329 349296879 130154585 200120513 131143721 633630139 963885956 407805633 197948061 646845011 16112985 92516207 442207875 326092535 712023409 915106205 139250731 251939915 297805331 457591047 977682193 816898653 305974577 729123659 779772633 757932961 982060387 273415411 608111181 387969015 477302501 108491377 702304867 998129057 106872479 272685853 638400307 747168845 805986595 141441595 920467715 993466897 587942309 591217137 577673019 448388201 639860997 664916561 900638065 341991741 50943691 107536983 491136097 722829783 246779431 465914081 624186091 29837807 854090479 177162169 953117981 697940639 266656419 641520273 289112871 110742383 40398185 686292993 198514793 536869197 433243921 404849291 318232673 349175179 470827539 875982233 491457983 582099689 430061197 176654973 681633107 928542347 267568967 916980589 181372187 203964159 271751343 487479437 598221111 858268985 568072159 435917541 220865269 397632919 254614931 361397607 809095111 586147039 371577653 846490091 676407879 319802173 671774675 894593075 875641147 111102277 394752291 589914857 81373837 448590585 170326663 672009373 59618897 435392185 574467589 65662665 125896639 857700437 489253707 992085199 537972287 724929026 417508017 734895863 942828121 877051741 795881015 750687603 433964737 953124459 776234115 552428891 464755025 642995353 146291175 97969585 545141263 192092607 628688727 134317151 387281445 101999893 605741939 362540341 411511015 37397573 348780419 577309933 861057743 593991769 944904823 603708457 405620353 963717321 765396453 137903727 389286343 465300593 878234381 480581941 263388309 199852695 520881621 108996817 268318215 237880293 952556493 125921669 689523551 160224117 168626477 94618235 880251657 571399616 77710291 270678723 634138521 636207535 33046087 280517719 567136969 385204109 443157175 874720535 474239613 483542031 298269693 625353679 791588287 47130965 605058197 352133423 73986499 911168481 69723049 553428173 136549605 379667361 863421957 771010607 461392297 732930283 54256421 743742909 60249527 986207611 576482339 556304839 636553957 417248121 16078027 267063687 232001069 736689263 829269129 720166941 141167283 340501589 611618677 821184917 513200321 950627463 167682895 445359581 588092109 134343881 609069695 704171473 516396143 614609481 49484049 224612913 125397355 332612255 908938175 428875943 706130607 948985029 358631145 196153539 652474187 127958049 431263123 178502909 79327099 416442239 813009517 383855035 160125347 62681623 613674193 842413633 180705103 311586439 768991677 183105989 625903665 780570575 144857815 200718939 512974115 387849825 407751535 103879177 895972651 762755345 561895293 995264951 323582065 381563931 440659615 769547827 62202699 204506663 504743709 500562747 540334901 287537983 95748325 440593005 255407055 354003929 61742737 13115989 116060647 973251541 827198557 297268065 441408111 202413429 98483507 71880429 885134209 810736743 21980063 217132599 382197603 195582145 121765085 500822381 655441279 596233217 7367623 20312219 213664615 28054027 442319849 211601599 721176025 804579885 377043055 572132535 774340021 134600217 715590449 155057229 797210889 378249457 875002287 522640179 134856711 846579257 291614735 712348163 695113227 880731357 889354275 192812861 763298455 614072881 807901791 951465033 997969495 692636917 873558755 49559161 86435357 132809295 62941815 747391497 437043687 567738567 22574987 529356567 230944727 768318297 792438581 972062381 209004343 530702941 378637875 486934973 119467899 419179675 604403695 85207073 454729533 725065279 802938233 633851799 366064453 512182751 532520579 748130507 493024633 197806457 642010225 489512527 920856045 73313647 410227017 886685593 677436383 429335955 359058617 280010765 389551281 432708117 21818651 481350643 777134829 586555031 214914667 189499261 274468169 882287899 699089235 507467205 462610843 362381073 126559263 827957705 468560365 366988363 274620875 116956021 533825893 295240201 777089777 296504475 773608281 670775279 687563997 239657969 540851779 668832011 312051835 309541403 897061575 403767505 52366179 86369441 725085359 415892511 497180373 783766773 920389105 873498683 837877431 951102831 193523621 368505809 799888027 419622993 276444943 497686007 548538549 509867717 155655325 665005865 952870629 93504989 845218015 320543823 711735731 600776079 481017233 307629491 891897679 156916671 406617239 769716235 402121871 789095733 79484155 574984055 847501809 7772321 2234355 867291257 37697695 858710945 913998807 465134847 110309735 311440817 420284717 789022561 351853505 134175549 103859613 669405527 815211723 813375637 56718591 89589515 964628045 499618035 520868937 374438921 991202741 369551225 461146273 113756741 568851739 132977199 99351123 796301085 450699841 203713285 956322769 703043157 147518345 626544855 861665973 846067997 239737095 948022885 477505221 589457673 391695215 441766233 903977195 125913365 10185507 531917635 927038009 873347239 160444711 712525981 118843115 481292941 900017709 956899785 296456551 737329659 549194635 784360463 757796661 451074449 204787777 998860959 181778439 305314385 743667703 307468181 241705661 497420457 66607609 255592689 763165783 463833455 242645569 132028317 438334209 513928927 156153453 611569257 599778573 532359585 994917061 930915087 61393401 956356543 705300793 633704753 763946343 944859569 508790879 745679701 694038049 480394067 546048117 646583793 697378587 633977065 785033829 386562139 214263919 212322339 811225277 554114515 291214947 233129235 423301301 126425735 986932833 583796025 943609131 743561861 390991869 360657529 461234597 607677127 811650032 763729441 794047831 97620525 734795553 254072805 32069651 317711491 624570263 288031973 731138395 976618871 795038087 111925921 501473111 642860453 714048077 802675723 89929685 40394125 153074539 167322743 53733195 454818455 995079565 856129697 435978713 242247703 153721223 81698225 764060745 792420933 611932499 592841777 992433415 258636097 310999317 583101721 651672363 162133015 222879767 318716099 190612341 115147189 704457167 808416759 815801163 794176502 794467029 992111842 488135101 19007645 840758765 532851737 644612739 549723215 563502851 192558489 208627963 655215009 847752235 775012807 581236525 958562313 820358303 489933423 371439817 358805741 523020227 361386441 59076132 953127569 592992803 253452145 719760191 756526889 77012591 974343533 355718337 770141647 399025287 127304489 446680825 203407745 766163561 457637497 817887 590901293 845079877 180572319 851507473 470693791 325383787 446128443 298370773 379410069 154060887 737454429 714723103 361339821 536922029 354028153 433947009 92254833 50660409 718577519 955646781 922532437 22194155 204488577 914077243 765859757 735589347 644911453 122306055 659416767 203359073 627402265 662871773 180445873 486752463 656950321 16894103 117535381 958418117 79745677 393173441 242691687 216830713 953736569 22630533 210153477 723810641 384600999 462843841 647492153 672221913 847734073 804173293 664354229 888856771 736578225 867861047 457706003 727207273 748511231 456882025 495310033 917220177 61201783 190487805 408084571 415231013 104659157 652676113 678643459 214823863 401580095 436836973 560221695 661880069 195677505 632378753 8962163 7673137 889257941 611331937 217847911 9512579 634196307 339231185 861001677 543016307 551155587 273574709 532436861 536118171 357025169 666985373 605238843 894836413 289223443 122527679 796514221 87878085 541157125 970528765 644807013 826571719 909564109 70429533 619302877 648068859 125577019 991431309 679732599 692572105 908902783 600954085 575929211 788470201 171382331 250852197 2643227 179227775 630584945 94303669 256702063 515015415 732565137 530388771 320149883 797285923 374465389 912858533 465232165 759893039 499201861 117616347 428061247 945068911 16515261 704664847 214743683 715233629 535049697 636971564 854342547 863824285 194954025 951591629 479215607 31095545 524588657 40835885 488565791 458563173 559368191 453886009 335766889 870874108 547234687 419141755 309101841 150199813 863351045 578774317 215689027 816536037 885028371 475267373 633152527 670858547 554668169 627962883 488349295 29530793 251538871 59658461 401364293 101603115 838765905 580177813 742893143 808285891 33878647 883977641 670837083 759293863 882565291 885059389 129310951 586975535 163288795 905748517 312412541 851888351 177422429 206586583 137086087 686599525 376134639 572923249 993015125 667321233 112387763 735458489 932868129 445547359 752607547 464066337 466580237 544354547 320152697 639532481 243047711 289492889 11973321 392542549 910018381 404359361 298170613 161517381 195601261 125898507 756287271 954142371 482279745 938776885 663370739 320760611 411355507 716365103 383126361 203931687 338624659 130565897 532676029 96216499 469478937 156571649 861569773 380268921 242900331 742217591 475459869 659695567 798466767 543757815 220983787 807105717 801708661 754156087 602455389 351124177 744399737 380782609 68584671 437259891 205419227 380967815 604790343 239763091 45487235 455751107 855442643 839939023 895451205 893649949 819618853 914561903 112199897 544934155 231888717 506506849 538434783 238959413 175186881 237018687 32240099 233530977 148186205 772189253 551944531 832021127 844067429 953482333 860561803 509987009 792806023 237637141 474698955 56784465 11887067 424997285 721698363 638061475 333578971 928678121 763681519 606465353 614917229 565487213 117678303 130526465 865064157 469627485 575650283 667642541 824753379 674167699 915798751 222900055 853655707 506901643 21749865 147660851 280536715 582245997 208228389 167638939 981548703 675492875 279736209 261784599 883629357 985506521 705729307 427856717 704836593 245983223 884172559 989701905 467085073 4324653 646587051 902622817 761962011 107943915 22847757 261144671 559753989 69003847 881800257 311460693 515401513 628776449 243241013 43349431 418783311 718849407 814233027 238876449 664066979 929011921 571478959 90357079 267703995 817801391 427653023 911071553 425138837 804600695 967903015 164476405 74771605 796128305 164698813 938786733 822415751 261800845 680614087 28278987 776850595 26001631 682716809 24539359 796407429 446154027 475339575 805680535 795653681 188724755 51579113 528664017 165595671 971909867 701004707 195132561 331634955 422099881 923753547 472778751 526064969 747049449 672809397 977711217 959112055 694052343 84081559 656239457 466429859 35345343 13743509 362842739 760180801 64817115 718853687 994238067 971901743 752781447 571021807 332340305 286901427 695997611 193888791 158385197 482675320 14804697 833331181 559331909 903332503 89468997 491763101 497302025 686036107 603006927 313317177 89516809 576269879 475926271 414569911 930322945 622384877 180039941 668095995 532161493 311666269 200925623 415456717 231137937 464216489 227760789 577776863 476180583 295663699 842324933 328352201 165167281 604601163 481058071 507957517 815098101 573225443 919022339 886594071 965900251 935737563 82753447 297499187 430237755 696326487 415066571 324507549 616115723 489833443 592654813 291729015 665189747 508201337 503045879 410025417 5787577 351771249 661302741 80755333 488708181 414267793 460633057 828835971 416993249 475670281 170636329 162016133 437960479 803656557 385888355 24665141 415428091 91168441 714497521 295761187 558082695 141022037 967996119 942848969 806713857 917569803 291728073 114133385 160602057 729976337 617425433 240069803 671177325 282097159 965697737 689635681 136087199 352385263 253129087 322172098 983068219 798998583 564676749 650762707 173620547 461281205 848039143 499320443 138892515 959507623 27684653 357425803 333428845 399753905 633345703 418570941 956831839 66122463 434077253 814679475 893926747 389314729 732317597 159522037 370383659 722273003 20242927 863253491 581932483 467171049 823427361 348048137 88982591 950566227 686849731 40088183 31458785 214785853 693030157 434898791 782249749 391336739 971289565 210198249 860361327 387518443 678737339 804114679 857547689 235940323 320498389 671586675 568397479 329010623 242972165 378151203 392625779 652028829 200732614 196397757 322204739 832122883 9049413 386786263 286121071 576939229 162665803 448470515 363632507 471326849 856879445 142858105 154210067 825156269 25709693 698212029 578842891 322119043 782427279 324792567 582159965 918862485 235420919 312877897 900998701 350208469 746238413 966578617 421755591 42252959 347014865 53407805 472044187 378243259 799958635 38640041 427914055 355671895 68787367 508987075 607298191 121049605 769849919 5970739 186672987 130500549 521641361 939902089 815501504 769543675 318223271 231216957 781507325 767009653 49453867 494447541 970304623 932202343 375943545 356902197 27881635 320911983 151776655 146655987 225560911 291623827 331522835 891905283 518672203 129623359 929958229 619206507 822863773 453326409 393847885 822911251 588763759 675223789 842351513 455401161 528112147 984578001 976926593 758944843 276999685 955790595 189820915 70049079 747199979 978461433 596538249 705978905 739002507 239647629 465863295 117692255 995587293 466144009 885276607 603688037 429515515 287420693 561402837 285709417 18345765 903400905 580396029 704502169 662663371 885079203 421979409 55052801 513483647 373160839 303421085 222266015 699725817 260360129 324246989 139377233 541247777 847078665 518274169 936894689 673336063 140513915 999487521 999122435 653547973 419574685 588422891 363975243 468809939 840535897 985302697 815059007 625244073 786631433 318027215 987148101 75136755 50682727 318709885 917718705 324897157 544674201 296139643 602058937 81359191 259844653 139473721 459134337 708266641 307678743 574245068 612615697 308454011 381495223 237684469 132628315 186844297 75001807 236851483 320190777 735345495 808886925 372611661 543842665 725257639 57185927 378580547 269786777 122592101 239918009 681267291 809791317 938260133 565190795 512999581 629303067 881355425 443926215 926617271 621238599 910804155 592067749 370384643 988621353 15082371 743948737 769731965 422625261 592810919 920064031 854822607 311513517 701710597 3215663 518453573 352786027 255024543 80561859 814992347 204693521 495696545 314008091 93130539 809788017 108848991 546359003 735021185 776087617 161767507 156745745 928530121 142428709 924242977 749156145 315193243 3159973 197137557 8752921 885805623 463390259 172461983 928194319 86831747 178954279 315298397 226919871 685408785 628321733 281926675 192211007 329194261 578734131 321151785 598561035 581647215 701207683 460466229 601289481 409138599 566307503 552953073 682398857 996574189 562906265 176559425 597079611 431459093 282567433 822514225 913633345 626226595 172658865 224377585 15218461 648839355 494535977 482265057 309715645 459738413 371775987 160628095 430895479 578871921 802557817 176706939 381122313 276797861 786615819 788843429 864593815 10206863 136405731 927058681 721534125 627333283 837551907 925331101 117285955 212281331 801910483 225358551 888092085 127719489 700607459 41976351 442077385 247692789 959974191 669867021 451061931 112302877 265491321 556707943 888204527 233826415 758641253 495685143 381262997 354032717 747806089 921840175 215062275 49646523 617484639 794880749 525050627 67728235 892834883 596538033 128257995 745215155 596844419 708271369 161363961 103813779 530755149 143996839 950851219 643378865 313601213 668817253 19726855 175500895 770850003 385940297 899290407 524979601 734923641 519618941 227931185 304058855 992580479 164439637 487622093 861691817 665922207 249597257 649094149 13966535 458220667 153489921 759166289 67851221 298614169 461185861 157808525 579191575 289529967 623708681 18625789 971598705 192451667 906412137 541373777 476350323 831645831 755699367 584304795 740927061 100781363 892921903 51282523 1319155 485672043 197224083 405123189 583683801 534833959 282288273 22477367 686531381 113599047 432614667 550495061 261834715 363543959 65041931 413833965 281485389 670314181 667717061 304166021 540560051 506491501 216687509 946469641 281386201 196278543 345318141 650157519 654313787 321116181 485631147 137775507 147623411 792138957 381552493 751132540 944443853 974703477 737718083 699550743 798491445 169780779 215912015 681548375 317926211 808995835 312135133 45591709 926396599 848895443 396579677 198256043 796826359 382044047 377716589 186969521 547887379 819514095 206788303 697856833 21399747 251503259 349055345 883865691 259286885 699179303 508292963 332733281 282843393 686558219 608767457 947823653 79719239 718050983 444112463 570632409 720539277 790547269 876722487 542383387 246742225 718161431 813877583 513506545 382431421 196481591 629594223 326331333 252543647 292245669 695002269 138747249 885805935 533105993 278194945 590918959 800112075 613238263 583593713 849932965 795331833 209662309 501697255 159616225 676354541 138876983 139387785 560828761 394141753 450654199 378505373 818264807 929885471 536759827 463950363 464961235 209182343 579778277 619674907 253841865 842752509 587041969 281390819 890826977 379691453 208398493 645647837 136257171 350521761 887474621 396508315 91671497 925407795 506359815 770912473 422048461 944382883 490999135 570308221 550302807 335107783 65562253 741698701 71730307 576254495 290322499 445119041 536760789 236488915 160878619 854279667 676102717 921124783 416492947 388648997 581534221 238382125 384553239 905902721 401420549 378677099 70012153 155023583 743739209 862431537 299884143 733828663 108117607 870187245 211170973 231792555 468969043 468628153 992498571 357042569 968984173 67039315 420578603 285567043 185238645 345596449 189311061 111239029 622248349 469597747 616894413 709068001 658917241 699189055 290242361 459370867 92956423 79998375 302821419 175427133 194920361 168204913 379028767 158461821 324057647 253103691 173637745 782881683 39579599 53378701 486970735 965415951 335806245 441370167 489077577 754718367 186178357 787802865 569879575 963015201 72681069 205215751 439429085 327584151 341361571 627060085 618450817 76226349 767528725 417643221 728752085 165509431 475691367 669898867 686446739 14002479 844204711 874688569 549544797 115292343 413170505 885231299 791551163 4855455 996148011 175410767 534513439 1215445 96550033 397341635 665384417 169044087 716460843 671688625 462295619 779788487 169838861 564028749 253665391 278957105 355345843 804133751 749709429 405337161 412939523 992004535 831542095 440773577 256745037 564669755 484702175 810597269 389304641 953206749 870948333 96154041 877963519 259606809 725284649 435712613 511389453 581331737 232784943 527582455 719858265 855494571 312156031 776073459 337573429 653020999 935262339 588461313 325975391 700755977 454774923 931039223 990777087 511638205 609923025 351061457 877492127 528107471 971930743 740586671 583325751 24012377 412187525 300388829 659885859 396438807 848485867 275019473 195922217 322665329 293085061 519334435 352076915 948713593 896839187 787199641 631268251 520372707 732524607 65379355 439842971 227771663 710563993 875248321 663153625 671459335 718138011 907667905 787180835 230238327 876514725 462070913 566148269 705047735 820004355 394524557 367576597 979141829 512351203 917187479 83007841 467318605 198276193 600377465 246099453 405321881 815251580 172482617 423008703 118295971 850509345 416372225 653724643 75354377 134092059 29938979 274478609 813233171 729621545 616146973 254725971 305770927 169524203 599096207 600357665 962664823 494536167 988236103 101742677 577781415 94400401 36423991 655661113 900196137 273151811 713234041 343209845 41788043 311682877 411646547 888999201 844505349 645023401 965719855 395015611 134002291 66527893 627060641 855489063 921015137 241471231 423417697 633811123 243659771 993318853 17826903 501602323 584076057 309970867 719058827 820380261 269911869 195166583 415558705 753463855 802315657 350442669 310437541 543703899 575735505 75581139 194734441 502797891 498275977 854506583 441912361 115284129 864628689 447530887 992641209 420355229 245605489 136603 147763731 217300929 764593113 565258167 917074777 704306179 862545951 340580325 500878553 811607235 816002819 736085523 624867079 634511811 773312747 493084445 827327355 382051377 585833447 284462017 623835641 94385059 600139951 471289259 397590381 902302999 419493281 25225837 936668395 663132145 26645445 838200959 999561901 513769213 866743243 341733953 364157719 271916403 993908999 70009085 278003123 754305007 439326845 391247845 699655735 494390645 382086607 669170963 93704571 946966645 738922577 315080325 742300291 322309569 576015353 578473255 188055931 958288281 742045283 242590667 617188535 67289251 667842523 830196263 41407923 500813543 343959629 952006622 466769423 412732641 578879569 805771131 784021143 967667305 901969959 776553837 282490945 704979399 599954103 694142223 358285093 476117671 172021901 626671007 656901001 293453087 526131941 583053129 80563413 799740075 677578905 827370527 550248607 829345587 189706547 678614295 517812643 322811905 341000675 304998165 136908993 82214605 160275071 329617377 574271493 147367601 974069895 824226093 381237157 174645559 597442081 576125329 458108665 918583623 869197597 589612433 138462599 825181243 403134963 304081555 492265465 764920011 913408193 68329961 392654625 449880097 991696975 650688461 266238717 993466569 270629131 239592545 42830253 307778999 405638671 32747181 477416063 72487753 520989719 977102243 57805541 599098949 890005645 708519707 905369465 767559895 331892863 311427799 971207425 34981781 67559331 742385537 300461415 234780283 519788891 195171753 973889213 825872879 418550699 944203979 44671553 262266815 950978629 103871555 53284181 889635873 23514497 475797599 986409601 349485231 542289755 875571535 229607037 48770417 44442235 854361643 736250659 901213653 717800755 845387765 984538741 641779629 215536247 881296023 9127839 889156665 289882855 915111393 448884213 613644571 561593291 713770637 945668593 301082469 281289747 24588605 801378357 36234889 87662933 863592313 559442063 172461413 587626193 853479089 687025907 950305597 214474349 538979649 65059959 929120961 250871737 194255721 64623205 97307907 667476205 186116691 180909347 938860675 309918695 122408207 249485127 760501799 624109357 936189335 52655243 567614009 238571251 535493581 695891153 566432623 411602955 404173431 262192937 975863271 868025593 281274443 534783681 764321831 568765663 695708895 637477879 201828379 546968209 359222197 823423309 926586905 394304389 495231797 943186545 63072735 601654999 593720755 354715443 456373135 822069843 98962023 782558863 19543225 444882277 157455987 336275369 334943571 344383013 555479517 159151819 184475833 829677139 995638427 639679083 628251823 2473047 586103683 541699617 204604517 418874429 576858965 990219185 777954669 794093247 448159679 859371017 748113607 638314043 230333007 935842361 786309591 760665531 702907263 144089725 585106283 143792617 227747247 15378233 772270263 323754529 603410475 703700985 117408345 715323745 460637217 681200237 611097431 858723663 568281517 682117493 211163165 106299 674452173 411140623 656866687 150338845 447188591 3819627 996766655 930692755 40945505 196374745 832750973 826440163 792776539 579931351 180186825 267221249 979720195 531572741 912139289 93171327 49210845 570514737 186428743 919021217 526074205 529623885 498753179 680218185 106626525 92447859 495420355 667413003 438623901 23710953 91643601 149952797 715416005 726450201 929146179 452718171 276334953 824321941 418404609 330615121 608725631 374764571 882415447 681256747 1189867 123518603 270081529 293239745 346315639 577449715 830075909 38047891 402749649 238500741 238905087 138928583 947186323 525130653 243765207 707206959 511510849 741899965 660731873 707302207 809155137 166072719 257036249 284797975 810160359 444101867 946414821 673151615 147057001 356752585 148332947 163504871 454818283 833064267 182404823 171011173 897869175 54539199 92820751 576239031 616632059 419742103 612762369 468014151 541340753 399580015 259110107 78397219 664757053 411354121 317232431 536428547 585596005 422945107 478593531 512706117 132917339 988346715 713862567 276967409 81938586 276326241 925112317 499165877 925472387 77256903 824592181 320287979 165359709 349792791 160276201 596106895 806373979 377697797 273790755 122159179 849409941 867926637 972577611 417469547 482684685 498629971 785381179 603298795 394637487 204659167 483466285 139406181 546849863 731945831 633555911 808351269 525329041 228383845 981313813 590049559 712911407 673481597 847635345 430079955 184657577 323832953 885018643 743636889 707609457 34126157 190485985 110072911 623617759 903973655 808013227 130932103 582059831 360973589 297268357 617571187 966982559 249093557 532364013 33026041 295471913 790380939 357384645 165406619 842017231 599922771 195463517 786873995 127486835 500962285 330155627 866129309 984411869 678838117 264558345 367712597 708223167 751622641 410609087 53729495 43881137 21251049 250911867 291941619 633913397 588753363 455736719 85944097 975984565 18501463 557552315 610610303 470156161 594847819 455490595 267312339 724096723 292169131 138092883 309817233 62115021 94747287 103200835 928848587 211429751 533632349 287735375 777233475 135146691 560201325 525048125 790228065 58013065 608118119 506391607 12034355 158178443 885374987 224159959 562562415 135737715 981758275 350643223 166034295 939585489 221885479 601999709 510071375 758971423 338597101 99994999 3819177 539261629 89064445 520371611 804859867 782281975 538382557 418715235 331301093 489053181 849943365 826168535 493410157 29562343 749484559 307797859 657439429 30891703 536243773 570307805 704491745 392021845 371714043 741347715 200930657 217177749 428306331 384178167 19176589 236244527 848660635 45165643 994467413 294077381 20414619 476219633 925236045 376127453 235793001 17369029 352548793 350327021 115210487 976532241 144052349 47003211 209974369 940440701 131318825 810638649 964205289 751710755 399495155 492835807 994110971 958222717 225046205 540280401 618961707 816002161 213813261 831441287 332351795 977709645 335732497 98098787 740800757 464697029 997493155 75155627 721435265 223058679 919967039 534192661 221277701 459821673 759937551 732130613 994437343 545855495 719179231 157151377 94840977 912210725 252661035 527030161 987061191 924915333 528247309 614965637 722891093 519990087 669660497 364696229 775599925 736001019 346166627 643995415 90041227 935317399 871538523 270489055 983854497 891761783 384218105 316371441 686029035 561095519 200797859 799647015 94004229 673097341 142153833 384937281 830568371 918983783 85968643 464714471 910136797 922521371 797994959 39013037 532876441 90141949 363406549 234078731 967842593 988687835 166260677 471255649 421703385 876149737 414656757 221285369 190097997 133056197 5580387 889821959 316604461 363345523 413448889 134030495 745874007 452221539 973035077 893040071 230042319 526162537 172744191 297875045 490909885 805376449 542774915 924962381 98336121 911907857 104396573 475891765 251712377 638987879 73554616 257986753 222077283 46462521 945416945 649990523 622668547 866418273 761836801 717813713 93080649 550008359 838717651 569929245 626823765 686423607 547963891 219999395 919877733 312162215 6586523 568731785 288026857 771868405 519427755 642783459 736154225 537177859 490824871 365816231 244722875 431716387 600690369 477240505 357711271 230992647 719681487 202024673 113908803 646530507 707821137 411896017 213057985 883890425 608375149 670781475 646578299 824562297 951308789 32533077 833859319 615232165 967864157 112340949 454586079 222615351 997798085 993699567 984270341 413872213 731247093 320428767 918567782 405783437 152133723 889770695 355735589 142977235 984573969 370647727 995005069 452788613 241573589 616779401 884963089 66919273 257575693 746318639 78942541 255144363 921329863 100043615 696079619 629562849 531945151 853424837 112889118 211590919 765061457 102600433 272971445 69898885 709226373 827958367 208102397 572636965 648897033 801456493 187992927 366885919 212316213 977733477 458956387 382054413 973368585 974432119 845078717 138615287 796147245 901432769 785437513 598534731 63128813 723491903 398285065 781028827 85437253 538698717 548084777 661028071 633507535 520450411 636235005 914159123 174859733 610126499 903860991 988820843 38581831 442468135 475159507 813110631 438619323 197163903 641245763 658083299 21109105 582945821 379804483 816436517 579811663 986515033 247903983 279339225 511178983 380291445 213653899 852534549 814730603 595190683 650084991 404604245 833844161 239331035 583978337 58641279 701857643 403160623 539436267 183133409 158247321 656731257 218423297 749301553 931574309 56691585 781851821 35954057 702497931 998021367 410645797 976478065 189555445 583945591 370022593 848740821 7595313 593373571 955109125 271153675 380645303 602246271 322342047 713881809 100864675 3957185 705835103 421925195 757328065 817135489 135140929 830283269 794336381 342582753 93096041 756387831 882868977 550824937 985345571 251687805 879520985 741810825 988917471 151710555 715927965 168427421 471640893 148942273 92221519 545955557 979988475 382330689 579790499 917526795 758958345 279115739 830530553 964855967 719373943 469935603 909253211 51596571 603019137 807146327 46874997 849661407 763313549 830441533 968224671 113451831 123467041 963272767 867877079 785883985 70970613 461908837 755903945 164891465 59280099 873498395 210138815 349508127 294130411 296828727 828179635 303007677 174038077 415119605 93336131 882316275 376373801 307396093 885110455 101702009 373016365 58341209 77861629 440652021 473008617 345610879 773152943 239319019 606385195 423566927 853763848 900402129 990920677 253483019 537513461 267611387 21419571 623304803 1169153 29425071 850005079 536719977 91062371 258403093 773285565 625095325 411451901 518358077 721037815 353192419 200577621 222561567 146566083 280697481 486629785 818956193 560681473 458483011 278077089 806912647 93354943 461373999 953937901 195211397 385617457 228590033 878427813 357403445 387840429 735403033 280854421 385050647 561309371 570796891 857945657 866197395 557784837 394308435 271645611 760228861 394283615 437851687 18083765 428839563 653539779 478181733 448101831 528946275 361909333 210835203 74093559 421539721 723131487 723192411 960338437 378638321 771927125 346174261 358791255 114202229 825634259 959917247 327834365 290785747 528795291 241529483 991972527 528222649 428152731 784043927 983765963 974096307 185418209 250834763 455827289 168201791 555576749 938939507 887194119 784360379 283925345 913796675 845968175 237764977 689059977 213212503 481487821 531792019 26372821 990243001 640783243 469968187 268653859 908920017 22719415 498875751 665887861 7902841 195461705 928181763 539089145 56575467 574490333 807082977 33929471 357562317 235444159 109241527 12001795 428357677 707449051 439177257 995563945 630539135 548733641 890301633 65449661 266592675 657876425 374272237 443897391 259884249 160856771 593052167 202639389 761720533 899247171 11931985 783808203 955396519 598964099 28548343 681040801 87126733 742562659 750954245 209372215 95936559 970825063 425062007 825401667 615335703 967565505 444222511 864590763 899088701 928962375 387863541 113303419 570937275 51191417 630531451 358209251 927546905 170015357 232649049 385047363 786920261 580516131 593145875 159951899 68948113 265966307 394953487 767306261 530573501 194507227 435558815 487890953 365296365 237899475 994280445 815623149 737790895 946112057 280561227 868362727 157776887 345525543 636115857 717714755 25980963 81303641 394111681 461754739 783285497 525467449 469953459 732161811 745202339 651510997 39394345 339476197 950358971 434259171 490446541 554349779 751924285 150637253 419700273 499924725 349982347 980057215 750887883 875858561 78018677 800425411 423903999 797949151 985684527 57657065 347477523 594181271 67565401 355687917 243609405 933770845 497524213 760142199 236457363 726499341 21522801 785574359 131645463 124906921 452234149 119170055 11045043 849621085 995147721 949241505 948869943 293932411 10931079 470365935 136537693 897414529 486605289 812430817 508639431 250132241 559106151 425651981 267598333 663624181 506235357 744546227 369803631 260701217 276838289 595945913 531523449 242430129 699174957 425012399 48769117 808879335 348073675 832161483 550896959 750388527 951789541 813802479 631639349 688884765 259356769 387380385 642325047 993616235 449847949 524770577 33599527 432625917 22774045 851242515 893241805 980303837 401986097 2801707 47459289 505841471 249487947 643263611 442013671 407950207 140322649 729822679 357106551 682264353 451593137 749009845 986919667 33553357 369991439 436094769 329947819 895229273 256425883 55757847 17941463 957271231 82747103 58927059 292883357 485688611 413627603 104825981 308897793 597357775 223433939 363741141 116168441 347900985 547215523 992894017 61614427 418252025 791591793 736417235 984089577 227745493 409444565 236484415 933966923 502936757 353747913 303211749 156069397 6312879 607139763 842641869 834542527 634316799 506188639 169123495 665531817 326505989 394788357 19694281 576827679 13235533 300447811 610238259 200869199 361811341 44492569 375592843 877115989 256791453 33963769 837270817 749542961 248005763 241765559 479680493 868258251 699668583 61416079 173097357 289710583 683498913 451788585 198207559 545046635 28457894 459996815 803580943 184487629 470360095 729212727 996118391 689394081 937820629 63772929 620194499 291215707 575807419 307762223 645553877 220432725 308788203 468960367 380722753 917187791 977964203 321681879 549543995 5549041 371216741 965808613 448887205 638101711 363166634 338372221 302442501 67203679 787519035 471008493 395527817 985051013 647828469 371280103 126731529 662632459 9112807 330730893 596543237 854530463 824538435 184943203 568163491 684121307 863259749 767299157 378696117 465621571 574826447 439513783 908462255 762322749 436960301 601792585 454370225 792912669 234401873 873862705 135818115 71077401 237554233 25934583 624526997 405647447 443071495 591870359 12150269 878445275 630765317 831391849 103209081 52423321 754491047 905302581 445074291 442620777 806974857 864700199 236392441 933282575 459279469 728051669 291006915 254021681 622025023 486844989 991211567 208863585 204637203 618600641 184197445 874538011 598951459 248028467 60311219 535699389 60774609 621609923 284372691 216450193 335053995 524400659 515032481 856756425 967992421 99226149 341263815 149251453 594679767 393563497 72808336 565913009 355425541 200092593 207399419 777327435 221899035 317880893 191411103 549617693 598057325 964741297 373051849 750945505 409519733 201614875 931022693 886127673 437765847 353833455 811376651 477514669 223286877 25507595 243874043 315352239 486900477 338282677 929141275 245404567 125046223 945940377 617361659 851761321 943513623 353141453 273483219 287303435 314152515 332887757 916632707 500628431 73037539 152393345 839533455 103040239 463082931 497343027 9295143 68003405 246179479 316554905 873717285 503553713 288722075 361811411 287955207 475151565 378087663 383065187 437208307 229329977 979370481 525411895 841057465 721497719 716991525 925980583 126379985 550063089 765300021 177253995 538360151 660665079 115341043 649395885 485865239 921256643 629694555 557551609 418770047 902353527 717637777 10552899 647523235 244338715 375496673 970023657 78023237 291195809 878481085 666015663 652946637 455844321 877180095 232176069 575603529 771879837 887409069 403954879 504064623 60103807 431357041 175912345 349276831 67224087 870317085 642912697 35836643 848272607 926786287 721965549 490939879 29172023 95643974 605956457 590202115 925496939 983912627 651669197 447920439 470219179 857514725 126188315 352959529 812171535 96927415 891782849 851115307 985074841 792240943 224770709 618401329 983867187 544641655 478953683 382585563 947349421 906345699 523763235 783125873 447178175 27846123 62944399 712369635 626473743 798414135 71222415 645038789 624801827 925979535 650916351 419258971 487197547 114238951 925283107 174192009 650205763 71414363 443747755 296198367 673039851 786852141 946018217 938245011 475088013 54149065 482626205 493776007 741712953 992808897 776919147 881004353 184684519 653254099 249819745 808723695 459497085 154805985 793518643 25803115 510700479 332545269 719118591 602256433 748627811 408619075 330610763 194702699 311721471 995267623 927012611 607320805 217045011 264230947 207836285 961379611 818424589 914711779 28288885 149818407 468232251 968089403 213663507 949953747 881287125 990356773 794409953 156279695 971546625 352017605 193969367 681670515 408328131 721029477 613873231 692087609 91444753 38817403 769776401 764832847 561079999 174216863 760105291 228180927 531460499 336959125 972737423 344420163 227175731 654557771 881537501 499767865 323147827 3809745 335417497 586403497 572732427 463354979 397725583 383587395 491089435 346247525 539070711 332226908 159777965 418644833 133437037 596109301 96043509 984309005 287628791 468804788 559668999 680771649 687436545 797104107 994311913 817780993 107446111 950136463 214982017 44409979 919107665 875635005 918111395 234834943 272438653 981510977 851727109 714074121 252723693 2015623 473228109 77978941 996127511 331291561 417299198 541526887 613659611 154383075 564108175 1683065 317408123 815185695 687586135 263308173 946755237 479609833 359409301 839196137 542270575 43632507 233874549 437860853 831284565 483050933 777596425 335048265 40080959 828801307 478120263 700576923 462428537 908882399 206353427 422691025 64729525 203252951 255738679 359828471 835869461 4803203 469770593 585764159 799045147 117145609 530128939 962582277 259746999 182599739 717915929 974733769 515178301 231216269 196606609 437459259 537764201 650853407 946887909 462790445 258460001 954997945 759776593 639657111 842242225 97567689 365154033 837296801 131744595 277046121 825033685 504920467 170981535 601867607 772189159 708687841 569482333 15989751 259287047 880110885 595449273 658853725 781378801 860670757 187660361 755995199 323810385 126631115 29881097 201177339 432253369 461834027 253832031 615752343 907574175 623084159 87668251 661974471 345480295 930027817 583107693 990167005 821948249 433014967 148733175 826621403 714395559 870512861 511986363 699179369 659395945 355380849 531751463 271988691 891499169 725246077 31286803 5592339 636202553 476331303 244736697 771343561 456106753 982791875 43719357 64984377 689537717 23502031 947523633 793189973 608246001 906801901 609211271 124634803 923532867 866462183 751534749 660752531 231833371 246236851 376735673 873093339 298633937 473020777 449963655 559221789 74204839 330953293 472809755 861081483 2698439 214213323 441009397 443384331 157501761 355366519 785977339 775296799 309493519 657193995 231994231 317529079 864549139 820533355 485400351 601524845 468856085 124818851 22869523 57744893 968906951 918403043 858717653 343800017 174736577 712452745 756498771 676641975 799910789 422414617 480788963 31746597 363257467 174041659 350593603 345217341 697552633 311743685 872373653 944050885 653262643 251471537 933394539 552490283 339120459 430578723 29674935 576225673 101572173 845430375 373194709 269286043 233152807 353728239 439404431 839188425 207068085 112163413 875596557 281660453 605550519 381237599 1586921 194021731 414246359 725557237 473956637 447989987 501660325 625632813 181835791 462496431 321846171 29555011 407179661 942440563 214879257 826848407 520434123 290211463 122927723 86428343 705973351 413921513 539345599 24686675 604468071 245952067 791957553 640070475 313112119 930080485 566513601 892922271 184130733 867983297 433269593 230569081 4594183 621620605 122686665 588626737 79401447 176588123 381425355 553651261 701813085 226995275 867143167 43105861 945957855 741170663 993624047 965972241 85439049 653719403 178942991 497160853 905376735 656778433 633420469 899526635 927637839 767515511 79232545 921405017 896360369 946154435 45873025 614412361 410935679 10914183 222858211 656154703 731843485 691309385 487812415 362286627 447204957 885670711 509141371 641915309 941464689 692672041 15548763 806185461 740885495 844265119 61552531 851955247 556161909 465740225 591955901 898588343 903913687 24987739 951406425 193971215 311854193 437442535 345960655 852166115 972709893 308362117 208869491 125686791 836372915 643539193 881709949 954089843 469003019 367754165 994183437 924788047 189223939 222550991 426585389 671206371 575650293 49088775 844185039 552526757 866803369 763172803 811741645 555062315 147466059 492200467 146311141 989904703 174992753 538563759 67425733 961339847 963948057 152233461 612689145 424186585 147146407 936642285 566501375 944531631 134410727 175092805 141485365 357461933 915421969 324635479 840098277 891950941 412763841 252924703 562726209 445269875 238898683 844143431 161491299 836675787 203791151 332823837 390655049 553097833 316169009 518685847 452395745 826741365 527112253 890780503 618209271 392200517 422115065 712611747 744589129 377545299 706155891 900931433 960454261 921640259 278223903 137445185 139672069 695429345 220397275 573640043 22399595 537756189 549071853 651530447 710224639 826818839 844026113 477314041 811322629 639341581 279703085 847204899 881130659 592065647 785570543 607653933 968721387 35602893 440050473 118466971 520967639 655082723 239966763 946937759 724342601 731303575 559128491 473614863 450404361 946767087 438851781 885116009 458477001 521789475 955385085 655394009 589353251 4532619 125724995 639156521 282907797 332088493 397086441 790952401 983401867 76822579 471578799 327187189 46111061 677130479 909116857 215131477 463078447 118982365 395920531 858513767 54714933 321183779 787251255 171223101 791398517 29806089 728776445 350638235 265391583 337399297 189481899 864901605 908642379 538322603 718207601 505840425 812285821 577692359 625779171 102667811 187050011 326706753 745294845 51862063 79058103 98879275 411594535 125544787 44060875 787718339 449511211 601629505 946900409 404668521 560665151 81482831 598714313 449307819 125200899 586623615 600208683 57759803 34273913 190066803 855405307 177169653 51939087 145853565 498056763 151801563 371169691 656482197 218341071 51613465 432895835 263179355 99601551 943348995 633026547 124647443 240883759 550178577 690807407 251847599 901773905 704008171 13584455 920513733 697547905 621176153 875244119 313502355 630258223 343842127 714612707 160213763 875925427 136403177 93995419 971585957 575579983 113258345 207880339 806778539 252509227 44341053 227306311 741865977 122988379 596504819 857712797 476843541 879067351 512549451 114058467 156677935 383249537 354507047 165262541 858130459 983963425 666580113 954898041 480280925 765704039 739047871 326774893 938028055 749311727 746465545 329624213 594666781 595450681 832869619 929797959 473791971 223080623 630657321 185750593 660805515 583944609 559583103 629010341 745018843 560427337 930884337 50948357 466708545 859683527 37229213 216788049 246985429 879440935 839425749 595199723 47091543 28031319 973231111 98353813 649044013 355122 728649683 354828415 897321833 337754235 375890935 770935867 752867263 121272023 6661475 80223945 931027855 907275739 79094055 721170317 417120737 867091455 188861311 985844053 908095845 1045411 764016335 132304213 864556401 350370835 410857123 127739947 987125509 733619837 756000939 786731229 872038343 525929213 505213383 750360535 660526855 982742931 220147957 126739439 799988923 26916647 497818213 823629665 805895813 992339596 693358695 742398675 988880043 9958269 551720569 662379603 873504029 459998615 578152507 814949975 219286127 793755493 937947259 53455545 131560165 841143129 504633897 371009987 422884705 525478605 734551909 592965917 83706999 211872001 460776559 914766047 770650971 28810781 9911473 583141511 929733871 725519925 218350019 846370809 347257015 823605823 680617051 347046529 824581095 978693409 839825761 477196759 985376849 524895903 458848477 166535959 750263671 825286765 475139331 907865541 911224703 267237669 440205101 908148433 913333817 372451141 696163041 976303503 25074205 2580539 823786184 195177659 228563275 564115283 195701177 724269435 403933831 763325643 988542891 385894493 102725699 302402241 427236545 266018901 466823571 586890815 238713417 712706499 425960763 612844087 827934645 115912041 665915039 699918977 428538273 935267189 513395407 985733345 442679503 895317117 148416387 193265661 758866219 846722173 390771737 446827625 669438664 98153437 919839385 859092891 816029923 778771047 901296817 34140919 161877213 115598419 932792505 295562949 266456897 115119933 126343347 679718199 472362179 151100713 712039745 127666533 525315903 696906631 972905143 471374931 143253687 402193449 844452873 793116135 357760601 853049935 87460825 800654323 952790389 230627741 475517293 426051891 724694663 304868641 166758835 707084867 689953329 991668815 522733123 977542835 312213571 881355269 679333981 984005101 452051627 819297161 736408551 313150033 374209159 644799879 95918705 298798619 588129563 771458837 386940467 451873399 369468623 558081199 191906061 120877173 555549241 191028539 299550595 186305039 684103955 768239367 162063813 882324263 167985475 903888073 399762093 329300613 121600975 178678941 262174393 504074459 607442415 953664775 984115983 832830913 864401915 309651957 870906495 898435257 857159801 425593277 962527359 249569325 83729169 781606941 302403121 26156141 999970201 301828409 278093659 676899509 54670605 742515357 974568811 489753121 952310925 179421249 357527163 801516735 194779237 242374529 897777223 482302079 672823051 76471331 13157176 407240249 926972953 216423251 209486175 653418671 148506447 362875045 732252527 820842891 562941341 690404633 728519113 509793373 569502739 356619797 479910775 835908511 205672687 136997987 302701861 504595891 656474257 616018745 432745515 90668511 388654215 689794357 604277129 20390233 56345219 446860125 92317925 548818487 613926753 325044765 394706831 712298619 630555171 21516877 205469055 570873103 449843955 455458853 307399765 194897091 113524777 387981903 50190933 430618961 416808765 210738389 242277231 60225625 921182161 587780143 431614525 741546599 748389555 479459897 392713469 358364137 401355477 52268855 395094677 231730747 335654483 145771737 703177109 70226589 222414191 258281265 758723379 390868281 947264405 681998271 497587281 744426527 987994713 462461031 73349237 419441737 226857077 49135735 633857229 795078295 750091979 394052003 783709491 9743059 388895081 716519177 873961251 844693681 583667843 105430063 299055815 48300743 637465967 347717633 30205931 259926423 725113783 509977557 713205001 830584457 545345025 447542887 874753089 888284913 916537635 469525727 846781015 222205703 65870615 478601671 698437053 972383467 600340991 656878101 407931785 324349863 425754923 728451625 567950459 997144111 861592073 226822341 396879867 342231127 918531383 946510359 122066197 306350565 110699385 534081207 491762051 457088897 851548855 462580895 108911267 62322617 174231303 347700787 655059581 503296523 762617251 660650309 834923201 179904469 458012655 101938183 715262403 529498979 756412533 232389143 10153351 73995490 916620779 732562811 868019377 261370735 897763881 343092637 93568913 464965131 895677749 720861271 204945181 715741853 919871031 916696291 816877047 634612985 358314117 493583079 772555621 720348631 967666843 359388529 96150101 760318423 880464153 303686135 966115937 659484803 201981386 142348115 510920389 823356749 445095 95256269 40509801 911135887 113728197 270018833 118594015 456578695 768760171 582715189 871287899 627610211 589438723 171940791 790764735 916244271 140817439 564972411 277686159 698276073 330331773 685349069 76736765 236458351 760255997 887517285 422837215 536142731 599079341 613033567 231841461 135725551 467934909 321378623 118471845 224819 720135565 909821173 747594369 105323995 713024157 625217491 520982459 413340493 580513689 487219097 760067961 845862619 411062355 193273451 385146237 677520833 21170121 770033623 667501367 906499357 235812123 853678033 445845697 367115001 109458071 550597559 835740631 730924871 552365743 954746191 968978659 862371551 904411903 692450757 447496179 576499331 207640905 558943919 155837887 819671005 979822713 99750667 111563429 952262271 854448033 945407547 731713451 748265695 391294207 624225039 314219397 7991137 168801013 209699517 377659269 313990477 983112461 884514273 142696109 383759829 148796155 611792767 256610981 80972049 525299099 443769861 341318841 901845763 476566511 780655689 865006307 971375765 222081059 704195721 528761539 616812695 429698699 235397481 117307037 748052165 132122785 578434295 204079203 1507515 433847817 785713063 788781739 847436551 408755597 398025559 527863221 19781657 381073953 314651211 790132839 831412553 150596577 553007155 326846801 435534297 711357711 241335587 404114347 409453555 923898137 771225751 322832979 757650855 466171279 488124021 221058769 357343217 955777837 733272587 750736468 466206125 743603415 795468559 40264885 156557993 675830423 851160219 751338351 279594645 82714785 517836343 489227949 218259977 83739731 649694417 435422781 824772487 468718891 160581051 189247125 493842553 840312791 235757491 125398999 592551983 308921133 329308641 82049737 405968611 784962851 260967631 622876121 901109941 240955359 902047092 662150687 405500081 3896491 601184303 864576093 435988935 434436349 641396673 258732533 213550029 142106477 192350299 782800891 182255753 25872577 735859345 758587939 970053795 294658787 127060063 473755085 190567083 77359589 248826411 435441923 748767259 394195715 372480451 369972079 75034197 662747041 998799707 203469165 942737311 297588811 874476177 908585723 297784879 117199283 726695787 547431615 876485913 976169395 465991509 924927243 274919779 996252241 213626405 515117777 151965429 36571319 406732055 807047349 307196319 741473335 922356179 734060541 532868635 108281167 852230499 88098201 253883657 883786911 585709375 272030495 963842037 313767413 658111553 791109581 327923277 647242563 169634227 860428173 920824941 263892901 209980477 411665389 442094741 654746717 798652151 508829475 39226861 172296149 379775583 362145553 504872841 260421285 255520089 12970045 532489569 792118917 202956339 759139541 442125653 948012887 879054753 525128113 535766063 916919849 111556545 926692689 175520931 198624813 646678297 868710109 905338437 710198207 285924243 161890593 619451547 694985569 788404105 909179799 959207435 230916799 820009141 397003103 186601 836497837 52334399 392537149 197182573 934253349 841790641 14244771 290400183 883636299 578523905 826822567 547045073 336689001 616146319 821287433 925628333 762290419 518469661 53186863 821399333 815344773 173854681 724641577 987795961 131580385 350705241 485692079 866395089 416125427 523621531 578823199 601486401 594575311 191016451 672759425 864003007 642706863 445191005 452836483 435521711 615927287 978116065 941283711 351253593 802327601 901116971 374560369 670449137 924309011 485606719 341813507 280429451 924789 53205389 187797123 179896620 461450331 816011239 83420903 912042429 702576115 33907853 457816017 277705741 557669261 391851557 705548167 850059225 836983461 423412919 588945399 880532159 559075039 980289215 429752249 610530121 761949445 139511317 82782989 88710121 446170125 750894849 713576155 446162423 467735567 56745263 228345263 326406839 282527569 357426869 612148931 903233615 47604539 192698127 151838455 15511761 655993187 275508261 240341455 901788473 878138501 996967745 636638333 221998179 172247425 969753115 641242839 455776799 675764837 464075213 500806747 848174615 645007713 737505249 447526195 748760811 624272853 432008511 249130799 72547607 517460287 593632577 500763329 515804679 356801103 578544799 54247437 657491211 50211797 368013955 993888217 626157151 680329167 981745017 767889045 32189473 828961885 336211061 251892565 10497371 205205709 766689749 567583453 353718525 91386513 930650719 756004497 718550245 923514947 885606463 510464895 925640911 130846889 547298827 767792995 280080231 665604525 617072575 317582231 632769853 143508323 649588673 438621735 504883147 406274307 562971615 158328511 75212915 754858997 567185999 106808247 443430269 446352577 330871979 56089871 991062809 239923739 533367035 183418735 679048292 671355357 773896365 457904931 523077213 272485901 56980371 326041893 404816621 475776471 776919275 447825941 349869029 642740873 640961117 271345975 409989119 854190243 981805301 814849405 418943451 45929159 713522727 286084733 60345605 319129791 251267793 988339061 613639917 498864255 891210807 39397455 541534699 262289187 528633609 431748249 636060737 177491949 728618073 142617227 373961497 446476617 212780711 703734787 639889283 620486091 289965273 991613833 492382585 860676909 150512951 752136525 372760283 926860627 590667901 249151011 225898101 721166663 17950915 166645389 176190709 618455613 607195281 527319987 998523895 50223249 416486867 785704035 398413051 296607943 525177055 351643155 808873579 221255815 240636787 108077541 972510359 458703783 10542001 400539551 215041209 126957857 686752041 578024623 408445425 619523097 393028049 289765677 868502091 167389913 256490245 328313561 524129717 601742295 833933449 447717913 647060235 222298795 344629645 308063999 894227725 158044441 738349475 418188863 727319395 448743439 359848394 355558969 452958113 667646621 257799017 388284917 631457343 804648191 539912011 562462243 666766237 59582873 566524580 480292889 799312135 812217335 129367061 107170007 844260267 113141707 963445409 808285699 751924133 980350959 291530419 227669741 802764533 914769769 410373925 768614283 803708035 529187425 879013939 296502143 272100643 261565743 6316671 514212111 420948621 908916553 295643161 141529131 880499297 588129877 494367095 617216359 838045993 119276319 216747635 877602565 183892313 848392857 696017749 285035501 251435589 394530525 730830283 116564141 845398835 231688241 441305575 992774779 257186377 466435583 898902311 474757689 962850203 897307609 416473459 944113003 754024481 455023741 11306007 736002883 279915195 305541835 735371975 725223833 973184307 545834705 750968993 695003625 145578811 314033857 518241065 92630107 978927469 554637303 693006159 515132095 834555975 558432245 354623591 879294349 165213495 492733287 446903597 760241892 419992969 588669727 263662791 829404555 921531259 883535131 251140035 307828721 435349291 93610877 814289685 203678507 654725027 780478351 313542427 962953213 411371477 55758021 707366555 696822219 7199131 794643387 960290241 935055269 587965619 387441971 775402787 333347139 860250057 171989273 660919487 746140675 76137839 575637375 841727225 555894765 306698011 774743459 712605085 5729455 814111281 271019239 88334563 618139297 907068665 218434005 501680229 951546309 560186789 520119075 884658733 143941821 342432591 2807465 945451427 306708957 298170613 128742507 41040033 73280537 472290947 344260501 73557089 863815699 350925257 990537595 523842697 581245199 104659843 363372183 59705381 332698111 271117391 4443021 816797359 858882683 992674231 238410791 834407167 153926591 152757549 902060635 261111387 724246451 77613833 637090113 139773811 628403687 74992525 895580701 732765531 509232787 174924259 798751581 184996497 878537109 250866459 886056849 336340471 764190071 356881201 795618421 949120477 342378595 898373633 551837165 697962745 662175541 771091033 227806467 269344101 566617707 295939817 814701805 452009897 989871915 576967497 714693635 540834227 735243845 198436093 21589195 307457493 77892399 440428137 999266543 819487183 923936523 892980197 188830785 840165829 803983775 308815525 691170749 36485955 656815193 683426763 957075079 609109569 868213075 65253731 232225003 780094491 514249289 570658141 439365467 590092439 48168357 28280465 138126705 149569759 789588339 418908097 682504435 916589197 483866735 375320727 335092427 326426779 188772083 756944035 662071819 872518767 336411147 133679199 352050415 280035031 530278499 987946029 742462941 344385801 23732051 871658325 377810525 380734879 241424859 335002887 285742113 213302177 61131681 767154527 913702409 9078139 498251253 991088733 168071445 588814339 422531279 153200875 328819057 616282999 691059151 391612889 735641967 98700409 845677881 291349217 484297357 936603419 649756413 950989731 831450221 471413199 678225333 962878635 140825561 34588273 535603103 442180199 218401221 945907531 558940577 791053363 248644683 80737285 923536971 492669775 141010865 258909369 690618067 2610149 506396001 153451745 414951963 723522565 710927087 585934947 389519273 812832937 445088021 987013259 407888043 112192177 722624695 293333267 887139067 741016553 680494047 808607507 520810517 883146751 861116609 365166099 817645601 634325903 458937017 253766911 790819057 109510425 49629001 431839531 911190265 428990981 234050845 182324057 924318811 812497319 649036553 873735337 840702939 246975031 566406407 991372715 792945643 706576341 852614459 403800405 18455969 589821325 590060271 641443331 959948221 856498253 500748185 865326713 543607717 717447153 267386321 131857125 499645547 115725367 776649307 439772125 633067459 482721229 309948195 358280543 899413261 904969025 835999805 936702415 913749073 476734987 12297443 553623803 691894591 700818831 698667641 166659863 285131307 765529111 678861195 879541697 257612569 229109713 161955017 273008893 631126701 395885529 329757715 251838011 760930103 54286637 200678247 605698895 316122541 309797307 678478325 363622773 522378417 766581583 714380557 436885075 643541897 106085543 32010027 556781303 681846563 693947489 503418099 204663509 383857433 412106759 601643057 322722509 304134823 764804875 1595607 750368801 826678709 671207367 274290687 139668351 997034453 552749177 27918575 93396477 639814971 72180815 485321231 941720601 351680969 862926933 92050935 325602997 295445507 683342985 615405661 460549155 551265307 15096521 236759847 927349525 614421735 242096095 821740897 592458151 365697255 809167485 543109181 352351843 326876481 794614843 957586453 840641841 230244037 150139549 180678511 238867563 860276459 487318537 370506741 220369867 38115025 248058064 68667771 235624823 771612737 801517105 588207865 122594045 711480485 124647751 599010711 529239633 419942425 68602397 971035035 737260753 511394905 635702437 202583421 116640323 712954319 500820407 2793175 484857299 804312201 142807573 631210347 259596055 327952191 708437867 280344613 434403083 731043919 981446469 673825817 453892375 260778687 881450015 338826113 997633029 858598721 622494811 225920703 49526541 646931757 107973953 674199905 898321609 311432063 989054467 219749657 33984065 338733025 993298617 839122115 727046627 499232159 833430885 829383521 717655681 782309043 724248817 556514593 694376539 501830333 475649583 953202257 191956501 767199233 309555413 149826673 398898619 755918961 918544519 379411747 727884229 943939235 444625867 65666865 198434319 765514967 194947863 616091535 808535775 22858227 985353665 655236185 802563553 615532167 585974541 814921171 548652331 93647819 218151199 653367653 213524537 941110429 795776527 885107877 40182001 698067077 722288337 536666701 367614113 345072819 998734407 422833473 476346111 103842557 279492669 874195339 515200805 918820577 470196323 77638497 244272283 550357129 886328657 620760603 725852237 598528963 132822409 127441213 163856273 606013189 919734901 726572405 779085605 13377649 806198117 607336851 268309549 412651213 464458899 889814419 434902325 55997063 79583775 532791193 103447861 509805239 495155477 13025521 281350793 383336477 403544165 38716683 400332277 762891809 343116775 562160775 417851305 321805775 41927517 478501411 960625207 678048483 793599343 514335183 410410399 242066103 30708401 46282139 369151557 891053397 774285979 723104965 188762103 151282797 892730511 852939949 227184363 959048277 546681555 121829343 627962043 951704333 397343645 337558801 933135727 159732027 685805571 830539805 805046387 273048879 514461959 161196805 163326877 157573089 489382545 683799795 896565289 916072943 136997493 490585919 697804223 732576929 229660523 595145823 397840745 166928103 756460051 997591803 279232157 138933847 167456761 647381721 703299131 968816687 385504907 71984113 853706629 460451417 979556901 878987613 525645611 115036259 979384071 60854879 894457919 920311939 432051801 291039075 849442625 903940251 459050287 891529979 128935189 333077297 73904513 387798757 898984967 443468915 245319471 653851907 697191633 310918969 976489219 65824351 947701131 187019779 448129969 929295917 940320443 382756857 540779213 501279945 758384721 164935143 132447709 85721269 584412833 236019015 831741257 309449117 666492775 849214264 631362399 56746835 992469193 185829761 923243869 358365397 940046421 297371537 728951393 396762437 308748801 405812607 264694901 532183277 280752935 964753675 406833037 487290945 844402063 516721307 576816765 457429213 908501607 961315903 721801739 839004805 584335681 678108335 342888925 170193953 476267803 148546121 549755783 919596743 171067229 807595541 592123775 406906033 506736851 383457473 209526825 800032833 24361134 497734055 65606351 464496391 987195795 227196355 700584095 532993713 925289091 533766847 764499379 664181789 969236457 926331369 115443727 217381967 435183775 837465399 897217689 57390959 762503391 272693323 37495331 275498963 38824783 230521707 659089001 199840501 37222397 837057157 85637385 350599801 831554909 109365297 179654285 2298667 735392591 627865263 51557223 9952763 872874515 99174119 39574767 569284361 194868573 193053029 167272553 283999379 989173565 723484003 258318331 221371913 725753137 945577921 845268407 48296187 666317601 345185283 853682329 587010085 788142679 684636507 165697407 793453675 287540873 227642271 863162419 799857625 51047639 24768077 740763751 842556577 735176899 581509007 813394611 782172701 912333117 503871797 555583897 6796243 921978263 37686193 157129347 653807725 731501201 657207591 976876739 397487293 909043023 685954141 582273679 243797695 997547103 434292675 973569035 990196889 893450933 427012717 625445439 136970641 246181039 809823007 772569627 480176927 289698579 825314107 174537597 118625757 446429707 442761685 656922657 572585613 150647345 124642467 397290675 789946651 829690239 871972609 609650115 126184345 103871581 92830971 114001099 629035333 23730325 822018109 861380397 268657534 676444765 614880031 26257713 180392661 733180245 64435105 641734409 460275193 141523839 50680427 274201549 731898055 259276873 329780681 66572927 753588033 347929481 285642933 789666057 213865107 822894717 580730831 861217083 176435217 887240905 786024539 17996239 658137651 247846265 126810955 985538407 559845793 133680133 756846133 382513033 414320675 624162121 951294039 887793067 66137517 544793739 545485723 488662563 76033371 187057269 995954575 391070003 251638895 220374049 229173867 647561221 399869781 466161673 248782349 857887145 537624225 769864979 389657341 857919513 750500365 910244749 938027369 39607605 426105725 56666155 960805419 48101321 263685115 325197069 466797503 540633219 528117437 60612789 715596623 432878335 587767835 457729809 66754985 730413757 196389529 240799863 815742531 930354215 711209443 734366883 679491135 992827277 652303821 307753917 173268321 50414121 70592849 34173775 174018333 858534171 510495635 223061841 812323205 877474415 983788767 352929565 895226459 568197651 430086565 767500925 676803589 545950435 90922371 580086937 314867349 389240223 579005501 348512523 248031423 221081585 428025531 34993357 581433059 163150183 593955347 535330629 498523657 838926463 8284801 504362815 205320417 915303321 663468645 440062451 28463297 697382395 671688011 742907901 240594087 728227033 392157929 649940067 653598269 672686669 525620247 989677969 928605907 228254807 29652955 490740829 923289691 968597471 205218399 771961091 351564409 559898553 663853045 545277995 500023667 900875677 29187097 868095455 673222457 221636907 652575344 641125525 283684959 570389231 468255683 444976173 130050343 268134231 678094087 880241385 693738105 807844285 645253207 737796215 510968547 427856229 579921907 701906157 916948379 444071543 324568907 339372489 73523587 414614785 377792497 43397870 290654239 374813697 502666397 264049579 897379489 306131541 480176695 233094069 944123617 185268679 290277063 787956265 796501595 696293897 395662463 896442509 206841655 41330613 154526399 909331405 157906757 256547659 853390599 948444989 164624125 996085811 80302083 647065501 630411903 477788607 32828551 368649745 823500943 934899755 606412939 585233703 110470045 394241429 160311351 496308693 62193859 243149575 619434707 920228981 542710975 91165043 484870099 262058959 35678967 49387187 255794131 318669327 758104699 607377029 576764309 923655115 2086659 164138901 310493957 511486721 741371885 966384245 475857975 308332051 846803263 907551387 271059557 945309395 365366445 347252587 499813619 192940401 352229513 495085869 196127851 501599631 60793559 954808339 510378881 455658287 657004089 60878647 729865233 220117953 143551747 804624791 339286045 664447255 401489449 25008415 102322387 74565233 786932301 113703329 837288833 834584947 556760755 990080467 533978791 833727787 833056845 503615577 683261159 492885261 473409715 558468283 478844941 754902007 550403359 929061483 886849033 111438127 315222911 508145089 18933753 324381537 695720285 631650047 185215777 538110883 849987315 258053455 335524329 241900145 825385503 215440835 422252775 903621299 391931755 562276433 818652117 510636723 758017281 453113565 264088215 567034151 196431293 847915055 957156409 607093295 76505117 121499383 102508011 548478029 58419527 414519505 858155021 685843311 377759243 475341119 641713949 385735661 615205855 547929255 298155723 541825919 235250661 938188635 382784231 351010383 385315299 56467093 73333869 202068457 665755463 803767159 300304003 229631553 878354475 517325831 931661679 539900597 666473035 570325051 845077929 409332489 354392081 982802665 541458121 790454893 132451209 615171283 84137109 461662837 423788911 141295523 466270199 456033309 383963165 178709737 960971265 859614923 338689183 282039583 293554417 76981581 357346721 902662823 675218215 611998423 635300475 332645577 867033137 323863049 749202989 199428277 333798337 620436453 548794973 704382599 78904497 695190745 509478491 310409791 581926919 324734907 978152479 381198535 72364525 976135879 821108551 130195183 398243511 437009573 185855005 972357745 39836125 48333663 419476619 83451117 552846599 756689261 349992237 456024815 610380029 626731691 691515457 286289127 807217331 503141213 837013165 548807211 125624901 462738227 818120959 642960897 712247797 149535807 84261491 883840145 725389103 305192449 456593381 812813291 779620743 202310749 907541213 599801609 879743413 863714977 368720009 528767691 378949281 929351297 183102147 334533885 56716371 528478491 208028935 805126477 184826623 109808629 785569149 771292247 57837569 432619515 503237623 649763995 989785309 527262339 78005481 539377537 18357307 633306697 520670325 588308573 545873135 602385525 342990175 763903847 876359927 945585041 909411865 694588095 117403253 164679829 762787257 536775537 517067957 229112283 227175167 423245931 952867623 857616939 942133585 200822665 221472361 985493939 437782465 955637387 908454717 594969861 983988739 171060249 197445009 851200033 426672503 481443015 762898293 620797291 254604325 584273419 469642789 391528111 348173757 106371403 188863237 336030757 283846291 791342283 550871711 482347369 859993771 316631231 828979113 244594305 667581609 341121601 149781499 134854361 757940445 861376591 289858971 539970117 680696381 727949527 831090097 534919173 839492459 65496485 87361427 323626943 460994989 331865975 985988029 613532285 983452145 609571051 949380815 833043381 938614225 453414795 577216661 6945863 227870857 546231497 405756677 601803635 776129537 757280511 620044087 30119917 535582667 29937773 166216305 126204613 549803035 60659771 209731869 117676153 415686867 232937339 145413581 765919729 920942199 578773545 457207357 139062135 480880953 699360803 727594067 11192259 65208303 392588851 677117205 858008817 691655961 511688971 15470523 280931717 816620509 524416069 892265119 809541999 565200651 895110495 390027843 409524995 732604443 194531013 312271443 997185533 916257323 590404297 195832993 231995011 436177155 260648609 764330027 363042337 379424275 399356785 495266321 208060113 488044401 240440641 902255265 277622763 906584283 749742083 625796685 496852279 125739195 189171855 846333105 192787937 605207839 805968297 136178575 695220095 586519231 168635127 917488083 696341261 944629751 69708811 142979727 618235889 936299475 428478815 462604801 663479547 77761791 920955733 781846155 794874715 129488085 908339509 20901303 729275315 124583505 666351153 871466297 683033861 304229659 223513185 559369197 423337919 665317509 45677001 610133717 171068601 304271491 245683535 361391645 529475117 798225591 883512773 187886617 343786687 210798437 197419237 664979523 27803777 924340863 973210705 177187389 760740837 145162907 582841489 284036311 803966665 106716153 945237013 13261567 45779827 323449727 59418683 412758739 2661263 346373053 836127295 50483349 485814065 639752683 541925453 346140081 484635609 928043239 644925045 419098043 155458413 634161721 159916977 561591661 156439863 458059025 460445923 754703275 795190509 49333571 366131665 919988353 428469167 986182227 601468465 26904607 28977407 801518693 401082521 262447587 491020747 79524169 257326987 99375953 873623401 864967029 686284913 649190161 680738455 51438859 105033371 877726201 856431735 757191377 637042243 70039045 939405723 800814901 993977227 434268501 123699445 548602703 11095417 304594741 170341089 663129567 189043459 992319771 118734889 328017485 109862911 432381855 221447925 155407781 991711279 893666695 341810143 569083299 632253499 723107003 136253665 427938721 601225911 605669715 591755873 293322153 908731163 333782149 931672621 619792747 250189513 817564087 457682553 918578493 729579526 444675445 774911203 244653343 653519115 725142641 149349745 333083575 487245547 546154117 701645199 872946005 863595689 424187831 682588435 183339249 475808301 742477617 39574331 95536937 824849227 791123013 267289513 628597061 974598331 844857713 697208685 798411317 419879709 557891925 672116733 927062413 520410621 734229950 902333493 479657617 150615753 752904352 934989145 879416101 889544669 71213845 768152599 709232345 22790521 288246881 834640263 860546531 546589893 944285423 447175715 365540901 769973461 497107795 505587407 280428579 86678433 161314119 5941213 317267985 476843273 916234413 153551359 447825601 536577497 242978451 692923219 500466357 679813823 838086699 467204191 201758485 460095831 139350481 267535119 797941933 454815007 788574727 343211447 261204727 458141829 565482617 71616025 377668883 599579093 427043067 802744405 234617541 299356236 419789447 636954619 126932351 989080843 622474815 789267713 119574359 1058843 530685553 125159617 338138123 80701803 684946321 517371651 220505607 424269781 451880247 50881267 129343829 314254877 416463655 161870375 591787183 445235177 403285069 373810589 105264243 127017165 502646205 396565689 245333417 291318591 593792433 945466951 159670527 75848099 880686221 866060159 394780111 637270339 503660507 919672061 260924181 788315469 640313681 153895365 769649787 611669979 439666631 993640519 177567055 686260977 288478273 382851415 609000839 468334965 662366445 667356465 452125893 439949371 530974233 964256379 82642255 465367801 635379015 636789059 129936147 599689043 200225813 696644605 261022377 613243857 513504079 539629703 752988241 449546469 881010667 802915111 790700785 361282025 77928961 292620681 172915483 266707483 642531287 146380227 62112259 298752935 466951381 502493011 107092105 633092767 420461201 616234011 681856567 192489465 242914759 832857451 747939385 742659225 730636118 300293881 489888869 422191175 48802637 793116129 892028479 316617909 177914335 547362215 571794923 885777531 606071397 764223291 307905337 316497435 833515621 175197679 275091617 132595455 723959945 160290947 118101057 300492409 808795555 7783451 481441505 849288383 603849137 936571715 968479985 938036725 403388627 230203635 365230981 207509795 907064919 343000457 315946849 755039035 209904047 669149125 100396007 662044181 714280309 770539481 508249131 2183539 48413295 921881177 568737763 277014015 858384519 186356033 800114283 819924041 180428751 292818169 142098383 552574923 82024837 197883723 225604539 108782567 827480843 661180525 737131655 561118949 606243561 131568127 432652339 957655287 66715609 323026435 291241319 18773301 941891503 690542055 531326575 6485665 622502003 312476545 752443973 513755941 126550863 915144207 398668169 616208529 490552727 12251445 125142911 807823775 211736517 557046783 412079385 406444785 538746491 219133413 456699883 451337741 194808199 726473155 306277177 30487145 137759965 943205085 341167847 396209755 92945813 253234147 426519173 692942373 954534131 564207081 737355339 386512625 279192419 674052971 516316695 581181903 876443001 561489743 829453937 112092857 142793455 462876643 802511239 950949775 18082215 509840347 519529523 59497757 164597937 149409109 656984817 958951955 791833915 777395415 388211947 74444809 337195427 210686029 680995567 334714496 23900779 719997453 649082483 492167651 116958017 987162069 207336601 621432963 960861685 777192391 684471077 605494681 775283587 35687797 874039177 170604101 158903567 355492559 743627741 798199443 690273507 21103927 786350045 773268595 14654325 110547567 112582129 822143163 83926621 640170407 554403881 429867057 934021983 606000753 317342015 499672189 22706025 58610125 23343501 647119663 491097995 863032095 352533533 730467519 96182273 814139189 328871327 239387027 316385071 215007555 430505833 638443247 384276129 977800167 418386041 632171017 782170119 980885031 757622393 414840565 223671361 356876911 631709879 678888377 50458701 586042773 382645035 521746237 186512475 627760085 378244467 278487631 244356283 960504277 612769751 144456365 491860203 7661475 63832645 18937333 786079371 170175925 12981591 586153139 832753257 278767589 903322441 931960661 355195767 802547325 161938693 894693687 221063119 997901605 128650521 961321879 375596983 778584053 663307963 932796579 527829657 312757867 185914061 555401319 987371015 210254955 96131283 801299937 95855295 955866945 846100991 64692207 789892513 587333797 387545127 81610331 482184891 280910259 541000395 8506072 843755583 402197999 58760211 736839165 257132425 63172681 575352267 642010189 213429787 850328085 113285229 959651119 522479265 914927119 701489687 974362103 79295981 26416477 875821459 201674459 712403453 300523661 630442827 879410687 926351601 981767315 411530843 274132075 187359767 58329551 2796417 995898128 342048995 242765059 129154083 801857483 582484971 29566045 179024209 459123287 156151287 706513523 88876739 442237283 992256243 381501249 231350229 697595771 862472941 546912559 675659411 743840795 622477605 552531975 263300779 907262117 38201085 280482817 95665265 93667683 34736895 854955705 394695143 438958721 371939807 618829875 980812213 550333727 409199993 583750623 861289513 260668985 511829969 221257615 516555833 762966459 672486927 430592643 695126151 790140791 977885065 15360607 158009943 996063779 6874809 105117745 993723547 329082467 300806723 135840621 310346985 572791743 91379185 495002865 391777409 521910185 79411639 928569347 710747467 565055097 804853939 963487567 949603539 69377649 306065955 248422891 670045523 595361979 183627381 945078355 462207657 998669417 821315645 55407468 221638493 777111921 115006263 693242247 26823071 334860727 180130115 517937495 699796549 228949507 69534061 925978873 68084175 421448965 845875947 923371761 374599011 606790747 923068949 391433005 442656209 283505025 20313457 893693443 956432527 947035363 996836519 217630001 137925823 368515281 752122253 390394587 652391975 287971461 205616415 463147661 501122101 110914849 20689021 860421695 607369475 468677805 934861813 137734477 632202317 454074649 976033271 556775805 279968381 575793473 47279651 888880123 994363807 678452199 358203961 343447131 687218287 186712239 205504291 981848477 498589511 683844399 698251257 686540071 109517107 812406751 745699057 983424963 165528287 271159073 614554739 521207975 958692771 468519485 610180101 177916017 859113599 749738083 859951967 674277927 725084953 187640239 542883675 595970101 237398209 98974241 459324155 618312563 119617391 425858723 451660907 779923481 104709825 372118533 35399677 114710225 446728959 647716865 482883887 284433317 796873241 583070265 818551201 427848973 20046501 397249843 774724641 898057957 413589729 360006501 948365217 602836337 672968631 504467493 332162109 906895969 778341813 241767093 225347639 140831687 350238227 267309373 248275707 563501859 980852655 187400145 462277149 24895577 746731025 467533161 632302167 889568951 984453223 522472165 273882763 218563057 228160649 369093649 68337353 160955173 241990137 970875547 737893183 980496345 537409753 971788063 911820107 791351545 371473661 174719517 408170607 179254747 87021273 736776959 843288919 509689147 756420239 162130195 696885975 112980033 534717155 171235479 149930729 595249527 688273479 996489129 403272625 548955603 779890641 916348757 878676601 897404853 36362305 640032905 794541749 597178847 90340605 58180385 721228033 107479167 252574487 882391261 241554977 16300589 529982019 841335397 23391229 813837537 734480865 730624589 507551403 329313029 722513401 917137419 520555365 839945829 975387193 328596740 229119375 391827765 483102459 931439999 677072821 20117779 7066173 852571053 136939655 222180355 296904357 484025001 700807651 944406901 863483523 944045939 490100173 361938237 506787533 880868851 999143791 415169175 34675749 624499709 13312027 15352617 690412497 431056967 148606541 487178753 806210751 192458101 391723689 543967893 344222855 528519953 826827003 594939327 104627819 855985289 715091763 516376775 790785613 19087415 366812273 476041817 865329089 818806879 383385075 811357579 571645179 205737511 376576553 377373403 831642077 10344611 658597795 739935021 312656107 50664905 208500255 781472973 902530135 257437053 99112317 786142323 11184375 767377031 335156939 682458171 905068363 924107161 448940859 68831401 293188729 83043405 263033639 172827053 115257169 484526113 533272341 840773017 109865803 730071425 413209775 368083501 816719749 139887295 493419463 388603277 9143239 833098001 964058459 134366535 991196033 931402139 82887307 769826127 160018121 355368037 65535909 197690627 760342365 746329441 198526747 288797737 684128167 992291175 4568713 395212781 256658869 112804667 727345073 911680997 938083389 207955587 849834367 207292687 885603745 706699985 493959943 227060429 551879399 929807009 289237633 248183279 164423357 216235087 47606357 197394859 986887805 369200937 238354443 225019547 382055203 730703455 643767127 975022537 133971031 179650057 358625045 164334493 477753195 147165739 995954247 838452463 839971923 236354987 416930585 334780413 14016177 142652251 648718815 52875627 763859145 414884597 187619347 802626375 673369741 701031963 679971673 757944325 896294035 208151893 451339387 986332547 104605979 338937109 823463021 324353029 324470539 393858227 669114187 998617915 961109235 8201073 878098265 143874873 383723531 373406073 585995263 582699387 222869297 130384603 276091091 487895527 38079469 127218321 943124623 139246539 857281391 748111229 883964439 429224669 82599307 986235751 132901237 414508599 678900165 24615935 284439774 941231457 277809729 454979041 26060717 142724425 791972047 372701581 127493987 73918785 779227109 248908396 774348975 120231943 460850085 426431441 619993185 89899203 596230869 202344947 950153845 866695167 317898211 225005301 543887119 752110259 967835111 695418333 831913339 674101563 113376673 205450145 51706153 430211675 742441081 788648983 933329593 912750147 9769851 87911681 306293993 254891399 16120929 523835145 840391593 697732643 185744011 592727743 128277769 666097789 824828925 4094365 902577733 206542435 707894377 540725507 617905347 873098761 914007077 705353533 640045833 773990669 497846577 291873913 688104399 121030517 857324083 248648659 415657711 347287213 93436795 310841931 513133161 909160587 809574913 492230601 594808173 820342859 73175651 412679201 717860171 552608149 878580713 971880459 415656577 228516211 27025795 49028649 558189487 248160093 999552197 749739009 222109859 825967149 197346035 140773127 311783759 32025901 489563121 620137365 895489231 882235141 85222733 963368939 237168229 449930957 940187971 276942131 685688957 850540803 287283119 472038523 24781737 829423755 423569175 227870657 773952423 174344627 597352367 413406947 320103511 365548335 581900873 525469357 568003783 610957597 433728359 260941260 309049899 547893761 211068975 795937247 832702169 570708427 765366643 329815137 286194521 118196431 767729319 24464833 213401943 405927113 533246701 991953485 186968225 90406881 800428041 463440701 463757367 755372449 472977261 510798261 719081787 420411903 906115375 298165183 34220535 995504219 518680845 440651081 441329374 80607351 751913843 96886061 949131663 299580801 583986795 372230703 168242633 419622671 661414061 61509621 313214075 238491167 333988509 302276627 985839283 406974995 318296893 493004545 951131825 696324029 863611197 466963743 478981847 896012879 605074423 480238007 545023153 127086695 146993767 360163323 914744815 306095369 809174071 68182019 110543215 168173733 870130869 560294867 971493429 236955149 645311959 386321489 989196905 344073601 283658559 787317841 958679137 589498791 508374321 792781193 363188631 269141127 533148577 838595997 490432431 610125981 568433953 78525717 263050613 682783681 720842739 350965859 420802009 138472507 10653949 760572641 718974713 974160823 969410769 995565517 527728921 39717963 508048547 187998547 667608993 829582195 506328915 332927877 570372137 419461399 207877739 725012313 57910631 332402305 294647061 960233395 999891521 505365865 804675373 592044635 802543811 214337769 348709425 987194115 295456029 745909899 974125639 957853251 214770351 903792951 54150463 589068447 279309561 317196359 846228881 717749629 323375269 274626163 308382043 36029487 364937355 651421413 441807717 876658927 914683041 702129193 549608991 446942687 196719373 504553779 16605341 798275079 938227995 274187361 923517345 54865497 37028413 301581945 498236563 985612973 60982543 467031975 373725313 547410629 602293331 817374337 25282849 136938315 979242483 978671363 555864533 313050831 918231047 35176851 589135523 501764813 252686277 580183039 591928633 989575329 321783445 363422333 6024175 782580889 729047807 813871271 51024581 95098085 158874551 943184517 634687075 599195805 824177305 558677381 730846997 621784771 26238887 788884857 404883413 77691201 605074957 259409823 868608321 366322663 249803549 278564255 463750307 572717423 244057941 687074949 296029413 17118331 745937239 394314693 739744163 122509971 317427949 478766651 936039963 361294631 814867467 603447601 558563379 514935955 478523341 372411729 93766523 412088087 306040181 471231919 637554731 83889117 237070703 684851915 936094241 844169717 584569423 579104139 759931877 510934361 630440911 859955767 83048357 545290219 287733203 358053259 622590523 39843441 192826213 864901023 902875683 862804897 973526969 898238203 849623175 585554705 576088363 441726347 973143093 765669955 30706751 606100901 413496995 680369567 114165917 848925957 943007475 466088825 324472859 215011283 85096169 547886345 176196531 444861337 58202615 964534129 723055241 600716879 893031989 702387895 90410217 107151185 689503583 222693585 552097603 987199075 42941405 420886675 572903733 44485301 202065855 392100035 826865795 137575897 871899069 921484553 831627797 162491599 575339063 754255605 881573121 430553339 983152177 547049217 885396355 924828459 125829725 891626381 279688187 232945299 958559249 977122275 924998133 202332625 620319819 230884151 541588775 372360683 110266037 616616349 687724137 24817995 325860509 173312283 665930945 495379147 923647483 394912921 654315609 571699879 83190381 619538663 389387651 143665537 107952699 274548669 106460091 162397033 858281299 996833471 431373477 586403541 959134287 112816759 719861517 429579679 50044267 773342035 121539045 479494671 681051537 331589807 358872391 785492435 830453071 866976713 617487737 70917373 351989723 605412047 70063077 936815883 340214295 219535823 113861661 382079972 968253319 720668609 515938527 177469143 50267485 553909129 430655243 245117845 132694895 950559473 321632943 933757245 893210941 32392615 832370685 146076499 93548271 877527621 211453009 61606087 151349841 755293519 920240941 434243819 948461533 92221995 515130173 531545729 75125681 786834989 347593043 182859945 858916503 120098699 184874861 710385651 567549689 70544489 699783085 640870739 800719859 899836369 147114333 604108071 231986243 957637297 42979825 812774453 705326927 778704611 415668229 163356329 403332135 600536619 460014683 499455257 99818113 142429487 76441311 382695299 490063807 848914049 689134501 836609611 626071527 505764253 915413479 29024061 161607337 486426593 767598343 713635473 910590041 617250199 859020693 789331937 834496249 828135153 623534655 649548599 24821041 317360903 434998499 646951931 529254223 544244955 673768323 489482247 806469705 435041881 556574539 707119765 863891649 832230733 77036431 697517387 260555771 445537907 810617545 642505525 329493737 82973805 30451101 528946637 784044833 71204035 373110741 155144683 321566179 448820967 999987559 519956181 513257239 517179185 381505899 10863419 760377929 300762085 987545381 634181169 829221299 919157289 256452867 912732213 628825395 925396751 201703829 517056553 830893393 838316177 696668823 787718237 365611581 581090961 465802733 787704199 288641741 933184471 734888099 199287233 946257279 466540309 258026985 127451539 422736765 106560995 536831007 714422507 813372309 956124099 759653315 364082715 935779135 344446751 181038725 867634403 574831513 971590727 425847349 394733925 456675947 841763445 212091855 582328627 183292194 634814155 986090103 21428287 164096987 101599569 994177145 530313191 209835599 305257975 618818119 456034287 241439975 872118171 395959675 203684743 21035957 634929401 219056091 138376771 639550317 690095035 390871633 856823583 656896113 351933303 87886319 22299521 783273925 555684001 106436851 224756279 848051739 55595419 1697725 584431223 25926347 942431665 232454619 491051739 131827407 411565075 352809727 398917227 820030933 924447961 678738435 52658579 721216295 776456709 387465709 97815337 195752127 57146495 58019559 623252331 368128059 479885083 332908869 23472379 174250467 969966993 102320255 862761963 676681127 874793859 62257725 989777579 593256989 843201399 961082695 39380253 725282691 330592739 584199825 671617413 537576643 477640221 413692471 746921357 425808491 590652263 550429819 683589455 899132851 555713001 548256457 627034181 387360121 211291575 975883443 937827925 395180869 830840265 565009143 505099467 801515589 211234561 893839479 428126049 219138129 483746597 274282813 829067055 287918827 31085033 925457277 806387645 637946933 928270822 499424403 425946103 599539203 388474783 176410625 351722289 520272585 536857211 575542389 802080301 922125993 590952907 182875837 521359883 186892903 157661639 771514585 382396763 69454453 731714709 308722411 226319123 959571945 641470777 397111869 342715791 386865538 850532519 731904069 26143635 255028393 683997881 537147803 705881421 320371307 703132463 229978883 719503187 966055041 600655537 946438251 169018275 737088075 762225107 271883235 640876705 320187853 45907981 602151591 85104155 976244919 300416703 410404379 816341573 604267875 629940787 122859209 62099133 109757391 532809371 185466215 951459719 949194401 91924753 455350733 871994899 266508327 392357013 238861311 140062773 652703581 98328847 513628459 988956457 835664607 674425939 267521697 783671445 797292021 68249367 880160477 185585031 185562509 427363839 114397315 701617011 125612863 535288981 597244255 639379769 688502347 211583559 440802147 822183963 173597849 827004783 389643689 771980999 338522551 121504337 929483639 680100947 385286107 521132051 428929845 868695869 319751397 109927881 160127355 751848039 928553311 645497193 890310143 448366627 143607669 726801111 816640681 489231139 379813375 385450715 316509311 619989379 462051197 556407847 577386169 515083213 950459157 551931477 877156785 158147561 344747927 62675683 152425447 475428913 364987515 399612477 58537739 362836575 170765023 393689269 21139695 141865113 632421515 647748481 601915019 489620077 37490415 989962181 520182023 563654607 844188705 194646921 803163307 983863837 59974623 528946367 707360235 335191837 855878291 625230401 439026785 321288699 395337291 89495245 418547155 194965069 637460925 484278799 915460395 920208655 139490635 681556887 949778813 819829161 780617723 207300065 115135747 686686949 910270587 760941899 703660575 129242107 140569125 674354463 11127391 685440389 824387061 437800077 25258871 224489099 887155091 988332979 140557885 581727099 685296721 746478733 864496059 108841255 576442915 526480391 194825751 355198415 547326123 85887729 551179685 740575767 733098029 75771653 186494947 231674379 769085595 877655525 210879091 634445347 291108491 897849369 714930207 926420027 483155005 324719123 818219485 651776665 487652503 578082091 859159493 893948137 740574249 412797603 467371547 793758017 745182763 645857957 26003019 454641949 934770555 846359873 843905513 151828067 688360865 559649649 441969071 697193569 900260813 270107671 407610497 585353933 751163859 188921083 183326315 467693761 132516663 689816013 84553629 382051781 194196509 150541097 150018421 477460165 709688405 602147215 493486455 447237399 581015125 242890345 148614731 138502009 984410687 126869255 804359367 315636495 820395735 259124131 444237029 350277221 427553937 661907039 460146889 718623859 906467455 589708867 436823999 489026965 50995555 206502975 623523129 626707087 461869221 764914735 295890897 690788753 31045457 36132819 290029133 536625965 824748321 497125333 443943573 147214691 199535477 243580101 696413375 580869783 359630417 160639005 576159751 379467927 877662567 526428989 84166093 794817433 76767501 447804529 413596831 433680695 241828675 648549863 855756077 952721785 171590831 66512571 132723543 813854667 823984033 15553005 874530077 210989059 185036049 98619239 990883755 103837533 645128093 592601847 516404307 834407295 948025485 834883419 557258129 68917625 837884625 278848819 462304267 12691131 890370557 241701893 707604873 625849383 234829653 984073543 849758207 592529663 893329597 191898445 567637639 51860979 194228675 132809309 457163878 681640981 899433123 244836767 198445577 916973029 218540345 369445409 832244225 544391239 801361931 753512929 237701639 284910983 491499851 673383101 731812867 160148573 239580625 312855425 620914429 845922023 691194393 512591067 136303657 442701221 305080139 210634855 919169507 195041417 660198457 791158181 539697325 202885607 607875159 545934589 260609075 408750459 438686405 904640195 857514569 300909931 923630413 774576685 384146407 758418757 826200923 904944737 725274677 961363711 984853767 167472483 734887803 318821363 595228687 869518119 252578351 975796713 698320093 120810631 739878887 755102223 72496001 161141825 99141229 583326711 542832813 908956675 908889255 723774623 258450117 675764057 592188331 990917487 631182543 618019521 964242355 804830003 867863419 225417369 455248163 926122269 529410591 539071531 752507781 738494415 215879609 201498793 425790605 337577037 822116851 661686829 409648409 4909825 642201115 37602997 144078375 625763013 65028647 241273133 818100709 276794835 183491001 750626919 944925863 96670417 584238357 883804185 262083559 262717389 420784685 526791143 5613897 666818875 296207257 341699163 818282905 457209083 444306325 653272033 580719561 878030157 511213833 817818585 857988595 744031205 213185671 595158399 809711707 59727057 471877443 978937087 57311343 635871125 722787869 9295979 894885311 840521233 692751518 746446521 723411207 497105303 391832051 526283469 207251245 178952151 848180725 721325167 790838327 27676659 710222371 232352081 28463709 929782125 251739299 132144651 565277431 417987381 766750021 617002273 805738379 730983069 462675073 128773625 687526595 244984933 910597749 129899493 865302897 605984688 748127209 301862687 560695187 86950671 698500427 149404617 968688969 197285747 58821045 499578091 312423905 625557307 521311203 614694775 778262731 170417453 576083775 129656133 339292326 25386355 535156951 869553175 208899125 102024871 889799265 835013271 131302753 899265218 814239039 318358871 302281277 601050671 487868279 933179341 877622279 66407093 972999863 265849179 752599071 35264651 792225111 614117453 913686291 349335889 620927831 869560019 785167253 927559945 220668765 273760261 961849217 516461857 297160123 362270949 291678937 845613935 750568293 921824605 620688073 139761457 727325435 504187709 819411621 317527051 728624071 157137215 534500071 996495625 583904947 682697221 174920241 433469347 729880923 473765655 950622289 212561077 944492285 697219045 309175097 784327045 509661055 284507851 158141445 318492349 939880049 700327945 146150393 301862775 19782155 642829513 657214333 65545261 177105451 40985115 28733733 386272197 519440217 130606585 994347183 871618701 347154883 279208005 272243709 428270905 395396675 127745477 689149977 385594345 899820885 121916207 277380153 572874015 874605091 928025625 102673589 267922121 126121339 176607237 989904401 602693437 472875219 690053469 9721339 289179191 779046221 503332463 973681217 168205279 295895725 886855289 876760549 494617023 106624101 611043995 70810629 478683087 249757837 302012123 825971437 867274601 582954721 889244463 418937617 19012183 825059273 176850029 717325327 542833089 655291221 772435287 552784805 459420481 747415613 784659861 453633731 769906641 771730145 204404923 578327673 786395351 123731013 820088641 372851971 762335519 439097114 304499591 884024005 116871649 423482553 597729497 988347211 315363769 688476701 120830565 739917381 498644397 471240945 174441543 700942483 744809001 759815299 140238973 361730867 206756355 844796107 777165813 670256725 328041847 53433191 364657021 323465801 516114221 472158367 934655181 161866381 20479279 951303265 640524171 22151361 754431987 446115143 146775611 157317555 18935641 123355021 40435537 638068307 969819043 293705245 348204071 203089601 134793343 417854339 745870845 756610365 70987779 33839867 95696635 74656563 218724781 696820575 591157557 145082933 801862497 266457659 367863201 274460415 429632619 876437691 490683683 948244087 113865347 265817271 131680645 427799205 860488901 569572271 529223797 75172797 888833719 64892363 155853453 624682777 811707717 799463127 539729489 545963583 553518531 962626893 619018023 464559065 616185073 613736267 622384739 807941307 244269555 852319129 79377979 698671327 598512983 511901351 778554067 498208871 562413587 898408331 341716277 520410273 954473089 948225797 721083471 335085311 853966185 390735483 135172091 355007005 808491767 917957373 847800317 642897085 968405953 319853121 182917371 491504331 678015429 962332073 829536647 457252955 636433253 461517115 464416541 886469799 261526643 573575333 256901915 808656147 564623647 628951105 689821131 923280937 754357515 620293131 638348639 74344605 883441721 689447597 500634351 519009355 763014681 746460277 814705023 91729205 597832829 249155673 942867189 615256713 888730277 200834299 632601379 80863639 632020021 800213407 772897475 314539739 223559227 704976183 519848567 584285945 788111403 128984409 661123527 151706555 476911331 272848197 508721701 150740245 563507625 615637731 205211625 333489698 641439017 890357695 606278999 420347945 286883449 938169363 132578197 167906703 232493077 473584573 799822773 40726763 621936357 848493893 411986353 805823993 154135859 982160603 639345515 987459737 433496501 309533525 150441387 192457175 391266955 277720369 287403811 133079273 900384823 608831385 636413803 147854887 421182631 23531867 748066821 410784791 431196723 464892911 534229339 157650529 580976787 686782067 134017981 35530971 561209841 718919343 846726245 447029889 903113177 862184977 216502389 55329395 532085823 657375921 487801845 451894015 273326209 327313489 727870679 440402069 728664675 296498515 996894195 668642005 553960213 19971019 330912267 441296765 601868331 526563437 249071305 561850237 932368545 863510939 732879293 661412839 696804829 273180249 752840033 381730547 846497453 487052633 449216021 397489415 904019525 708112369 929140517 359059887 272707909 427501345 731046337 651678877 680752303 643671697 152008705 219305645 696946929 889559437 780607463 663105761 751249633 343262223 565671515 842490213 760066235 668711861 825034801 96186507 764517671 684174023 633825057 117734865 291627567 834018101 853886156 726697687 127229515 633717141 260592573 377060459 411455831 479219749 847232609 375665535 768220055 464427983 988445205 86483503 77291195 681616161 221376537 156586173 99059413 680250195 452119703 978914965 332136293 366194499 9261981 408771915 825246287 161113719 197039145 898960281 271335137 698072611 311956251 664981601 465459407 712596505 727608889 344945073 236740407 951674843 226380601 520548797 638686623 712212369 923132591 597789147 764123891 870801673 184034593 747027861 367421577 541578425 104585719 741038993 100061469 281231553 402084993 803232933 764384215 190143467 821939447 305376459 90720065 813009571 181493631 141804071 46330963 740282369 882381085 735234563 261439847 116247237 168221895 701284307 127931717 353183317 763201105 720249395 441011227 137139649 893268865 848399847 849858683 507860161 306970365 484975831 88726629 649117365 326217561 18583833 125077565 811105185 352259085 971678695 621754319 513335605 534762617 623172773 751087443 8972235 391215335 902411231 425809509 878481249 633235851 912394821 887676683 824354971 551766905 337279925 399566001 455450061 674186167 273088051 302541611 105406957 401579051 995981543 112209849 508915609 137585833 814186791 550379521 998859289 635661287 29337967 537633549 935789147 949230219 700838495 311319635 645920247 90178073 766462403 720057521 511545389 932598789 684023697 787068781 826489573 330250919 75193571 871708981 735552941 868692547 13281529 203428123 551053499 919020031 451015235 278247325 318809071 865569519 717246289 65736611 978328019 148984585 154886625 319945079 292274323 375125041 156598227 237873105 586951943 326052145 620291637 404654797 468020655 610052791 255176759 503535 673785777 354177629 593113657 471622183 667680221 492437925 439687355 657337545 221597099 688696059 965208937 61544591 101131833 558544043 309023765 509092773 55932751 423417841 331655613 661725585 18039901 416074223 255907201 810007631 50422647 179801261 577040815 252084023 364645473 591009309 648435385 128936465 57532287 332723993 309178939 720817161 196635360 52666975 94967287 61254835 169664317 705811355 243778777 267395857 950152437 663799391 622869491 65547395 116631823 921029921 158382467 314960859 88915001 577488965 371103211 812384841 862670795 818689299 914096309 778312815 122828999 153908923 384931221 617317711 323493583 177213275 807948647 597654871 977340727 792973039 632130349 200437599 931800563 526286435 56192275 186335649 994224291 204376199 290619245 708622529 853372817 823582997 812981 233321169 286092456 277841327 494051727 485063747 774082691 717619421 572863429 695425269 624671071 970871057 829306699 796337965 795372067 542275491 228844605 603259543 15928671 821798357 397974237 56200007 544780363 941845457 420774553 577959101 463377349 327690663 920425217 621329119 183677269 153434193 560631505 860739831 124387371 914167985 470393069 940801211 30692379 433369231 330703199 300988747 892639401 657825179 371107419 301101097 705393145 180226161 642542911 342051907 737199065 239696275 239810441 657998575 783963333 533711973 827591145 504999147 313705689 24103485 631242543 939933017 901208795 205623123 416039767 362752203 189323071 705528265 901164677 42744883 323595543 136579239 671608323 311512045 184893733 15230685 934548807 281576131 94764241 142689351 230308073 105295069 355462951 113837733 580311471 502238933 390487009 69298337 932535683 707011237 213618783 713821387 973280375 675464883 361717925 59525277 731392455 645714125 121741925 900100471 687697623 815708455 768489461 341686181 720143923 323227487 247265621 248595797 336765069 159919995 475787051 908680099 109614015 283808999 622312903 256698255 655389647 647495545 817329697 505130755 662720999 694772847 308934359 526161871 551979353 555127659 302428977 827170475 118350499 687556989 966941727 204674621 272776293 919824411 4830005 543465481 838512749 102928929 465822135 69379461 168477357 893381843 522321287 223476487 663221313 221763807 918181433 332231887 567068779 770567517 238357507 754440203 916592023 614486725 77462211 376973257 457056855 564754433 641576703 809057793 794745961 988159837 617553641 54126233 317202349 304065933 7552857 156959829 461079857 490719919 249625803 705514985 123003943 951546185 779211367 136323823 726661867 846652743 716575487 503778023 31731711 830544637 564634631 388475961 382768399 630503469 815699103 825783609 788842991 331948791 935042193 960619805 244777881 989595371 805952839 850764043 329044273 821492223 755076829 620439303 445291265 180482957 495722257 860719365 85149053 686803805 946584649 40264159 564490305 475771035 420450453 398642771 513445135 238455005 371242669 935904271 29274835 681070881 293342447 626550943 434126497 457660107 746510435 907332225 970824371 496375975 74693561 664070163 840644973 297973741 80188997 527249567 512083545 182436153 28252427 507758423 132375341 613206415 388320687 390153301 829697729 725474143 883684223 136832407 812538905 348374397 645118071 93603339 440903011 941509669 29102643 982827133 714233071 86992893 925475065 433153705 851139641 535891219 558924475 670117937 308118757 141412315 837604369 749860255 736620477 292953139 296649015 365388129 431773111 508464737 574243093 472242897 220275947 816325649 816297533 76601649 77188511 767779161 663669731 724450477 629903675 527510455 746033895 487485265 592912213 883169037 34635473 473659929 101661353 767490731 277398225 738607591 787915287 809368647 467415229 850111107 803695533 517955837 812623381 813362079 721826203 150182993 610564351 810660821 246711617 34013491 239650635 163761571 275389981 209631989 748641649 830121077 383624415 600696407 496716175 749672347 271075927 448594045 521222253 984422737 405636739 874729459 184246905 806006707 27348866 397194161 322319053 873648079 512644261 803056661 767021605 958069397 250319707 447983071 951437803 949930973 609265215 824502593 189024557 144532843 493090839 962403023 737677729 998992355 713338061 820635781 29095081 475241949 705334901 868552905 421904971 947081933 43248711 313100651 292172853 151049239 120961451 158998171 337747135 80743937 54722345 16759803 861813737 976921281 225092469 961593229 129472600 138964333 988328041 174497983 538831969 635568391 676412429 21440871 357357813 546761081 744500615 2062531 121659061 961152147 855049259 999721591 205392617 354328849 402068599 673042319 610632321 507553679 409132301 691739523 952039699 61308827 170330039 318739759 513871839 247253669 422332521 643107799 677280971 614022405 887231551 745761323 445763431 419034365 93699707 287859007 854430699 795641268 264108425 673568143 729358901 966790209 27908093 597772289 565945037 407010457 536948625 558450403 332291041 120888991 86239273 897272553 875990603 692894491 413452495 914971697 223554183 467430077 386932407 711801665 357549503 935020321 74916413 95905797 664516799 601236423 742993381 943040723 790078723 236957465 8971095 738722153 556780967 760028519 558133865 432928233 877883505 990518763 521693717 357625317 39680723 149115845 650926463 817863501 332709603 378334465 589056753 737546627 915288673 786982285 291181793 920047177 165926837 224188485 298848999 193539279 269341419 946864617 535681737 866558631 728390333 866694689 137753455 842844369 317658507 966573697 513925615 719180465 678452825 150292865 785670275 252565269 700622297 500419457 870103951 747979569 207993695 684061133 839788191 975630755 192565231 857185171 45631845 476330353 600258861 26032879 996163259 909306631 862200937 418446305 245705639 348442427 93889435 249562961 244750417 842205769 286069345 936597011 262071569 849903319 320627459 708913631 467603293 910346995 998399343 895600725 591079131 589211923 918400575 334611967 652213847 467844881 266328495 502042959 266241731 990593333 862659241 934973854 119281721 960411949 222014905 420212783 681159935 468821771 418929179 396280103 245006975 575728207 954849449 905620123 998535755 704441565 128135919 609938305 413535009 332750849 83160089 53196991 658242017 870799219 43987967 84155417 521403033 364003919 5112865 39111491 336153979 109814809 998851749 674339543 845819363 930105281 834283357 59154259 842606419 530908827 669413565 935202851 357079671 749388643 69158629 657619097 541141537 78214463 258262173 358138605 407992399 877253821 334131797 773061439 911090979 296470225 364205859 171038873 380173799 515370971 279525831 938434029 634050575 640209053 212945319 85868307 741967415 864516933 218866643 257219023 269406497 659674217 255082497 131202247 575965881 370156037 212591507 569305743 120480531 285776513 355539087 1471645 732641639 625173927 670831267 791871573 342277405 675476399 91733545 165564415 343239357 447933493 813200157 505227213 353681661 485305149 533446185 906203351 764970933 722410551 471660443 761083937 92592873 504189685 52734569 206150545 530223045 660521655 792541491 122601209 654076829 491505441 754087235 951257365 768357099 326460737 985666949 136068737 417093203 577001099 178619281 138875595 14712223 961765341 418823335 39260515 632805573 506936445 449494701 8566947 876629213 99434263 410381109 667431625 573121835 857392321 847665779 438249729 831381021 171861495 7138375 836212827 166394435 813993887 903237433 53640401 173049177 553593863 674182521 486848069 620492611 572728805 169290717 609261951 13217547 535456595 946731235 855305009 265150951 562735835 716695477 978297587 443788335 149429349 127403809 112146503 746804841 807656521 967915167 992887191 721953343 378392133 956254541 472596275 820754819 35789437 135923 551360087 504821553 778040957 267729151 424644127 805818477 442025021 187007369 638743193 60364163 212911385 372969043 994170805 826344165 388213463 622452671 374725195 905181229 390021795 466047457 83027741 559407905 130487313 603073901 641137621 146451627 332266017 123061957 435950083 342356957 327846969 902522093 705095713 508252915 244870947 865180311 594050705 132575827 291875861 687455001 902890649 324750725 660977069 306806131 83487599 125549117 714705137 845139789 697460009 537683797 741422669 671054323 411484105 283512275 677201047 90842975 421912633 396384225 16167949 533240111 599238473 250265041 169263955 53020075 291831475 698390305 318572149 633936579 474976279 125947763 54641643 944754445 526201857 50395025 196060049 228540103 397317343 564603503 19782571 804675291 446423053 315074599 222678505 347242967 624410827 33553151 77268061 915267827 649673027 124031075 967396999 505893133 465964421 678443489 981354571 233135531 561839241 966718009 38865655 912028161 302304565 732060749 187655231 384714721 670441293 719632935 677836097 368800461 728097927 227794939 366803843 804340973 178513273 385967909 192316401 508890127 376075939 701199655 250510305 563029673 476275059 326092461 333989391 4677339 952003383 638758027 428211619 135608687 562312233 135912123 213464359 858862801 645130345 30699873 88747921 790669337 261561089 315784135 829327169 113284103 655363813 929460579 374356729 412370945 690267625 280261325 332030183 779742999 149366739 721678025 654189475 550918913 408164171 207720771 975143205 735519005 541351135 521436239 10729431 368808309 526388749 895421737 516506501 399434675 203790387 568972079 259252835 538200627 368933789 141375731 261391887 14613745 329086073 827420451 605692557 951457943 301711841 938726815 889450829 559892851 948885721 739791461 618348067 893149309 776007 76678309 359447627 791202899 936290047 9493423 766955371 819976763 268201145 735275519 551188625 792844585 143840021 743521849 266938163 609943727 929260445 691830825 689135659 737918991 425969091 946919873 508930753 471514929 899202529 127679003 360221089 57968545 921743925 884837501 272323041 559985051 592988651 475841871 44359679 668636921 252300821 157964585 715482335 749114951 176897193 23255489 337176269 855794097 359501707 584311037 679165057 629353487 317723013 357087721 9740823 88645087 885476165 695534007 75852819 648008781 161151077 209131201 520770661 677043235 28681321 236557709 799633759 881790171 912032695 218953157 314111169 329531283 721568417 997680957 525674159 191391251 647840355 747671277 933932727 723025355 129103387 277539837 627805901 597110479 672990163 900286133 258554447 781277411 614841725 278656393 102681347 227164779 69058033 696168979 412889621 177608055 677797873 470956569 855901467 250789565 239984423 672866437 501291795 612665503 963208997 556375147 803164511 473142307 953114209 314361349 888078543 492043767 978737471 610776501 869819032 374117235 465357063 622791433 923139927 137537945 364914923 271643059 878112787 612763659 863876867 384082575 843808565 692577309 895230289 646825631 502275477 443777987 176569535 592341521 372584305 761872541 980236829 672452915 148172141 201203957 952007975 90284421 435491735 119125175 686274425 672734889 994553955 849057915 125137313 771465577 354619311 552610943 235101711 927734457 175623615 470127023 576362011 913540277 41159747 699229845 296645895 959128993 612189519 722783339 604698877 773192933 600090719 978123791 228833805 603020311 780537177 422186249 14860593 460842993 11044747 117378183 217324363 669305687 873303211 878774371 358630947 134845011 908768211 385259035 160231275 968345371 99396747 675665363 65660347 451604231 413379521 797105503 49698709 238091675 798762695 390097205 47106659 447778693 39500891 910123891 594228085 780415893 489582501 429809887 20982021 240920007 798392623 473839597 415939379 585057343 864482289 887866799 566521099 249454153 727372359 53147367 94923643 630664533 37463797 378243323 777730143 266954243 995561515 829689597 206499703 331683601 467842685 638540961 508369261 165333103 369237479 373327177 703097553 631120429 229023951 603606777 381913373 215457673 610611459 893169507 534409649 848636899 196904119 240223453 540668633 744698825 841045897 44702055 9050309 640826347 428065663 789946791 632414859 450067497 128518661 668334573 202667825 583619715 946364145 803997489 733014687 420664355 158629247 741116433 495408293 309426273 645603159 98764757 802239485 639097779 571654019 938030443 572027207 453425345 854384507 706066541 741803535 792313681 298275865 422374425 614721987 659525467 433509543 978975315 25883327 697550329 396042189 807274671 483261249 697324653 957507747 508250979 17415287 223837987 809554855 104898123 888756591 957425837 624908733 742954995 761116195 585728201 54227763 482777735 183046771 951663449 205163197 932898017 717921577 429280103 569852025 283728765 570857207 763782695 924675307 417275267 765017975 883462133 753192963 398832069 800870953 774628691 464635413 481252279 276864885 596319725 921089757 975930489 261603759 810469781 149621379 336312277 380649487 930491209 501955729 612479285 249545653 569081899 520745725 616071861 899607723 327848069 187392807 318046227 788054243 426141899 355829969 734268341 390429495 923212953 501837097 264522155 419436135 706402227 131386309 922104493 440493595 802896129 533648803 263424281 824157157 854283161 236086821 748332535 772742721 857223605 217511453 257713143 325979533 196014521 874684605 248137837 679782675 397739311 117649059 845296733 235144709 403488715 498736851 267497323 909887613 864293993 781688253 172506341 586181753 564077581 102347315 504210119 413790951 988522719 472544885 236693165 385140883 191633205 571753255 257904349 854136123 410198665 186905175 22171977 693523069 831640703 957894779 807045769 769722083 695987171 721604461 301327577 195863775 215803813 28259701 832304929 133386185 351272933 225268799 819458547 621842149 490727137 784610785 314140803 7103065 918838793 322771415 394800561 251121207 471374573 141094921 541752581 611913595 294139977 234269633 718931887 14620929 168045825 672810679 449137029 856687257 980938017 218270213 680875527 31101933 618890971 116653877 914866523 685859229 626146185 958433583 676864337 874079269 559890097 417562445 996602465 858104561 356693245 922304071 237677737 312077137 201777471 235725639 122036465 732647809 234931059 387879129 347799975 6501789 381264319 944801777 185298405 561042099 30918505 383463149 139359847 847765939 509146089 597054611 241798807 260018293 632357849 874504463 941874051 889046717 318962683 124686583 494122209 547077425 294065211 135925831 645252115 303476834 200661163 177076581 334592285 404501965 776616585 934631967 781326259 877583569 26876725 576651947 64472103 806448055 217550653 804492451 175572091 693071535 817513811 90463247 800235861 342520021 376128339 886078557 705063687 891477803 507319615 274245983 493624965 102405013 537697859 950513747 898962543 69592043 21426611 468102369 470132749 17790177 216096263 485345301 181455439 818105625 451113447 183491939 539160267 151782431 555058971 658503591 47574721 349046627 965027223 397306411 82963479 934108477 582131319 948765593 972703325 839645167 988681469 559438597 402341835 735911587 270631319 476934895 561331263 835850345 59401939 666589244 348374593 596177723 919532657 451353399 955786239 107809017 66391123 62341785 779715155 754280559 134654851 187085435 150323129 990229067 206881079 455716197 303427419 277908009 880978375 162365763 241570821 294425993 601790903 560922219 926941490 516175061 418803379 876627097 578819583 613742173 308374671 556174837 632194613 278208347 825004101 377388041 66656577 189590767 621711097 658851021 250726203 703579429 662587639 564105117 374324707 188165099 245865135 721926205 123235745 208664093 656815551 806657501 381402241 522463355 131056619 695303694 240470845 765216429 611484699 813611475 927303731 730183 911379301 648754829 680155245 299275201 719748613 450077451 163372181 492760955 208835675 629648001 832503303 120427201 173814259 492057485 163573697 745963713 118170243 739574579 487227753 408593303 656036579 790263267 971709519 496898883 84927001 198892145 738343019 172004013 499677775 599218971 487746907 757225641 10620375 865871491 669628263 659929839 602998829 989607609 484238973 366879007 862298871 194601011 879831863 963169731 941839099 487765195 502421457 816386895 657965873 249852617 329000757 501439767 3585459 476442073 634347503 491052641 380872899 645921811 447524667 149978963 515594699 835135215 103865843 826418177 62038627 93572695 732856227 501968227 264837441 97151895 917376375 658864217 166680397 492628579 733320519 327417517 581360783 258807769 445954195 733391377 849623867 210037117 59178369 715377951 71991979 503744063 828598755 718179413 672757349 620768625 591491629 26762017 308547859 50420181 842529407 419846351 346583945 750208651 557306273 474240925 406785471 629787683 983202819 754398633 485714909 922797457 747142843 309771773 38565163 163065651 353897095 13614475 286270749 404082639 909073617 196102187 766147151 641041808 972858023 234910625 203637123 178933519 489934785 375803539 659308709 160783943 514830205 117680533 351058889 892948893 781166563 687510557 480980009 15744733 146533537 964005263 668982057 118419007 540950033 429233715 963132243 849371485 943761967 944781883 869699419 311410753 337616805 972228287 465528605 117666387 902841535 141706435 523884187 977526125 494617209 365758509 162145027 767843529 956684141 224540879 862413731 506293773 477095655 654246245 81009915 429391941 626109395 165548685 531412909 250757867 577496009 641561041 148645765 650776791 282504713 138851489 657898611 268272975 797134457 597108059 885972885 799013123 792314027 405844539 465729583 116187399 237655251 149376109 860781737 187245015 197963473 120177409 645950873 237689947 383800109 899693043 441556153 516994781 239389719 741971231 940806637 32367125 984283749 798953811 846473281 605142557 930051221 90295103 628229349 964751229 341234641 674926715 803755065 366047267 68677863 192652425 609213115 127755361 126296911 445196243 180835355 519849463 625604647 364890795 721614377 425719559 691395383 204165191 799988705 260165411 780040173 160528841 566697065 40997949 981447265 565882173 742770695 366037939 624556116 417705619 263744819 457264969 516228139 360924835 306338183 650577967 396964855 557716015 758058179 429323257 414346349 44818145 103257047 87795107 679411183 130665545 542638035 215655059 285033857 473550561 63825653 405146519 645467093 623091467 648182173 380034021 594944065 867609101 874347353 485427735 210795461 954773789 673092571 455576373 594212359 88453201 776775167 347458987 994327641 516902315 716270789 503937615 505909935 866152469 790368349 586136415 548743849 45381215 720176921 189633405 716160143 228637763 363362417 152417467 441488977 804159841 822356493 46702985 81424517 286611525 907282101 224267721 406765929 519452509 222023517 604657599 241208807 141497349 935350305 807242517 343784077 801832829 761001795 290166245 433873555 201254895 927122991 659611561 86469335 125276523 472202873 179712071 619983071 40567019 809509081 18019083 630071775 722255 401622071 801618863 202120105 840715363 179317915 685449035 674837951 366797269 520739385 571625829 949429833 976804929 51164781 327151341 307751187 737986599 602027707 913679671 747558041 996761839 147072459 503510785 664431349 878595565 779289715 209579885 614428403 947854681 716807341 543360779 437386495 2826067 454292635 253457617 941173809 111043815 819697037 263417115 515024713 236528387 643210993 219156653 640026029 740057987 328453477 458352053 863765101 48375333 4356011 328103625 200304449 702821783 923511217 281662951 389898119 867150437 752168327 987038579 457288519 240419341 750244969 84242747 387065393 470618093 548322235 482353011 424927899 767980625 793680903 976298937 638634115 306315111 568892931 441134609 230920339 848322635 183560583 242700267 307505945 905490427 76431001 455427867 874238221 516141669 487735393 535384285 939945229 172718421 518151733 414559959 777356383 468666249 957240465 474235927 160945143 765752223 415818773 983866897 371781479 839823649 670446733 227945893 780057073 720818561 40178159 375230485 480914813 503208729 233241427 900840463 907177367 662675495 453434879 186947753 681960059 275345369 997698653 144085089 218094595 184900923 849012479 734966809 570225339 796359755 147666337 150579747 341430989 298303719 85749801 460203825 964163863 250798553 936080285 989430623 10237457 883625939 102641461 190350135 887137001 216079981 892212555 892094625 897423465 594536747 435750497 426031607 889325067 136061043 426144803 560374515 577674477 379944599 617141347 499369915 189745367 330282195 794166303 709995485 942627641 499769413 914219639 536997709 173987879 985158391 644868025 259478376 519221605 494887643 684096087 689076215 371253079 839732937 570561517 557372963 274413581 862411651 731183677 565405059 955783741 675387571 161304627 344651539 440181833 839240171 743111905 162078267 993566007 963624865 510707333 921879493 492240821 217296441 753326465 883251433 237495579 489629947 541257567 668079681 309567593 155675417 874514899 192758485 334807879 704629931 541544377 652392723 469184771 481962931 324953107 831529933 530491283 776977179 284005645 158850371 556918935 955840949 331264763 61473817 612990553 104549175 973985111 166624859 513619139 698732869 779594691 667801217 310323827 886602341 689174287 94815335 410048417 886212877 765409321 677537875 264097595 910013075 278813487 831807985 600993739 908707897 320441443 433163607 809393291 97365545 497093939 519177217 468574809 733928565 219257133 633207765 2559165 959769107 773764881 187605025 117137125 67309541 149099969 69120665 501271211 714336183 436088137 824127069 925787019 856763193 59362777 76414703 730044847 379684099 4527823 598519101 494447333 265934743 60469679 833435293 913048997 537976415 474846497 442167757 456212493 355513515 42231803 780939761 296825059 223061173 962498105 869032853 580765849 433220253 110324731 563079089 549339207 31698287 81494157 843068065 664150185 678675995 938648421 886828329 758975271 184131705 996454683 150553465 299505363 10685003 117791349 919493667 144300897 22988345 70791003 296839975 371751987 440736983 862819813 589977833 489036109 689346461 294640457 640256311 833889377 891960813 738849005 471909445 724944325 369253389 681311069 445802931 925448569 164513843 406289739 272655235 843655715 34728309 446729360 650062115 160035859 132431059 815269173 876568167 122964033 112044603 996730465 950307985 88513867 123165563 214221159 77956929 802530425 724167501 968188101 780287369 77039289 545530961 707305243 711121113 998365093 572789267 45974071 713352723 448517753 948711425 363786251 780242553 455663391 98150519 126569905 109364411 33888037 447269813 167280239 483258859 218226883 637414627 673837231 60126345 859259349 110022933 870912773 408035193 914163431 755140675 433729323 424082695 474819109 798134349 91484419 690406379 721921129 314216957 584884635 56604737 360199215 798472711 32627237 793232014 224242847 289618431 717479677 270967489 950144139 655894891 199822501 988610349 440206695 987091633 926740681 540478351 751670867 709282853 973069629 430464525 218136855 753483519 675939067 237974069 215830307 490084959 313247525 579072509 266612365 845604943 195162123 305305791 801234197 153977025 951564315 475777091 588493089 715527311 846863603 772008887 70551745 171372665 982298197 667723949 740682925 200221223 897885997 423366691 652678979 578364205 255539855 345016193 489617291 754705921 440495797 903179155 508095541 533044487 262068227 707391883 715461269 410663305 504995843 442991627 236721071 869542581 317672043 419286551 928910117 628924069 416218131 805242905 608125515 514877277 686410751 276715755 769972503 672314819 992019037 815320263 93807397 970257065 472990077 442621523 178691265 89740235 48271067 373366685 295196631 321439431 189742619 381917465 238942465 987614759 672905735 864686247 421546619 692342365 294269845 624805511 857710381 492199617 86864093 765851243 84399015 472191639 339550245 910827623 363557667 870738949 627513557 28832249 419418747 655174429 918090883 378820355 402708793 557944539 462578155 398218455 373440141 652121629 953674221 266631973 469525069 670552749 882378901 132032271 151034873 5692989 663519257 410081303 499229111 270328165 301737937 278192941 471310167 871156391 521826627 37269411 848844625 967626093 763878169 29585465 696412611 284169993 217563685 83220499 141709685 944781233 511301733 529710015 719018197 561801097 748552185 338968625 187751677 294820761 999537711 482274759 475888297 97775313 81006201 80407877 73704771 145871631 178177393 964357339 649410521 868951055 541571037 83969821 255168033 747283581 682322343 546802183 56315261 32391913 460501729 515314177 339220977 97178829 574207177 707162837 782917935 667935115 642209985 60965049 633515919 534834539 416351571 811462477 862551309 603311773 790715699 68900499 723310161 681438783 348605499 851740665 394869677 708454733 640963185 262423381 496145429 379809715 801586431 850081765 325692457 931687233 683767609 363054925 458659633 411084465 996102553 390941849 340852253 198080675 55131841 673934145 836302979 591838883 231962239 203632673 538931619 571329569 439422663 605214847 329145699 914628981 827440817 881276677 702117203 703915745 440892801 177529549 163591083 76330895 700754339 162249297 803292745 862430863 550197675 318080631 905591731 364205531 154087251 960725901 305801245 798088531 498156157 980640839 504351321 510762947 483985465 765156549 85030123 371130329 130316725 544285065 187527414 789851441 678824783 105017985 621103947 589372235 279141769 989089795 247352675 603182737 34499601 723629003 806107225 750562643 454947511 683912193 119842809 417527499 611278967 897407023 268180911 812740121 261089909 881332301 813160339 588691785 619046651 303667125 7620453 577171529 369060479 908513329 173780877 264432117 692499609 841540841 756800535 645027085 702560013 871903607 939500989 658749243 644501705 815028437 204266205 625693709 182608093 593937001 862189697 577294337 402208133 271739135 430126931 953236343 940416805 813013967 159084719 971006901 255890249 412801909 281789843 743368687 36073889 944578807 71728549 320091711 404361485 789173441 187799093 34505381 176149133 676821929 486721339 415995401 556032587 373669867 65627733 258335039 383565469 566267951 535429067 252224511 377577215 946438271 363809163 479305705 278542097 656381265 894502445 679031177 114182561 619323013 794838515 60793165 64119713 515884125 845937599 277273231 631633195 597491335 866395685 149375123 606251653 402893593 120145499 999609727 69171993 995086225 22855485 819101543 432961657 383076819 688327767 500942147 990098787 43743019 556738261 15548915 309786807 296837969 956047 149817153 738457219 958378337 207507717 442623711 149378297 369359585 571417693 210660199 771815285 439700155 806552169 640005975 198490489 385975881 551017373 878793757 305277361 219440197 906844185 846440197 305069295 427307477 640077477 996759629 369894705 169490311 210131377 722383891 581346455 931217489 596249683 389434209 278062191 423120525 880247113 119466793 808972333 257662211 806172157 569902917 769012327 397349343 675898237 657310579 360897511 842296247 60193153 74157151 798642835 913359497 433484647 174306971 632322687 387278007 22521655 23824285 807835369 218438675 753205407 295272137 379738419 145545933 748295673 933985383 378036711 827403911 431944001 883089065 251709881 715461443 541096737 615337641 844037765 901047409 989718501 55672677 2931791 146553827 962793609 512230601 312329279 314896601 489401255 160217255 670070699 528891127 545315467 555492789 151513357 190403915 132061217 404136599 100616457 524262217 449516545 495187669 311884137 934829007 216961387 726039521 327155235 124398627 671059525 410501651 457727567 274843889 586350113 503020973 7454513 774383439 788082483 579161561 169500983 647685561 356199259 464954281 427023089 516840727 517951777 26306835 341922331 934092211 124794037 501555707 233858713 160022083 280948459 28955431 161659253 564573414 803414087 373705037 16432613 316416033 376840685 867987971 104309825 316762591 320726189 133873869 600275215 223731321 483796479 376698385 620026359 974869415 245712129 197504545 968653521 766388115 173842297 53641783 576221843 983436745 299878107 684297077 496273507 558504509 910300473 101695457 670568589 997946957 350790741 962209137 428611457 248851901 445581975 389134587 22546655 265299389 228236813 80641857 42047079 244754913 906673005 57740269 851240195 262486309 417569561 426293391 715464651 678533871 683749397 68977057 174028533 552715277 439730963 558751109 95085289 450714547 412269929 767858051 222987565 593704065 229822487 10659019 723551097 559567737 240535747 32508793 899612839 617064201 368902847 696405901 557621689 800362503 596513791 189000689 906202331 244560047 831936547 945068405 491206751 956530089 980310899 686718931 401530819 421088511 31793119 505617579 130000551 308812584 257120251 418600073 556355545 737219075 567036427 102056925 709383755 300170193 825694963 713404925 82681369 635011650 592334659 994954287 808023941 247911275 646651955 159747227 262418939 116472009 807039647 162299729 288447759 415036481 510262291 440024907 469447547 299506465 790621117 714045289 689762337 864956189 831953777 218257271 933112593 134336851 705843377 793169699 933177977 723459913 712258469 830595849 661854135 366153195 291527705 503546793 210558541 730900623 558468745 121461867 789265127 198206961 652592399 718207651 895563353 164965177 697097847 906492553 543037085 103336689 18187053 245361213 250316247 569889809 99677256 711647947 541057873 859076851 730890379 563912993 197968511 535172702 302948185 7563547 874554365 429073027 56004035 176281719 970593423 16882161 151024513 348379107 380933149 940148905 647008753 113840621 784049341 222566671 669191963 184548877 272751017 580480239 878937775 617980839 742126149 492613249 39821571 442539781 275421981 729711457 521208341 731120725 416311009 259312533 392327823 749376691 424678767 641775753 58069695 592773405 729503947 652044305 736149917 798094209 39497247 795434861 811533767 897836459 705385661 414989379 336495747 90554457 534883105 494508957 665465541 790684201 702193647 535837425 235204639 548903077 649594099 26857757 511673299 505495871 465962013 714063719 806939593 402067025 377508493 839328381 994279309 432215067 149001601 948865393 417054043 749611973 49594729 434858689 97452301 587186785 839558357 268650837 600139053 571928043 130041731 50936695 777093611 988885569 826754387 997890015 597174301 623624237 767339347 496879785 407503939 815001697 740934837 835391065 156907397 70716533 431546835 531834079 502706863 744358893 759148339 179862157 335718203 205174063 492644479 60303651 267786311 920275599 808014217 285698759 381812635 838860611 766045519 581687553 296196261 267568239 33806577 177148365 599445375 298595867 743007421 271825027 385914343 503405113 651341093 500639979 547488835 889483169 672724933 802527281 833275553 572434711 65119 714985961 419846077 789517377 8450015 639847189 838356979 961412785 235260761 820331797 1188939 774427361 753383173 752334011 982734707 195961651 60109131 484715831 383281859 665238767 114828723 322055979 789523259 592972103 152471025 986373017 958889603 987889747 123750113 954584303 936303591 562780181 963266949 987300357 79486819 788950391 902365193 850291987 666908305 912793931 662404801 349235395 584356285 164830535 231243047 473748769 244692177 970359567 248324831 198597793 132039273 878793003 592960691 148115745 220440259 702044171 293724055 79405799 459146437 653283083 229838759 308915101 162960129 788716909 471648039 738831197 805129387 472727383 586322815 51948449 633846947 677300955 627271749 63479377 643084401 983869171 421894195 591710903 600802115 761921663 216321069 316055689 335127795 378769739 204311101 631374567 649765629 508691206 168917657 873293651 203114891 224820299 420115097 693967547 812078187 661792153 279083969 375221365 465423381 871802459 74977471 3094847 523939493 83539937 497491043 400163387 273263335 680421477 785300649 768431611 90287431 526992903 75466677 218292081 866080991 573695443 531102931 654480121 35333739 589516472 794830195 112576349 854460243 46819985 59761717 530067653 491960489 693277469 554457047 933182923 12839969 249946885 696981577 891999337 174357275 95815901 221003163 327915781 542249377 492153373 525674249 810296685 867256159 785171495 778470905 721987541 72674989 451428161 116019953 646492635 189853577 230997409 32271017 88680837 836817055 263332445 622441211 510256191 166748729 615405687 668180455 806053343 862733137 552890839 901777565 874523555 318097029 50333777 161270381 13219117 349541149 685686429 945271765 390611341 488698375 810454875 207787381 84410425 55954653 233775639 947805467 269612557 67265243 768734271 963292345 680779853 144757227 580458543 765076331 836146599 258794395 615312423 116415091 289131827 919575075 517577039 949785661 334215529 60750687 844972219 264761691 708781363 313681883 157742179 36747 268888797 40689603 987191846 842252973 406892315 901058031 435153619 507907535 804647435 883939553 179757845 433207333 186304563 384954299 492073607 856997381 456795519 134332239 93522093 319644151 165417539 994294039 243932143 921040807 338572865 984248365 255937691 396607203 20959129 681137243 566856175 614232747 840638427 636382993 473671433 719849505 815907067 926116453 111038451 739333007 80873561 162787863 152417953 37937513 889360311 566950541 960805863 126137675 745639491 355594199 570051723 645418743 953585043 662690989 513228339 23666523 893110437 875799917 38047347 390591365 974098141 874547487 94190529 427117493 598900999 189386867 8191617 189582925 69278299 583466685 673491453 108355801 526752629 643579137 786257763 833849609 270291289 713167585 964334797 808241595 8725623 418654641 642079807 66227187 909813155 689689959 749719199 992376281 284031769 417672607 160042689 372756931 411398527 12628133 134169179 754750251 313135331 33499237 850158865 645286837 337468857 637135735 460185963 225682989 733142495 570183707 513046491 618563971 476454811 992574265 377327033 382550997 771783833 762410333 528186441 502815079 998249711 342121923 377277873 579829155 62936603 818491205 63653379 850562075 309652479 626240877 127593019 819033995 879730667 418574699 248394039 280514263 678120853 375589653 160954561 348354571 663682073 469222890 738526859 90020695 390193403 218880019 145945901 921970715 310433065 937579357 149539113 913208279 32658427 469187137 204036073 840652085 102056491 564505821 603324607 518852365 628451551 650737145 10028513 900555093 83915427 767507971 951078259 727712307 539834479 297812501 125606525 970783475 676269215 785000683 351257073 483126535 881463289 414469103 891389351 427283723 293092009 328245295 661195105 905393089 206692165 134926177 287616457 455864083 335828425 518196967 121511791 857612057 42789531 489716933 296207309 873136907 706341259 929854125 984708165 797163595 463004361 286891255 880853279 896388967 316467703 633165215 163400845 534776081 753176855 747898189 593880999 488853285 544394135 576040531 955403119 395185573 344880973 624254373 528879567 806903229 966760823 958753763 478786199 207296191 246636985 217367637 327457409 231037225 98210079 124262891 323709999 514175901 297049889 676921403 288382759 27819493 644496539 981273221 362329823 946654709 14032081 608199343 704802221 309301481 8672883 585226313 882256339 179747843 673377429 818123145 309972603 938187183 757777843 4616785 961310901 669080705 714782899 995048743 967125627 192348211 327022051 599151675 758885805 957439657 179649527 175307361 972293911 760047853 912919821 483791901 640764265 241805875 7624107 23858321 723116603 386299607 699271101 857385105 160046863 386349405 631640473 423725459 684036173 162947949 249248509 831700147 188316745 647499485 193190923 671645629 647938619 184460967 569708117 323855389 228377411 898202607 834424267 829364715 925513069 510271745 392305103 604536551 866521255 156906061 741626915 434618745 106544589 146269553 527346167 203039661 451313567 315243569 691382493 80297021 25303495 725068149 689467349 964266887 91880917 780820563 753414723 128738965 45449793 419908359 772110069 472442897 665024369 676903921 580298015 809689943 829661865 900126365 276984159 988267365 524192031 458780865 345629883 643155425 6768871 913722677 357858718 148647963 229782023 516639999 590368993 586309131 461053799 74416201 60651197 606742863 41661397 886836069 732183513 823718957 248917263 379704271 228894787 642423961 948275891 983054123 787961969 286384421 239357773 26149957 864424509 586139669 174894923 837123599 685629935 404884043 962463241 327702691 247205173 548806235 747071173 356070471 130277409 496675705 228250541 549770853 62759475 991831687 427547853 19767953 517344591 473604875 542317347 861629315 263235265 829084211 430087053 702630435 610837057 642690519 181367253 962570871 166641899 305698679 107947949 589343927 348537923 469125433 553157551 142418493 64152889 262604015 478404699 411048587 730183969 651557645 126583065 163637837 657122999 433043379 3429181 916501589 925865761 277584809 554134269 340940449 289092845 544776031 557218429 445784915 60711695 690753002 271741637 410825141 162761703 576521227 668954311 437971259 544106551 521741097 2775645 940160641 152601133 644084819 511433541 425412681 554922079 951313729 844978731 23964799 329549513 233505105 318326689 346065207 338353107 433016459 871442205 859875755 419482951 423239325 128659459 766028605 128568669 25073121 114900123 593095293 190511025 859505235 374880023 308894233 254242887 233210013 983243409 193143791 973604495 630791947 961821191 796363777 88770139 135702169 795471205 422344059 277226731 597784545 31810173 433233841 310262243 185010223 218046469 589321501 797230161 838448751 306905248 708140643 171759529 918582841 367426009 161262925 375636681 155271885 18855711 852290513 574240503 263641617 229189835 167455495 300828895 964869013 529884959 738803764 482843029 989985169 520165701 371444675 9590683 860387813 15518799 38134855 685327825 754620693 279448115 816845691 155919495 418556243 794039509 836320067 201762931 166617459 378509053 889490091 267418543 561656825 736165211 642982115 48873669 708867593 510261133 434127947 869487517 937817715 388624143 732322145 319812239 943023279 683000909 765517781 473738585 709119451 997302167 801453943 895238175 667715005 638738471 658108227 9946221 746078665 34930975 282538589 634110011 902536721 676744839 656361745 65355493 889678935 130135631 697465297 495110193 596860675 695051091 904754231 993025355 425703971 549328979 305594889 572320199 454487149 567979769 229365297 178067109 51716675 872736469 853652929 145367371 772655273 432857697 356431095 323033731 440686673 653638655 333613619 16334211 821636753 197499127 705426179 995243753 865193065 147093625 175596825 870900667 884597119 66315937 639033679 591994469 843023653 498324335 214898347 194743741 310453071 860936141 404487511 877493761 260297629 550222987 188900775 472203221 460713047 360791907 203316499 932379461 889518445 765062135 782059843 244314313 736448883 798945997 214259455 506624061 322742957 983222363 858459963 224420837 481145343 571686391 712569363 740210543 124569081 394759907 454804425 742071027 493870033 697648967 372923337 284904427 537551977 821425463 224548261 990569533 511682375 576053163 167629339 913786679 50683289 440585603 621616141 294124173 650908472 741603979 1222533 677211485 777228195 187588721 699420343 822295853 17344769 441381329 396202239 105818857 23970079 727554859 89893855 965564903 928497273 895725543 179619333 818752227 541128489 347961177 197034559 51357443 85336059 417365945 478352525 976571607 651767643 261974823 607205137 237418319 575976033 455658671 390999317 603149517 598443467 161060159 581277199 204283923 18637573 177710259 260030103 33158479 373071129 819586763 655315825 787478296 319245249 972589615 628058763 823099241 891418203 810236275 699386356 176323753 468509935 330385933 839804139 721128613 46678317 937651555 860969169 772324241 514315115 85888953 600779313 620558091 902432679 358747971 118603713 515470615 165266059 801885467 834222425 458045733 590467685 819386433 726404349 746974473 576426029 937173149 173532123 124183039 843256447 794720769 226867523 629787565 483537063 807494441 316891569 500255009 641332113 502877363 494607305 38757841 554311383 681992745 216818519 527968919 455780789 297518335 445024333 973143227 411764757 146023305 785341893 368690409 560944003 792248845 290886405 798873143 86360633 748095921 715753591 774115619 634925079 553806727 676201645 940350609 476691361 451109771 742248291 988252877 670045961 349106075 563099263 229768847 45782821 155703937 251009799 615953907 676309109 360420591 524149299 870260093 651197983 977326719 284585565 487770397 326003957 742054063 928633863 474260261 235045483 656127979 324312795 364315989 941708705 249809029 809881265 671776721 388858975 592907187 26616447 63342119 274425875 633275545 674991981 838009931 973284055 95078719 938018243 560835483 240006249 244389783 556912629 140853725 462863149 172594809 502906269 958406205 200417591 834045609 162783361 931405905 298820413 470449613 591987083 229250837 940473757 648546167 965385679 308350449 109745501 336042017 149892999 314384815 455726385 876893741 571322133 186628999 83614827 876493539 268194311 424188947 138075661 171727733 64435729 564457565 235682751 250345467 393219081 492653261 723074253 575432313 729866489 68172347 688749875 572388821 808535303 162132709 97974923 923149537 291419271 723257711 431055647 186420055 791199479 446068199 677396703 105970393 102553593 382277313 997914721 158356975 759721047 525464539 66608101 520687369 583688455 909393273 388350545 515198853 533210657 737789259 366476343 348816031 172289001 611208549 350772425 903283331 984397771 906096451 53439725 114435393 864182107 844911307 712237093 893963219 856523091 134204235 515828641 718575899 186551959 882809 757036859 981944543 288888115 453540207 803316335 57154773 130292055 609640373 249589607 122695059 826205281 426931767 654523889 761499547 936391637 457316429 689507461 264766551 944924251 131994287 804889919 476446999 535518409 574560903 69881579 722016277 573078809 989833823 942328309 277972339 608665457 619429679 788150135 114480183 320506135 148451667 875605549 871632215 315408771 237735823 991750015 460786345 757052237 153265683 842769535 959881199 625391931 64256883 160324321 38156755 373387573 257409963 115383301 68494053 189005137 611399457 885575157 52391069 575871691 25549219 934700125 967094369 738340099 789167461 225941909 992077431 12678791 611333637 488078747 544642831 447568393 921321353 798502683 525304133 260810595 900600157 237160543 409916441 998916251 573082967 10267233 966223731 996477147 796242611 457088447 669541159 986115445 663634201 836518337 240807917 829102309 581321619 507934037 411806309 657925585 979581337 473054741 460835867 393877505 297686533 981499197 693849213 559179625 163730975 178376375 142670311 709276451 350291093 663411217 28630681 864077941 325475449 292240257 980144571 75654601 498295371 148166377 717935201 377047987 381159663 689924815 515400835 186059243 68334259 558998369 87181313 250191961 711269451 877127543 800235431 317970437 778228693 131197329 625725987 349575715 124970965 494315223 915097873 219859215 657944635 895086101 147462639 736359243 399154011 396824263 413311275 134380163 45659889 676784647 988685073 721691787 177651493 576775583 419968223 860407899 584160641 553739007 59418035 237644571 460749307 113488445 416918425 482516243 249654771 330647833 166214271 181399737 319677739 855987193 431251775 621020581 532268753 175424749 572361885 580946331 624769147 62561965 737908287 438305159 375186727 467097495 213501881 252253821 561254455 935960755 322613633 753761463 820516477 323470511 4029949 419783833 601415467 64040677 463156337 192760749 87921375 916990033 651044369 431590311 776355485 29280925 33705717 823528293 733378773 233234199 396501793 281061 169515097 612188599 415969147 461288789 704482153 984226841 915972311 106414601 959688873 365917833 930411755 638646653 804967463 12197619 594048859 512350033 209817177 795915247 944597167 920776273 158048025 120508861 136329561 430527347 829962927 579011397 189271219 963638991 448122567 364522259 492418043 850641065 86716791 250352737 280115549 949500015 243355707 282096655 711911659 947055025 808691963 990889377 136699291 525238571 999713537 202818633 511301713 54083523 464883205 663640541 667457237 468360575 406566689 840271837 880294617 961873559 47942111 998337135 825300725 204618339 851650855 869618531 192166829 306174569 16934481 29599537 612684903 43646291 770587675 524504567 515438709 485930483 577194409 880520317 916567568 685545543 552778121 723641649 165113693 917244527 217090735 585155885 795497825 247778233 661841273 305286957 550856975 241771415 352417453 761974939 882011199 901012131 230570615 64279683 372410547 564971427 338648427 109814945 325511957 303911553 605698955 673661521 270482421 884364623 398381879 378726297 101850831 640204619 947563071 444975659 700572415 262575061 435891929 685714015 588109011 662805371 897792159 607893041 179798139 987530991 17639833 483968585 706026767 29264909 745472821 727973623 321357713 216484055 359882053 984531253 750733291 124758649 294172423 705751965 633199597 837619271 860775459 441950585 910855249 530354363 265201061 106735033 129421753 821747831 117532929 175879667 447804845 470811465 603062035 957864805 940078493 698438435 652367653 642178555 384556517 722892577 404342753 983317311 346618565 344726151 287779419 626779497 579209575 836069821 650638099 373901403 227138779 663164247 761922797 946056859 541352731 755855123 200761399 453680729 27676681 200016083 486333863 540177513 227153515 363874209 184558423 922342223 69882615 634952883 456745935 587194925 629455683 451816545 283354875 13721047 450225361 636258607 661587761 418921411 603128329 479812811 3903021 206478093 783925055 416060675 50108950 28486017 697297323 308885209 438306937 954570891 106708591 520526187 448140619 588047427 486267793 968997637 676156905 212630633 319434503 156754459 534299671 843823971 509418405 108307019 733491973 75381059 557435953 683458387 370436677 908637373 52441171 751513123 279300311 930523185 308045723 108898251 966137375 512640679 995924611 709522055 757478123 884062415 880734059 808307899 324299887 65495551 161598877 551856627 213658953 663807799 864767053 764318687 829125757 132051485 286724495 626508639 8392827 603013633 322534249 283536753 628053527 984904923 68106435 526522949 195517325 817740359 59641451 35399211 75419013 730635409 943697439 119418017 755350537 745387943 669053821 289911623 854994321 380337181 119900433 774768363 763696119 420426295 236017993 937408125 577704323 809234647 786681217 148836893 450770401 123318929 475125495 799934987 500024105 688213657 179231705 541171123 275529427 829528017 596662323 219313831 320262345 106462143 732382467 989945763 376022103 441748369 900790567 771373453 171213617 795982623 866411 513141357 476945525 696200169 209223805 403830391 857113511 8557077 324748279 532799237 754495927 119355763 577735005 643337117 326850039 595651709 225545749 759363817 662601513 394122573 118635379 31485373 482228845 171547309 194794925 934514707 182354003 46677773 959234279 267464717 621233103 579683203 169110057 689649401 497487167 460150989 116329573 519662665 136256873 202963029 248936309 621058201 105827961 663832873 272687383 141659819 973698821 558818049 735124985 853664363 512048395 839066427 249385639 445938669 624287471 305810911 441206943 304413803 703563389 89027739 627285311 547475785 720609261 142977481 775834833 153058065 516976857 936859493 996417926 269536887 682485579 364700695 163405433 916071255 817285291 194880049 318990505 521508787 342952147 940053159 716085249 302533817 929865981 539252763 171695699 406547897 301885647 792387539 306498133 464280879 18500949 850002109 628413611 347487679 847878151 39306865 113966301 993879347 834400707 851532847 115714141 924374911 894680009 6486493 202390915 829952959 351384267 298195211 818126483 988163895 302494173 993625585 815275187 380004943 540460923 901051503 926771445 666147229 417294477 432155913 34765651 887352029 243061597 627940335 366450095 33647599 855900835 287343611 276670161 609979871 567347321 891092395 747913579 592444387 21408615 641772581 33881365 241623123 970462043 43511353 912285521 436788149 349777575 527091037 259711113 403553201 985977611 967733939 141848845 561138717 308937385 785241601 97376279 640038901 93261075 79654071 873598665 263669849 258080315 177574121 173834027 563081111 294784383 339105369 705349933 557406751 500034723 728269679 113343403 342628753 293108951 206935097 49320807 963566509 218650031 303567213 233416197 785260893 497040423 996545899 549580061 9383865 395740069 105233725 986030371 206930679 932455159 901301135 100998265 394926973 708926803 223838137 40842347 365969623 938718547 506746555 29831719 278602423 865907711 765463611 307460553 188267001 903940547 45830539 522201427 275303327 85153141 595526301 352437673 286600661 148946771 250026775 872646561 627712237 808191999 233887035 83266291 886767717 544411531 80231161 716991809 212228061 58607207 613186283 373717777 908730915 12856949 466258767 641302233 30710313 974865401 378843403 706779119 541281803 737960605 921834671 3327381 281014283 343054971 505729393 858804211 252481429 43432205 276609075 757110557 78388285 260767289 103297659 324744203 646682300 361636171 177844599 897244573 623345655 757307901 634649345 450833823 473143289 898382183 434600085 961511359 173393143 449020175 199272029 82515609 741786697 282393061 828707365 422632621 701593971 120298301 970248295 65417061 664187169 65307093 81876803 594650639 764504103 984597711 140086653 938970345 497084031 766889659 158435207 863578131 653141581 626248335 739231353 504277651 442447579 611133093 716012301 371643229 558635421 979714503 404594353 234910283 674478383 340984349 670671471 264791325 213065813 134986303 989908993 313785979 994370807 803012139 457366725 296244985 161383211 478151237 208654531 949025295 598072363 462218843 104090027 2813725 905885019 753449633 970804179 543174253 844185415 517571251 73617721 824824881 374373023 664853147 49124487 153560963 166116673 463906243 282555915 44168035 214143281 628808705 893635771 373731257 691146647 497174673 181952825 315364441 337242057 690302233 564360907 173497849 963046979 850038951 713919583 528235837 957393317 566359727 563582863 547024815 729469371 831714321 85065623 835561661 659397755 489602575 598341217 294361281 793069823 544239447 788588921 313700863 428634247 207964415 129703193 54319005 849315203 659552645 71362337 589474479 7083139 903564747 468941333 109039915 5311813 14075427 108448807 766254325 280755113 802937151 725846061 635831509 797161661 80705339 272769703 840961405 135823795 726100641 195110587 769073287 959107301 816722777 951266107 330883953 546472665 832939965 489916313 42867367 997841721 211735943 620638971 865727099 152772567 623701725 780935971 849959971 341101489 627115853 966983553 386714307 935832039 269726923 814408239 685551715 171159239 263095989 68802793 220295925 896948931 632301777 474553881 224250707 501987703 714559051 722063309 963871291 233175717 509689017 257588413 315811673 621337913 955234583 742122311 151056957 626816581 653990605 642521713 949689699 287096327 354067621 283799791 572953895 437742305 980763093 140315667 307190487 446688349 112571133 325960927 28013987 688950319 711868703 933936891 19648421 603432755 78159531 647544243 349659355 331571307 292348531 6592769 417902129 294341123 48830135 137663621 759475319 323209807 775724571 759291523 52941671 413051593 711508139 296402157 710381219 195077909 133790431 762491993 192007347 447388669 947357331 972008711 521009673 877143669 415142925 222993373 716393981 513206937 92402937 542702955 190055377 2035371 30770541 276010217 142429103 865033241 199378661 716918069 708826535 898703475 82800455 38884823 805377714 299634805 25413089 920251391 525518773 605571843 501338727 733625731 102659189 479828519 695064057 402364385 341751971 997926421 46210585 314631491 646148827 760703019 183843253 234834295 449023901 314083815 273822243 569251059 881836115 190617593 238578209 50900953 830459469 237114672 419973331 158202607 686724037 676747 445587653 777326243 796555997 898355499 196949231 693745677 925833373 412050779 440480685 432593391 767155189 547293073 955278787 898923947 880760513 618699365 219178337 728282197 677893825 775586973 379668761 581247905 605306015 148081187 265570027 878883567 408230635 148619017 189887291 453322313 359743775 301452427 762689495 959575897 430016154 320004109 446188275 426757755 264488363 666878491 319637551 171686829 331012733 871428455 225821067 39195029 87972397 594230731 593490043 799454341 734680507 834870605 536564941 64135535 501947665 372584215 691011013 652327673 732267005 464045691 899783939 208314981 63160637 279460855 720020889 760120995 34854257 401922603 470365431 903249741 570939935 843080933 129093119 654867871 651638973 363163159 86874099 748892547 754134943 834218717 126214019 788894343 659176203 840196729 3918273 716680929 628769833 665349975 520380205 961328243 533111815 155398665 48986283 791306691 93186211 54111821 943256199 656626431 66288603 780627459 11400569 996696319 898770043 705666617 310373277 276678723 236297521 395981345 459477881 737165811 110443417 673582103 640785657 696740059 201239859 581915805 923085427 140341365 800901735 523833695 750877091 560028641 114258825 888418865 286630063 825804003 561319887 828986381 590884133 988275437 88362077 144558103 443612923 228015637 125403965 757960345 768366475 274043931 868651613 48920583 559117469 513294693 491216537 2590717 1315167 756649987 914033327 332400701 377327971 177036461 181440075 860261811 711967655 140751297 73733887 593222003 996648851 877526086 450747715 887670199 613547507 163313389 722841463 992868579 987051513 318742797 433771749 23675521 435421767 327176099 359852735 959239239 123363297 636961881 193856799 895428877 610893105 91070077 976659459 366223319 675051793 964622341 252122711 109684947 800932795 311211155 780417261 479378513 398265813 725146221 472671099 279288269 706984301 6409601 798186917 533149931 692754679 279374439 617113075 846174837 850860627 95978847 100797143 510721377 923934657 308949841 747638187 195695047 718512882 811829961 795105197 262185453 207918077 28517121 42199305 619792187 466688605 509351641 83574737 424556871 769115125 924494293 871421179 92736205 148364311 272599847 148708203 110609581 133310579 890239653 948728553 262602485 594294827 510303181 611369767 803835861 973251777 172183755 850109 97650861 108408613 890542953 223781935 572351227 723806889 523069471 819819747 428464495 214694925 636770063 358913579 618702041 276373621 662320383 62641729 651696439 839608431 347474015 494174023 154882729 749980399 598812227 936013893 442168445 554488915 934561647 40248365 2822181 895794015 742760263 512214743 839287355 385889347 44956377 67939845 674848645 555829651 694972897 599302753 615312365 818846539 898238395 828249213 793897863 570783699 940557933 75652559 22078347 96410869 679778217 508328377 329926497 470956263 952379845 571037831 80481681 124682057 78045377 177552489 658675407 197916701 840976197 456036471 663513333 826345169 920000925 445026227 952383499 265306939 845349058 375144455 16851767 98310809 952760663 377490243 649512397 665986703 888354461 244972065 263386699 259517481 33260423 120615747 450705235 490525407 876182955 916757553 447969967 700408717 471074887 582858843 205975123 87551353 913903429 213689373 763393371 132637005 77807669 728178615 545624841 851467299 149887817 958011987 359008713 407816821 271613029 763600641 70009903 612998953 446778383 172087227 496857589 753108109 957549175 282198627 801790719 137725269 14818417 285294015 704647255 733227937 215648897 99181189 513941297 451448817 472442825 761134667 563023337 623640121 504119069 784066195 50238211 962384073 76185073 16832453 821664807 846533983 643114342 564252213 691688747 161399331 401564485 224169243 758811913 556256927 549480697 477677977 457200357 12233419 128757403 872349109 337510665 300846593 220235755 129841509 574295531 69881867 407873871 888619391 19494179 99200529 10496729 629834435 401938551 425248685 89403709 508621023 203062479 426899415 98625243 644221793 99405121 712203257 918077627 388276931 567460359 803047647 46607245 913226597 665274757 796670397 318257319 40034963 315639623 950853425 519268617 250978683 902573823 889474625 357493337 577030713 607293831 492083545 650354151 220829899 593724389 888461135 920755625 297566751 393084993 203043423 405268289 974263555 344221939 197196081 981998325 570002223 295663473 333599695 276987573 886717001 641846113 191532207 509370645 188399829 498354063 319044017 740258393 312450375 136496877 149301527 349889891 629785337 9248149 302663823 751150279 934588203 397899213 551973423 814895545 614986757 696442623 341088117 286275355 630201243 119931581 265903173 886084721 947229923 757937605 703010795 522055407 725457601 241664247 945638943 957142119 247365375 360047201 122897917 514554459 978039115 365867573 536225035 652950769 38020671 250665935 127356979 751650809 1833055 766981809 738852047 726100459 921546001 28441991 936036249 371087591 958601129 269541667 83582903 102011825 837629533 484686211 231939511 646722747 808632657 354437321 752790671 512584473 542227343 366443071 303560857 650109327 113789957 751142233 26571421 877403521 223507085 1302707 626891975 581809663 748217579 954629903 243907501 287265473 892993989 155944537 623802701 754352933 897325997 723801765 874922505 994317107 884596255 817799979 846841779 793542297 313118841 895945043 63182971 233442223 770973445 772619173 486626819 83972215 23592437 933781207 575050829 24892819 13087329 416044737 204485833 280997207 516729165 34929511 567493961 225116343 414939295 804532213 847332621 879748693 691091497 484919231 655753657 713327991 204028069 514500415 102201947 501647627 754444469 781963545 267498599 525525161 51778529 747979543 411556027 837795217 354262939 455637295 934457501 382414249 410033211 721295993 191374521 938577537 758800389 65845817 534386213 299079249 427880991 399022301 798245213 36601593 532594587 729004789 806874441 409551101 719122547 205690941 666168883 260210317 896524937 701232792 299215057 229814915 512232613 271918867 728094531 957389149 140094329 248872161 24902667 540265025 211759261 154190939 966953751 512206847 337540499 16452615 735799999 728543757 11474117 841020815 942386875 623649677 607682179 667158725 863004469 806025285 968503815 175769765 876369337 919953827 820179059 588937811 189597755 733672385 673711567 442564635 942436889 557720667 480754701 983929455 594733847 846286299 888745989 297697001 385669221 747322445 487178873 610696015 529095575 768981613 942125331 58405003 532095913 85853845 185708898 875987375 858535937 184639953 379529187 533545207 435539309 723840717 752411379 720250569 110199073 121209057 481683935 530334893 262734781 125219085 214048215 701043799 269193283 873043191 993145587 750467233 475041569 795370991 906301237 505908369 570176301 989466605 843535749 794039889 654525603 388155025 44645047 313570355 685335083 965400607 488606851 731726261 765492687 148852871 777315467 572788345 726894087 741874275 10656087 556927817 847758511 901423601 854136151 297144601 29342731 82062359 348354535 123292675 432290251 905226597 951389255 755745357 962048001 802366225 705132703 844611427 108785197 124355069 743428867 66954963 339964467 703910319 202452075 537767773 263448417 939691349 971754937 711047651 940768107 920635081 814166195 189211247 801261423 693884295 295311119 298957621 672912627 523333559 395241825 466708369 153652451 619303211 103970863 617798405 449454741 206391895 675886817 708637757 766686917 666936157 276032711 158128141 901545115 281658113 219362329 163496559 566508193 897216949 939410173 277073799 585940431 668156047 189537911 887945887 340188287 511093839 138307963 647269677 554436473 87356509 974668771 348786121 671198443 674968005 277751663 798385975 195649383 268088897 999721671 998259043 102199021 28907823 801195135 961898593 646424033 2916503 550795791 214868333 828184591 402668585 96202455 647711207 388597679 600087097 147935009 1744987 819165789 565308107 525745441 222996349 162704415 354385539 900900843 353268523 440791137 913217969 16405125 929666403 905614071 965189963 608373461 453012309 788414241 504144883 160919727 221864017 568656517 35427055 981810377 792355027 611977261 868341037 962094023 793605503 953140623 796986439 59941683 245409825 970126217 683306873 517526139 620283563 522247521 917891755 927009273 326067767 849429445 927921519 148391921 172042251 186740167 987792377 400588681 833989263 128474085 555109931 498389973 489381467 593202439 795621001 562516171 451864869 608092535 719183173 687871567 855113427 134295533 274379061 73959209 814977649 744803461 412881113 236927499 780141873 732514755 862906199 826877071 313591149 874996631 792500607 125455411 334547371 309297747 362678473 722279269 649288085 272597943 307698773 744567409 767745791 928589801 170271719 559032979 892938977 906958961 164050159 438211821 444952675 771089227 522105223 722622343 305361357 44875215 901785963 275240531 518288787 117185477 870448901 759502891 640533839 189563480 624819299 927838157 805976263 76597023 721797693 683996901 174700773 950618905 367547633 78212867 562182845 636836775 33382789 966918307 930834569 916904347 549090477 186937891 980977835 89086501 654691771 722022605 754869425 815743463 93718961 877912017 505583693 263790051 334008375 832487757 487227995 333756039 629302425 964360509 954556381 938283691 870234833 266286733 729935617 225607815 902687871 92797453 563191829 997278405 585332199 937580407 436006041 607545201 987405563 729183341 549526063 326798591 159808593 736905591 43439009 55961933 79715881 951168263 125482469 834372257 185572713 846278261 235908371 176784549 612735137 24064259 540558191 798122867 811558153 653112027 701429861 468655749 203781503 225510413 247309193 149678531 701054347 704784275 672839061 595282551 881142877 899651663 378898285 503684183 351138763 260347401 267655451 359358595 181424467 644397681 715682005 362863229 322758431 607256099 761512947 752161075 577152253 317883809 574234619 327364603 106679651 948230735 637464981 603903889 244006003 553268611 102183831 693390621 719300851 502470517 222294011 919386411 954308433 151852103 662653669 150224557 122860197 409078017 647579553 107344901 714690993 910207123 897130399 967215095 912071639 111285465 235328383 97667757 934913579 852405651 39967743 443802817 81197665 698765163 829900559 908594733 909677529 643840241 763048639 642006359 239164573 86333855 259149901 516468749 993892951 747120341 422955289 64761475 635724643 773031647 443499953 349688407 780260287 405604331 412518597 747872655 288479761 808600853 496243765 960294295 393279659 809302365 442671617 534762565 711814271 771246765 480704851 432833239 170271281 41204949 550219651 984239855 621904647 416307853 324904711 575339421 460568561 835185275 262449287 202353239 51338373 650861603 841672138 445164025 610384385 30966011 886444229 787342791 168294479 255546711 945661589 228266095 816661245 548190589 64633979 214556937 983420993 375629461 222198499 257905165 229478909 495729583 957506143 856722021 366241975 437578435 915668653 594501213 840837789 671541175 829595567 134251689 376134791 49233743 500169327 595525991 297145077 622999615 845897761 519427357 307384079 740441633 896775969 342520759 192535457 698629237 48514033 680029065 367576101 601797027 935009853 175473237 56205243 719775743 726304727 775272507 989236263 649476799 353593277 323927755 619593947 299999497 479281425 763801593 558406125 957505249 207437853 363529509 279767837 282828859 726572885 860460049 946377937 795500017 720768085 501552619 35428121 792075969 365861089 26930249 269968557 612282457 649145312 155890729 781772267 698328645 115863659 299099887 953239515 420075267 175581881 903898983 311695659 117748977 760127791 157706441 679076661 179199321 415210327 638056369 24742645 458819949 896365285 26881315 176305173 152308551 286462645 563407759 220275171 331909861 460808139 354177481 985238101 498462515 68483663 518803469 695208205 55627523 297064087 729378561 935750225 994384395 605816349 416914611 90739215 58351087 722276997 991680407 471737567 824829753 149232795 523038091 349219073 4419671 801501007 175956693 105401181 872033955 274342081 317693217 16390783 908643167 727184687 102207109 616882081 126476471 234737673 80888959 259624867 3930807 371399903 365508849 906109961 438047323 392809581 766207275 506083845 467449477 355610007 881270499 842145133 463950077 820575849 110661941 495242175 52760949 859255061 345981349 715264805 74603141 199225077 278230817 384233839 427837617 283877775 476032257 53163791 110025055 41672589 844090367 164746281 789712353 767771585 12661569 826511235 136942705 842628135 27585875 578929037 237563697 919509733 808194861 597363547 998804777 336431937 341055275 800835505 52525387 993056947 735134739 204521459 466925935 132220885 958078993 955149103 144863063 509184361 53843899 405538593 736742317 378773851 197582605 756364067 835233539 369032637 309453421 288502593 308838095 515239373 929046443 258130215 280645749 128906475 581057783 927873837 744075835 163598245 96066033 933905235 902871127 477007533 159317153 129403457 230856159 684243935 379538031 760174659 245639637 339829565 120577331 714314835 722848803 994040819 73311275 547133201 992819865 8199509 814263033 192908225 773240305 868756955 960368815 238765397 752364749 984484909 430394047 3274595 72463029 136775187 387672071 624813353 29346585 160335233 537099723 444914321 742446677 407393683 658933947 409853225 528570539 41540491 535948267 588037417 298304319 479760855 877711319 16928879 476437799 947823877 2406757 305879939 696257627 726829781 53684963 857255061 260441277 48220457 780920581 886431865 345574677 722119435 523176937 520342449 289860115 562310065 902231573 684573029 361381715 698016115 666366837 912530531 135027284 640619221 177360479 888060449 530307459 154616707 318520977 453254593 736032045 13451601 843860525 761960201 57951371 178959161 455966917 308831079 661678275 285636703 695950409 740202739 975598555 188293391 513539611 84974957 390131139 786050489 200126460 774394683 668751191 850395643 443563295 354610287 985135959 885548953 90590483 868374461 521152875 567979899 555533529 601855877 69415207 274839737 19468757 317635279 334820611 391675785 544275157 443240523 24148831 979478097 570078477 369796431 349280135 166491803 617622299 354554587 938515625 772218397 242243077 549510293 114890465 307504559 611452983 338913229 643829807 804209239 999859845 521528953 859147643 145796671 328135473 246806075 267646873 28785081 989184731 303627609 831586367 487768641 702146451 302789059 915632915 772037501 482330063 818475021 920606873 473803315 661029225 569092729 762928453 556613979 518522025 240309743 131512433 675531023 256213309 874040061 357733213 968868241 317814583 996857561 288911409 770196555 266613783 770741861 943387393 639122133 828340159 300564773 532382403 626822117 754015617 427526219 321503325 420047971 910822159 862600111 550877074 233045591 98873735 76173005 774636569 470531061 505479277 608234957 975366793 654054039 269681329 662987391 463834465 764187587 869843367 326339931 439803405 837569059 297204747 525841025 640569311 711471243 205507331 540501173 880881421 195981555 870842141 934134375 105231805 825847171 125075789 47525041 723126515 574384515 387956723 394024017 945643939 487842919 438591953 761535149 491796901 131911883 205272341 243795157 703880381 318351729 261669973 642756737 826722193 859260485 366479245 133735695 611093171 142344539 788502309 192722565 182256543 546702317 745096935 59110039 238698931 522021727 638580491 828928407 314238265 697042491 977231149 592153993 742218339 829397813 267565905 652923663 919235145 395775017 916639975 737316989 612848111 64533785 711238081 97471175 401676091 439197491 595107103 757074063 332439039 84786117 823344805 3263769 63620341 690209615 175814497 418760023 849622207 424173683 204866247 731335905 968150245 310595325 139134901 987772659 3747545 666830557 210575729 293348213 291783413 946729265 484122791 76471287 384110455 521394493 649512555 347056817 500355979 751954281 170061119 807373697 38215745 874848331 708080131 854323953 417719187 83336605 485826311 633723179 831805283 414980931 838027009 750663435 505214073 36217929 312881163 45832463 473907591 115935199 29219503 229446749 485067813 800114277 625333461 296631749 928295381 492684377 112172757 100177597 824859393 172688235 611973229 398577767 712115193 879740267 455134657 342294153 210172921 970271061 292707421 347607185 904616477 545305679 718414393 670632601 178798195 927547039 863488689 113727069 420083947 344516797 783716235 418667591 736310877 219878979 209414643 453341795 119277963 260820721 789643133 856387437 701799967 357192119 826119465 794586047 510895017 505644453 962638941 444739173 914575011 461854457 868770275 990440971 321766765 169912851 843146993 794926089 575165267 713145985 985767973 452112735 825889669 221976053 386258565 146916787 830891547 108798283 936988285 11233877 369784599 613533059 868015843 610903869 804709219 937219789 528557045 491909643 548337615 761442171 515947095 441325827 469475349 137650951 813482517 400183829 140783573 468265747 652518823 745971163 65894811 186587245 432338151 591442067 40712661 600117767 95887903 642468643 905953247 114617341 447358711 815970843 130444025 458668689 459907977 494878897 810160973 323027759 8786255 139644871 15733995 569028971 411785775 921229539 734568651 293065213 709934455 693744435 192111059 200305101 222241499 825306257 991296455 709239523 499840889 100688505 839679069 609909619 484925143 914047251 242848811 169124057 156355553 189704241 254508977 590515865 336042989 740494919 772485213 769602395 674266551 868274551 278266749 697941493 498937445 571507845 417551179 152434273 278737543 328681443 950568935 197118657 725933837 911780519 373154907 449719909 315878489 393109393 804727707 373444283 571094829 324685831 680884091 693709409 693149111 343207195 785230273 856267289 344944783 959371905 68215573 328057297 293671853 161440153 374545925 54584729 200404347 495156331 987688975 136346284 65505221 455703207 270356625 497546865 579162303 114494113 515121111 627245935 214204935 447656029 216754703 363075677 874334113 520186495 302196307 158640915 280713469 252299607 134684071 720498583 465980911 769013211 781966321 260435729 84026803 127503533 544145669 306209495 315301359 542102291 265799067 284727653 563738033 559139835 858497107 476101467 844691055 558293247 717582519 241606277 334087939 773517659 142339641 248948441 288594613 33105655 594213171 259384175 929507889 160359269 457180643 250524557 796128397 340572889 270940533 984195485 448380487 806372661 15463163 61685809 633079875 34313469 306804331 102933253 830889165 299961443 441882025 442976255 571454621 688135229 968432511 415041575 991600079 451218699 989014683 131604655 210066663 830387187 864283799 736198647 719411157 843724229 628908791 715254399 316468459 406128121 308560417 834699251 687253993 254281645 203642983 4961829 732408051 597235371 438944005 156902931 964962711 475937373 757460247 480279261 682175945 795148511 337366189 153228497 342245607 726261229 141874097 27649633 788920503 426829297 732637443 479043881 423669349 844843769 333021535 885984491 157350279 56843709 582698097 440853139 357262105 10284697 689468363 3534643 95838339 195549337 108051939 838798601 228286095 144826985 501137181 180974199 425043573 608433507 714851521 757688583 773339855 301506691 156979713 653129325 226236583 785543539 387346165 537320325 720302181 7040895 198061471 176986449 634245857 637540001 417190121 997078525 117240921 390144120 166001059 526332381 980103025 224932171 194277769 319773803 52552759 894300937 527958583 489012553 166700831 224275529 678868027 875095367 161708551 532803403 999068165 399714643 644920115 78595829 835036909 16554891 785924691 788116439 571509813 77080113 704833403 77552425 78148615 547685043 481871911 803081161 908878451 698845343 740777021 297417023 408023155 368063159 925485835 456537787 548838121 223141847 615852103 576203283 623742365 271546897 560415499 677066437 975521345 107803027 439971039 18619131 108539757 136343483 987746991 245228163 72177059 878918157 52166611 464724947 739497035 442611505 56786691 656686861 411416763 220564477 980971369 943288567 857947431 741943405 24092047 104674815 564837297 910125217 38367853 744141117 425929573 160270821 435373663 320226673 63564593 10802095 87021097 349207043 947866353 957443223 868147707 659144191 940748901 992180067 614060649 936078113 937249847 807693307 579626863 891818691 995613431 704535671 127280499 15617263 212807711 706211341 772600387 371071317 800114447 859320355 777364499 274724427 132657171 57237317 210480257 895558097 514624857 290085413 472402835 635680909 364583933 489691293 303091381 917137103 331854591 320030899 935621565 640779663 283763785 122145681 407320551 148721003 408086443 319412873 147322075 132719531 563812831 915663385 335010723 423558463 276909957 2811617 309528503 980970429 837701671 207392943 927230961 320734819 869992249 930672501 413363609 808823067 145937169 209101901 191115613 107998579 557046255 566290045 548889167 242722721 824376065 479723119 978370799 612571015 999923029 730997431 77482529 573210539 804609251 132530959 262523443 199793211 341442449 742805337 547050457 712710159 441447971 691558051 376777009 887947175 766135629 493443103 915831999 200903211 228189865 457471529 349651571 616610407 664303031 678167363 484147361 151969237 421156063 214404377 298006789 707156373 422035061 986537855 789545927 278272875 232425393 848750447 426279537 528323785 244919219 400122891 470946041 853760453 565829765 523048355 890319551 727114783 552349209 590877861 7055749 632031805 529471817 856696495 953613945 477599791 992547027 994651011 909889329 578098861 628062821 412836365 720159403 223957013 576936843 453256545 487426121 375807855 771051203 503842233 446644445 150239081 91548267 872338297 515217817 896536413 583749069 812699179 894169883 570360391 262999579 911444357 801448551 637218769 736198511 139531871 222613485 429859145 771348423 281303485 955664511 331386021 745084433 749127117 872803933 543379847 583460633 783989983 844697131 193867317 618409629 77941871 972748791 330752669 98974267 232014369 620517431 56715095 154077309 926977215 715206853 834396323 975737301 963810623 294064105 840162665 962961307 385277881 639626575 79169077 783895315 295627379 741020941 426032193 585828963 147920085 273004191 342612077 956605341 175402613 311180269 243959357 942866363 808348175 533888065 440660707 166351263 625312387 455275859 255788085 962751761 572551645 889790525 460313521 85355459 482057811 747017353 552098177 149082703 166862655 97362207 554703219 397852467 483211297 417385303 31973375 998968795 49453481 768999919 509569859 335143319 663239335 72730635 314933255 238227619 52801817 430086201 767996091 386063131 339307807 761939309 710737011 315903501 823625735 607355909 912502259 521295977 148805443 572449479 64244893 21005319 711213421 317001695 392365957 889681067 273735499 148803553 816902753 476163323 582116039 494788303 111961229 119177 282010611 663335689 775972373 371988431 736673293 350286431 711396517 779615023 421314679 958038791 383891093 260893169 447867323 99779739 706017253 470737477 141129357 57599267 497939261 297814855 614298311 66868237 387116777 661391865 415254127 183059755 269866979 704516671 977249455 485168059 635709131 51685873 159287515 47531365 231174885 698971075 296694637 444909365 938559267 770189911 416589063 702346399 510225179 941442873 74445689 235604607 592280075 797059033 883813041 268856351 837648349 230625935 179241420 236491305 690553887 378970525 322653199 241244081 330724617 563477547 761905123 627308343 868774009 588953423 953784797 673579423 91906807 369895675 107059127 444487479 420828337 299366679 805658963 943399605 91519105 16920169 347005377 587943987 711642851 561970593 274691119 539723833 588294913 281435227 954508027 279447219 302262185 937846295 419732647 650361847 116895313 748712255 914211553 868740033 588806171 446633507 132537721 243459641 910808267 456181757 813017451 711134953 432868309 738980845 864657371 79492041 231736139 987343871 223370515 160373813 485629679 3785249 168540553 49159153 60442919 214165295 281127637 626960941 154459141 649519081 618444475 763027579 790814269 337850871 445108265 636229595 325226031 183855853 448149039 607266225 85813987 786075971 307748105 377383115 156097801 517324121 320797979 986109533 30971895 264092795 789868529 753085701 200653995 532879831 802494269 722614727 287944911 427955081 271070681 998191891 187252147 430311825 912259275 950256061 615406409 984093911 265390139 175437825 869132597 20882991 484438655 872737415 772043709 551821649 915323155 258719577 597910223 642027997 114179479 702590701 221556997 954066013 668601049 501109539 870133915 545161029 678834635 282821693 1590907 581786089 582542471 986792425 712569651 525479823 263344467 127835711 284945913 373504605 535119769 469350071 272492463 720360039 754638571 11328827 358639065 764959909 99105799 20775191 626260905 286212087 331659213 154051583 529310967 909303335 212594251 588154641 507560253 659772647 490850739 935697361 508479145 658412753 50671969 28292911 886546181 658799203 797028567 683729533 338143435 645799179 712666304 617098875 950995483 221530645 37047281 305505871 898286009 603176895 402469477 182241411 199537173 549363751 588718141 57079309 664245321 453906007 864868039 755593547 760540947 613902145 947505015 484393731 292988889 457321149 902997219 39999841 906522027 246307471 87881685 872781050 610747969 574128477 703160371 133220815 242164985 320529339 885415441 994868287 263477209 425413407 338302637 593593885 228188821 387274477 316160361 108961691 419720575 430644589 51087567 677653077 991949467 197989073 876147091 915788885 149210251 559243313 968038289 615564547 162853795 406961297 766370509 732064825 645621462 697545175 827967087 567838513 728133833 197918165 700027341 145558417 348850877 849352007 130544993 768734821 526200229 69533387 438451663 305571621 250958615 189089259 39076065 818086063 884730451 341563927 539473549 990878275 871407937 628083629 962197995 284941971 243994477 684083945 264093247 778091187 457764625 935838967 52706807 513343775 652162059 957386471 170921891 855306943 275654885 557418677 292155647 352553436 555229129 910280765 331694063 220974897 846642579 224277581 142115709 756273365 142221505 199086997 577686239 645371729 493130361 507100589 507302509 702934163 861120395 709222423 578328237 712161517 895302509 194446653 995892039 135088671 543911745 841750897 719875603 231295051 24351949 651780585 857167879 514945795 392029055 207182279 162426953 484095545 97293681 170870039 69866277 775422795 994430047 255988169 554410251 508669437 332273843 20389557 199356315 223698303 790833785 381862045 799123093 636092261 290918509 870833451 990016739 230521003 366604521 125368303 711302045 197185207 328434425 361818979 99362553 47473751 884778825 960132073 484625247 19159745 456875825 804568775 69288533 766555279 937519025 181296947 500837267 822090953 576992367 758415171 525779443 211919835 151728315 221746937 885893751 547574939 826739853 586819903 367703883 716460871 558387075 455778021 366677697 380605057 968379367 250271141 803486807 606754395 489724835 52473631 50943405 741394245 890084179 826277855 894736273 187605281 269322549 508553811 900060405 951825971 402177069 79564247 531009525 407325221 455545551 781803435 379520723 576988433 643151441 517219321 331762427 460165233 132174225 938034385 391532033 360369706 414178839 907765549 14053535 432066955 267842321 215849453 936383415 108119627 495159383 211209949 882602329 997533059 790554987 15110059 750624179 355365049 235678831 437411059 87452195 796550877 743922487 168279349 12016683 683716419 685162039 400562649 373002359 436992169 967411601 718595635 354165723 362933297 310327305 341845627 737713745 97336427 93266449 426555089 721327613 895789133 719648959 866517055 799668265 824533041 499107539 603996601 673488969 312596193 33568691 738995987 829555961 716446341 524401 843531795 960355581 239760309 279410369 667665761 972472893 249928815 128951811 536074123 231300303 718719255 268982335 359968271 559501293 189576571 195586339 747759179 55398139 748069325 355010313 687823499 836409989 451804079 242168303 413863677 13857595 844921125 446944379 334327995 44823293 645490075 497787645 267908809 213006281 558237927 812712555 404152589 144919759 437886021 28036967 216521563 485184863 372677467 181108023 929288811 358142965 482989367 1625289 603227869 698897205 195125581 431797685 366599739 15155947 494351997 528897853 748164087 227425031 355973641 956485443 265322091 218908329 738246303 847188827 801953237 94009103 857823061 858951609 406719843 632429225 886772393 203692607 5146145 971109383 57078653 694199153 478319117 430897383 913881635 468626817 415574789 219221289 240866635 903615813 919138259 476853723 555147543 74095421 948871465 993368111 419068427 291431567 843111071 684381311 107299345 818430475 336233913 880793937 378166147 984154409 987766493 390645839 715673115 772033287 920005213 403488587 762020351 802709869 148258677 487263043 435077309 992312267 74917699 200120151 522935369 562507831 601493969 996794837 881728001 230047855 373865233 400525103 670091179 431582941 678837211 517764865 355585139 437911951 25730801 477999885 148514287 218056509 489925629 788441663 128115483 905157699 184025745 464332715 49813855 862372781 314573091 247147401 214117765 743079463 8282135 769404993 579378883 512913675 349856437 850152795 833004473 911022421 401455 30259339 683551081 577936557 930464413 67443373 339806275 829003365 659343873 705681091 68755225 427138161 161221957 456884985 849018411 896615027 290373947 428112291 675233309 583780527 876601753 173365307 554838779 603299095 770887681 976913509 867934013 169285697 364990719 679646443 676568767 764793453 322931971 232129729 734690759 714495105 391696741 511161859 663599617 579876621 124918119 661589749 731377025 484577609 880486195 347316991 296532425 914447379 533004505 60233655 159337657 426644211 611317589 547038167 345968033 602929433 360810883 163437123 874803765 255829593 942474033 511708421 11198869 905215543 925561871 947319379 388102979 966993111 141943477 234192261 968508461 263204873 416001445 680656927 950854057 106692163 181368393 841530063 587835509 690080167 641763825 963505765 39705525 531884795 151398103 713824477 252949493 587452589 805133595 358887003 641649709 696553429 17972681 202032683 950130361 377211187 520573905 234703293 307155037 656998959 264336137 375669169 669396809 986875349 759106873 77214917 975471119 780644833 68130563 369652969 980333231 270126509 812495613 456414765 994140557 656737091 420325535 318987213 307246199 502858835 572247371 699423023 246157217 525517619 386455879 762392281 360680107 757676515 362992328 432927107 324973461 331028745 843381479 457153287 873632723 329779445 281820321 434090341 388498227 819918495 770299877 738474957 889505017 153619621 874839169 17232273 61667525 726901839 478790447 490359593 477216681 394082445 745811087 86829371 147033365 516561651 637337133 67396499 325915627 889829061 156552567 887432227 412649325 622728679 454907593 959980551 138478155 844323817 666732643 894709889 477908375 584596225 177634669 821633533 539212241 319202577 670022907 713947917 386298333 630944413 270441221 426238319 417973255 470952920 643150699 916292869 256632071 832344471 684337399 809519833 917861113 334370393 576718941 252352543 498938467 21666631 834991921 453381937 189314865 322720045 661653753 372627607 868192185 935737733 154586139 498074103 249791926 225555311 598601963 498634533 526631761 143348399 729497249 848596767 651506709 153945271 953065565 185007879 264863737 684197277 671387689 987713319 5967447 544025375 110376951 428422131 141105911 627947945 467548833 560809735 715310855 10285381 11942631 223569957 21743129 655729837 116856945 639598651 666249003 172447295 379078355 127899223 170380709 459479299 625027203 689507001 467174995 42489767 786269157 779763139 562964583 413204869 711600193 431279873 572051075 815148441 318528715 373466147 342500779 779414413 63112599 818697223 510649417 468579503 23173803 304332721 927911735 831247605 872532717 812216649 278671535 332177921 555587375 155637029 644929367 815251993 629398317 214740671 292860221 390988587 635451525 496055739 434851541 828596687 362017217 907658981 429273085 473425989 792589651 239491373 645516539 145797491 139512467 553294001 8985979 630811627 312360133 376353205 104834451 986169057 473138703 242605475 570857153 637298997 296568963 463617549 251033831 716583025 501204765 920186287 182379351 373599167 142184123 944851309 172811201 28505851 84184359 608025427 824513863 601311651 539713553 616105363 646667115 427332573 36363287 299234183 943196445 605963129 238951861 742491317 631388591 502812910 352132183 567663045 279518689 943722589 462262605 865261455 812543191 257446539 55188179 436417033 839840543 555112937 939490567 12776793 990456749 128224651 108763891 105330891 160364767 217703477 89719687 577228753 160962425 469113161 679509665 876441863 362202027 741994459 478315517 251699503 736830473 734652321 744805447 914560051 112644239 119400951 72879119 606101035 441253797 986575593 356329167 473309775 546358037 193127971 928232937 917736449 554507541 451865085 445991333 647983055 295003973 805309047 798190131 690418283 946979751 727383608 453924017 737284017 789386665 800869263 671766043 726695843 991531297 199481715 649921629 408045933 207885645 655776389 596015943 177551968 407204817 579231241 756045203 395887869 71703993 527820529 158846433 330454499 970048637 811385041 550218685 668657885 215986425 486422765 684924055 657413599 311430771 814159657 767193287 534881797 569921429 221831445 140750991 237994129 848413561 929239273 186352921 49543663 334173849 256904835 306375029 915902643 181043163 733142635 158584733 350047383 294624653 266112207 187291505 419815295 452128355 276133001 608768957 578422389 131011709 775349269 416460591 744688813 813144667 197617309 764523363 71361155 708607473 497386735 235271129 109461115 794523023 306448001 567654139 177141309 457673971 651863157 132986649 758846367 87060549 708608655 248257389 845312411 674300687 891642433 919399191 352570709 101909833 592579491 209492003 715738393 976907853 170271345 934537855 798800727 8340453 623196435 239913735 572703149 477522745 235622297 998975611 314976223 958742499 401987773 837752965 203094229 673153243 213111513 76166835 252410789 784862603 375068407 162880899 132733067 467510463 377893831 714651475 420908007 916918699 274436255 968269167 169824069 495336173 28302973 879694597 601625179 995829131 631995147 523231281 170576897 104121841 114959767 598922995 325207869 838235381 679868953 963015219 523045945 280304851 449213487 767305413 226149703 619907123 113066529 844528225 457141219 271505695 707272669 20531367 811517361 776302605 992261629 174593569 179774333 670359773 85941949 838015299 44486201 330104785 27062535 620343137 275718657 947729047 888348009 269074369 459971349 953473861 688717593 921648265 455375077 767568217 960961273 906024397 383981827 519138487 428782733 760288901 465174567 542786219 475780359 917382033 112211769 172680941 693705789 833040059 28450367 354031769 953296303 164521397 71201649 6738229 448145285 360512793 268872745 370519979 207235979 479732069 207448041 153453909 565591611 294435335 939533661 904403181 518005171 468027467 737135961 499419545 245861565 103273071 428293589 69447655 322602947 611164305 52643065 159127757 792158689 485702075 191202829 93828261 287736277 223003871 665430661 917200951 499330309 496481751 835894013 740170671 476022401 132317281 127313975 153231779 825994753 873545513 505520159 326208017 413881057 844897473 514676937 192264539 371086125 4778655 868951407 467980627 233171091 751132199 159777651 316355625 598531943 753217953 379504485 157138814 54024619 736084287 892248051 984001879 533786631 490889243 236572923 13403425 626939593 657393459 158795903 878302895 847491815 512703091 301830059 630493505 239253763 398746539 866698195 594517627 275839073 234851735 504325489 77734251 629212147 689381589 297655081 293533061 558108495 441630959 230518983 309610407 641616309 936443735 404898363 13526295 189348109 568152165 812694691 888379009 332116195 391438427 843487043 561946875 781464945 517851747 924223619 975976705 180592277 974689677 154787065 701539707 242089175 513869781 24005215 36486835 232505959 399623447 745866905 284062559 44188187 508544033 280205491 31557535 522803825 987411875 137795037 792895989 507118227 419544373 904038519 256575055 619680079 653779547 175135999 239349507 316014109 246039417 515979045 472216015 62773275 194285287 427146425 807770327 593081617 541827033 250982071 776007081 14231661 228138353 17713221 6589497 942625353 550806459 912322473 643994085 938863201 841622183 571027803 262495345 944282911 866099469 197655795 358190861 567301775 471941039 640468023 584625483 908287851 756404791 615973905 459017773 96985619 237368885 715972499 991058707 919777677 722995747 742480635 546854093 87962247 81909859 105612969 740588687 388234841 54204477 523451947 204468985 671791107 295837409 206103347 762574603 922981675 492274795 434761371 461209401 316312353 300966107 209679209 946673235 55090653 190029083 386355143 703264407 64039165 728440827 173926409 982071981 51222729 244300597 838244263 183298719 312210737 527266921 44963401 97378021 738306763 647939107 238794423 525531483 78138837 616395985 848879077 595640389 933498681 508924367 37522415 517245779 334980485 677348957 277841687 165109399 247703025 298292901 463633097 341445521 681442651 574852279 332348055 69854757 721177419 127817613 272529215 939660193 959253743 100646919 106210723 856522169 896821791 43667441 80205773 818395019 78895197 813070585 374514161 284222109 993642955 500554683 358569835 681828315 785456189 258931383 104627133 235222171 862549543 15534933 685020565 344958873 946380715 64075497 36770241 550008829 969639309 971385771 13282369 824073809 430382143 837504443 448200503 765197709 640791767 231853605 531361773 562546699 948061205 59657175 483733465 951267987 831505247 543482029 466568083 530055507 604166087 739157093 436024799 555059421 393529599 195629485 500222635 492767537 975234669 105042707 155249159 770958003 686844435 519625231 691253551 276046639 674327457 991014405 612747143 856964829 793844593 571440447 473473433 460060505 249193345 932569579 104140315 939775145 163731063 384241957 65226981 546751033 608434851 695048683 955228155 730200029 184791803 615798827 326874251 55733973 343546913 160610225 713948645 782197959 187745627 415712059 193026693 248940733 411106711 941807463 934850321 838941741 302167661 93767103 94239567 832763893 942778143 32385973 186531639 462545755 589954447 200133539 550006241 390322445 640145233 753633735 731396243 621659165 752555673 992475983 272979383 1598729 117461319 211386695 865792991 248893625 163954149 153223085 337166023 37271927 852060319 757004895 759753813 370525179 37191245 945066535 640680335 408732257 857245039 746100663 860064173 449888045 370627371 425690279 776496905 805032015 890505297 50057339 262600229 547787289 478722137 655504793 702343851 207758923 402795617 690322515 184832115 633711369 997895729 645028837 187961971 780421601 323486521 710976877 643166675 412288199 633535887 406847221 648664283 919525659 852693233 994312815 4398591 483795613 651953097 723219635 676934361 735112321 151275045 561826949 185794351 985374805 870317755 764072843 636440043 575868701 347242989 641470295 57010209 868282425 647587521 417385059 853319691 919921275 356693477 251430161 786467851 294705427 640271027 921412777 306764719 294623395 782423079 834697309 886346411 641748525 351282153 169363013 160247253 934538271 904199499 947751523 17263671 340397393 195865665 909496225 410217975 546229243 9131629 298735825 783498603 624526023 268080147 397858729 105790987 972524481 69387045 763300301 507174783 295121757 669511737 261986757 254633103 731103609 568059279 461365249 693737521 991588443 674619405 326825949 445034621 194734509 609624643 114507931 112992183 88424841 382966121 933137503 94170955 800198504 407828061 333242177 539423437 759816501 396958887 250124853 11756791 357505591 369314679 43433501 916394669 897509925 296392865 675723973 778149371 706083357 420517289 735144925 49437457 156921767 92398259 100438525 662253901 80876971 724515215 122744743 970693683 927080321 375382195 28746821 110982763 786631653 976406081 181683495 720332491 865817087 846033151 62476423 402715981 689138267 453144923 573073029 607438871 39826923 169389165 517240365 25660527 818327313 714169077 154590831 265929677 910523537 153461339 556713763 430444745 170763413 114587563 363784203 740063273 783894455 10419359 419674575 785010133 273660401 318589079 904711939 100992995 812175785 216449943 800112927 534593935 25222829 432227153 825609605 653848633 662981937 399920667 559443067 555069551 608768211 427729909 687876151 650224867 470380441 164361093 221874127 442115951 973996783 939772699 118038085 821281817 150759083 876454831 141525377 550102539 863970315 912703455 543642967 718453399 948558513 750332147 535383167 418326073 950456749 758281179 987409817 337173399 668982389 192079403 776803377 119807609 23063525 610484007 629322677 797607123 412781889 392317619 843283073 953728959 895470391 866279005 619005141 950139011 721767135 90013793 568740313 92031881 207930033 308812443 891125921 563536229 756798871 518054289 561423653 628909519 121435613 751515511 24207173 695767215 320158775 81604383 267209675 724517133 362896067 92531467 265249131 797127197 598348807 834897505 923692985 452537915 328395247 484750323 433943099 144225769 466456783 612453173 988142937 991365843 889770089 342150983 935565665 903204045 252114141 496177139 799258001 767654097 232531899 167022245 864448263 282693121 665502967 167593333 636338125 173915307 736480241 418318881 220132311 205661507 285194859 350669075 324783097 632841057 707276179 869129307 226254585 347865801 998291199 158705323 146609789 509171815 126980013 640908905 714020889 362804047 477361409 827026069 923485763 139566523 1974727 890714085 334903647 504524303 121887543 100193197 447062711 24810453 381651437 499646699 410778489 651420353 656052973 781707081 660702143 475898801 879337127 145445909 926163853 227677603 258925551 313004357 641734601 729446597 580284673 288895099 44061509 217420651 952455299 696555515 89956285 5606161 5173891 866695609 272598735 948094807 358671221 171606599 214848773 17473801 205863223 519961063 933330129 699553053 528283663 603654527 511741835 24340395 49930665 583375777 505153143 429416183 814384155 417428865 71483835 982956655 682139873 133250559 968726889 623863203 128572899 742783141 219351165 230830415 922009195 722672285 222428629 501154905 121164849 135963587 996981051 537137351 19785809 873909653 66526305 786155729 634854991 666513465 309285343 954375119 22295833 861642623 143626807 933343559 21695495 348090847 505314003 582615011 665741779 518527863 407930117 873741941 928837027 5956879 276516099 87421179 160159235 999820565 658430193 247968149 163438571 407894691 649166807 374090641 594935223 904702069 700442277 43825249 373514797 216495605 606720313 568344735 412327801 20645937 17398095 588581137 483850289 383477471 571449747 354888097 863396433 343119713 992393365 13545569 162469951 863658941 233468879 461751439 191881675 115072417 249355939 918691723 922044709 74322277 803741017 838377955 190732781 412512009 119829539 233541705 93795883 146294581 957474841 165977241 20003143 678774325 675348541 190969557 904899865 600700675 289864825 506840105 217009887 173277757 437541533 18151401 874444347 873406253 28156771 5986959 618420799 461092541 82958701 489387197 948381277 141235337 105181249 866695745 600083827 480441295 30589781 102917389 121573573 627072117 192843007 280073277 603958019 14272011 85349761 807425813 179150655 63526089 660003845 726386173 855742971 910563981 723350939 482318219 208866327 917749727 608804925 407530359 65709027 720501485 551626187 996277161 954203667 427989137 490811665 646571307 886432453 406812487 764343487 65907501 743572095 98407993 482015339 855840269 411694381 372303925 991721883 21621837 552661285 419580081 472674999 439201179 525160997 774202063 771629071 652603845 871330895 896244307 392230109 920562125 569348917 415082159 463073857 788068049 983665863 461254139 893622855 597617949 629410407 937298419 975291613 762903845 911347671 460094719 810861791 875555975 565180999 644837167 820450061 270392065 903469385 186907451 627524369 150332291 227266013 860074883 706316411 629226781 750945639 679515915 287100867 863555595 450113717 481212549 569253711 730071217 105118971 500983111 525988451 872196763 862849239 808237647 695041075 418983801 888032079 862017351 637922009 439373867 150868175 580345213 569337941 810126767 992579627 432518889 275428239 399496245 768025509 813313833 527753563 589016077 951532509 642450565 533077873 922747061 548298979 935676651 245893489 477614029 798285613 395196149 39864807 735574051 290303125 170683615 779069249 724578471 548275555 488008083 537107161 881392504 634527557 502339487 710211571 838933721 595334733 438887993 96803511 294611507 877998075 645844035 44258099 914970393 5711409 758966593 624658021 988300873 111273537 43157093 452559147 248119971 233867741 732477317 310951247 470623285 271262755 949951009 349639299 335314225 188909207 223096417 13358433 137009393 922028073 17975824 40796265 678164731 362539053 10709931 422024451 35054585 89474399 89286477 787751041 611127487 134172901 883919297 779413279 188419399 325192013 653321073 700517115 705542579 750211979 99912569 860099359 575100753 988476415 513686167 305529469 278463379 499275627 827228209 12794095 940330773 675646973 738711383 657448499 471574169 59396171 863887807 591960821 535570443 698322001 743002827 934170567 812949887 420597879 518260865 182409247 395895855 853970567 117028497 382810977 473010559 623435961 436543823 7487445 687435769 113589417 599372477 633280941 387395665 38028379 135210883 511184387 83958883 71459645 618009583 523496917 397858867 918925607 800623863 697568015 191775465 468169555 137787197 377879427 779191259 801570151 479922181 483682791 121518979 871443057 62722113 173277407 405351557 942995941 357584263 342231539 122656427 884974241 251760919 6418069 355203049 906101739 678774489 781851933 253650779 547691631 1609305 786649549 869372997 241876801 818233297 98318799 741176591 415395043 471720223 825035317 884650063 271622197 211592907 543104245 350238145 589173639 463266053 456926195 284619077 435152783 49605283 437255671 279660519 402468455 362285603 938802609 590379741 732104345 465288367 175178941 908166270 522944525 865813781 795676829 415055699 46619419 376388301 824917943 39837441 772745089 685911285 865872989 351713630 321489763 489879893 428298697 976300905 529972301 722985307 637690653 269472831 814882359 486297889 90831969 87650351 315340413 925294179 191047045 360825257 297974501 72265097 108109669 964183629 662179993 958138021 64992961 978562011 40846131 783442539 417421123 423841085 593215917 109974333 687247995 341640587 243460975 772251167 418943203 917816059 763133763 783668163 428102365 183652851 339981407 91338113 498830769 410391039 847667041 566300243 245330575 826381009 752444751 354661863 859607955 508328773 786865301 143164295 745706173 881643613 573961737 944268589 965198583 525120069 263556073 236158583 258510609 458921295 631121113 816703405 685000901 931830521 760975077 2497727 750876083 303122659 995159173 794480195 288040039 486620123 696294803 981095543 501817169 808031955 34852441 279062085 483957192 649909735 820382847 956267579 357878543 852919641 734428191 539249041 787160401 243054741 129235635 777015077 170579101 599426351 133931041 30831231 501013485 460419553 434004407 5882573 914105377 144987021 973840681 996920807 546822917 450910273 145708437 502278991 654055495 6337585 331738241 752719143 295568515 511343797 198619353 398700355 110945849 679720785 894213619 486803479 543135441 51709105 388775563 257532869 842014623 596359593 637284807 440069905 413966555 13722675 763287607 980466284 584262821 796367987 234047179 163987183 400169993 145867699 935865829 227719511 934486005 620890471 530782791 45547275 659651141 835632683 323969567 769715995 878224057 847882947 657281541 226933567 920121849 130210071 894686193 965238999 840462489 199186749 995999821 143443943 686540303 848215151 990498021 815281183 462726593 880179217 678587885 271982041 619128307 953644207 697641219 999275795 818565849 742591225 314654251 460384369 829846413 152758989 936761557 63638599 874942221 693147695 41288917 162661771 627061575 948381255 512088935 810807515 127890951 238107755 114958385 138091903 808762891 407870743 409064001 421996645 748411889 767397611 250898701 532539173 626120003 75440565 510010735 718040831 614063989 808300901 355509935 655566811 358958811 767987995 719890809 430197575 464042939 592613909 439013091 162609529 239871803 229303491 69397867 336286289 429346925 402915253 593106933 81413721 357351757 773474985 971196621 418805693 93582777 631441279 317078699 315811157 424945787 905638725 106537387 906083745 172098629 124783405 152772177 833711559 454222001 760445329 339745933 123255447 384985917 573518071 418335921 323010441 326999637 196298505 603349629 449176507 421842507 998639513 74344981 153872117 648072277 493652389 533404423 439510183 344881559 377792589 570696519 177323751 235202073 980805599 421393459 291054450 975988685 44959949 372235153 974800053 529622411 857826995 321090189 690895035 437806103 595064147 774048957 139788859 831935767 952467353 662510877 170337175 611704861 124196503 509810453 164927957 837325731 483409035 981153135 128056739 842928651 793005015 733626723 911943771 493699741 932596741 415906187 656248569 35173003 889866441 936012529 685422885 631693293 138503423 136188925 451704369 902062279 109002153 667374983 652286993 781791231 808127219 462817229 254472805 502374503 107458353 249333619 704164727 461803449 516509661 993787015 306916659 810526103 642144923 363214717 408664113 836569225 627792437 36770867 316758193 12338431 145996191 243265261 292045721 750478935 893291765 242722651 678838649 132291533 361659001 37862289 302919561 288984461 731765145 119665419 101956775 673599911 114167781 545969071 396967003 901051157 343053337 170426571 241869269 723672761 216700697 181324309 134837993 872608345 980496111 759060647 349476123 935344555 367056335 147444745 839997071 505651013 479077655 761611047 833171219 716635561 491999301 714554713 682885923 317944897 76377097 173466455 617315035 797718109 981910835 635399243 186425089 288911927 492499903 355585727 522058761 568987633 254280657 381946283 592061701 965317265 353380019 855976299 938466487 788644109 160427995 949836995 875197575 698832187 302329825 562240483 828695937 570964189 434753931 405770079 610857823 910083741 281706179 451723571 892091265 740824841 481343387 570078661 287401963 922750879 439447375 583075043 801120335 773646271 723630915 750250689 849497859 985158065 399122435 703859965 145814535 23362981 760197697 174961053 574815233 647773879 797476823 795682829 996318017 418963431 919064779 461695011 968182463 137279261 289045063 486131483 282363673 226229293 369196957 969025181 249404823 587088847 838699339 652016051 680249641 875882147 627728881 410386901 131425635 462491189 201331037 589427165 476030345 686202867 933164416 972053266 309961599 989964345 286553977 646060069 346243795 95366983 171543175 41907237 28854721 679673413 93731094 252024723 891540005 116731463 927903163 342482771 282440837 762756933 872149553 23430067 659324179 162349343 366685273 855044967 747691687 619120289 376302401 975616653 267846589 922608761 101754395 645206441 244539261 626942019 133549379 123198122 46390969 236039549 5292859 991562215 743949541 826471573 881550767 768358681 60065057 331135959 20724851 753109097 607324471 579628673 729995905 931960161 657221779 239207857 441421565 21980663 523366733 882205043 133492273 457678217 738328355 554900917 119248017 743317471 148335231 55460689 394055609 397900833 100868977 242558219 381375851 236099047 452420779 904883337 219371155 235172911 744549009 251284319 680469573 487438939 912313384 267133955 680114363 396051773 597178403 169929947 326053465 294338055 939191765 264381227 209456297 170615127 304142909 726147623 704231265 766195761 865088261 655590887 364618073 550301957 89598843 960245359 938026901 457356965 613875605 412589733 391614531 902932305 590497013 591254365 364690867 847851949 863083999 584221261 269100385 28063175 302795333 956007193 501180657 896861717 649838271 179285065 164541741 756435057 227654537 236050511 295388427 60465955 247324555 899255429 224236195 677068247 268022103 483969065 624421947 541620899 651040801 904063847 312491835 24096003 520545481 456704593 334406457 187674335 810651865 793528797 201497841 253554049 366045563 875714287 849040195 747363489 425171595 40706383 679579197 488056665 883967367 726550191 355173391 2019123 133906581 79409575 149545497 951288087 885492101 516488889 627907545 741118556 81439439 803350863 620230655 46932931 916532881 109519547 769481563 888153709 570707347 420071731 971106795 593838825 33005123 72382683 173064143 830959147 209356731 449014459 702831189 598424209 691443383 397650885 245690607 382434017 273705633 307694033 87098937 136727367 784539271 153168033 148474611 535144023 739796511 113532127 421489933 909991443 48067787 859335451 287165081 696059611 520513169 103670991 488927951 173598335 110136095 965466973 305597207 722810165 391733965 487812365 904577529 955184791 767722395 361732113 579680809 432647341 175733807 674768769 13154179 249703139 500229339 11360863 775217161 881045777 151962259 535016597 5648615 497124463 616463351 498573299 746823535 670532263 579197521 608037683 795810847 383372485 543619211 218757879 886889369 402551869 33743425 33879749 145525671 249097707 977731761 812853267 31011901 27380505 228636097 767372599 400443511 112503408 129676033 664073843 760362391 363673351 114043561 707699953 525955593 459516251 669573271 353632705 429827169 550809169 154908499 686139613 1047641 228390967 811787 660042789 991332821 567039939 672495769 511207013 721400799 417427215 591831673 175857229 322913707 771187363 484544981 147456885 696106901 745013355 469675899 650974047 458994208 29387453 838256353 179512946 126896375 860852565 87599401 560256773 343840237 562368603 385429527 726534733 752774653 158884697 493882141 100462957 158626379 553232455 937561169 161774187 621360929 544916097 834268531 29528381 736857333 481278923 518250219 351613111 689933151 589410131 608710341 370317215 199043109 412876977 861669307 176137629 65534511 721836767 570230317 974020673 562375314 44978499 552638751 998676995 907206027 661163177 248703299 992964425 279447421 952547915 802882029 941177687 657903 505324225 751315489 704925539 213494425 603183377 327657859 889613185 40494675 770121643 982352739 69755319 783387171 281678179 402051513 562643181 66949168 362861173 129361443 314916337 558322389 869862793 376464105 850907777 11085701 297921193 938622969 144088635 555200999 453294155 934201837 25630635 142578887 662331983 46274305 666807103 661466391 534789879 657252383 151684179 954038001 270319601 56536019 510193701 159771803 144472405 766172505 661403875 115964287 388714651 496574859 310162585 265105199 175316909 708627957 763842117 779001449 526499799 275846595 839728325 285163021 134451917 321804493 871508451 568356393 642746283 402870419 45686611 747694319 592779259 997084477 198827945 612089787 580855463 932843159 225958763 380290575 514124547 597196059 253786111 174449815 752856015 536293607 237692089 919691813 385859121 164364995 320289231 306476727 852784819 712512287 808202597 675598959 790471755 247116561 789513859 89488023 545998167 746270553 734834715 13381283 803972765 774565725 272080903 447194415 575141961 780490285 928332805 275204861 856172273 820462463 998276803 611187193 771360403 674349749 707097804 563055159 147916177 348861909 648503199 775355631 356894141 402088077 504793755 137275785 111465801 885320503 826478603 639248525 226830289 47958479 764441117 589874353 413495647 964479231 186943978 733551565 382260059 804368149 104371831 921018853 282130847 713138439 462296491 709175333 945833315 280125303 536982873 973561825 508642899 67746729 389090871 770561427 628043125 631974031 787386601 644464095 189999171 593418687 387730167 892968591 815443867 888364153 880097235 81458073 235934397 412441763 939045845 791338517 437809755 724339663 21538111 771679047 67715977 299228721 50696507 356705693 338333379 835685289 492492507 898072487 419566833 513477311 81022997 573290785 190815837 574904227 939795661 472641519 851024831 610488107 29402571 10943261 722675505 757045205 664786367 609941467 484074811 483190987 436335687 387202695 678478795 833659611 988755167 609904549 67750707 757876093 56885747 653197023 296644915 536064463 943630803 314055687 978672621 45564313 559695801 747132441 18801907 119563849 585400519 656910905 719370807 247215607 212470533 647687859 225534231 530963045 277034595 129492473 988391767 663332853 991154621 870532005 664308775 899500731 178158549 518718333 811385115 871712619 750996047 611433579 655356719 133223 84273345 511832449 973210569 508627123 810247077 322807549 861451703 464097537 302532951 169007935 988979247 377044647 912178469 55822805 124690379 121464997 875399741 491425905 277071763 221679267 88579771 470280685 230643699 970976237 625828511 779437903 998343617 32006781 801910483 914030273 702494011 961262577 178293287 556760213 518908675 871024273 276126805 963059785 668222251 565899853 267864831 438984063 349688355 143342523 33424555 905184513 172118989 711201049 44198351 728911811 46787179 900599121 114717121 323673055 992109997 69670641 5339075 154743197 256381863 57028913 566386173 373424227 881928147 297877231 609867907 880071621 846802461 121680817 843193421 269138049 834979275 294932139 783191611 188426105 837811863 291766191 760754713 665108151 503530399 85669439 898307477 9058927 608482403 557042307 344078667 553996285 664065493 206770249 18355131 369689315 34661705 559949319 148331599 929699277 277640573 182387677 408889941 352968591 390789011 612245141 768345099 533495843 707708955 503573659 556069263 373367724 622215691 718648583 404013037 946308471 521268157 286224025 51511827 431355127 462702075 822877367 481980893 236926661 887153901 574037617 607485707 649958821 921903915 884695423 58830917 910507395 438762163 73466687 843007007 735868531 792602601 701744571 122770449 946857905 758391961 670456989 675827067 628531869 764519163 911818305 35771559 51868611 143857835 972633251 587863495 558522327 314223535 296686189 118339573 300578487 596955507 61385709 676493361 154672737 629254091 134312475 938545763 409719813 962365945 696275349 220543583 132437747 112885661 78541219 961939163 662456231 971223495 249604403 289206907 190041285 145876971 827710941 289666249 16622105 378255593 147502817 121294643 603934101 174054915 755759655 301081619 969060435 611432935 48950077 974422445 697524633 550682027 68544089 273204519 705242062 238053325 879858523 753675157 940168589 943730991 485440717 457316077 161877641 476754467 505295579 812597523 308647593 787876185 445780573 78279887 672761081 92166899 386279891 437364947 282157739 967902069 464496739 471420601 24388123 178325705 861398237 665178111 424850889 743722313 9563321 377213713 129070949 282031279 632887061 791616577 374940865 520336673 311008185 815954629 118342357 267723821 660246549 587472833 861792457 527146439 353037373 978400061 96271077 994235213 993716725 393206059 779113373 708694661 577432481 923676771 800811147 812993179 932677969 730173865 429198197 330205477 871220667 752421539 736394053 230414111 558937409 233679587 68773135 873599473 267362537 105812197 134340365 33269861 779566433 334872837 410110881 237728177 19173889 130896529 762917465 26421365 93169611 907844281 520388327 351199667 459687521 554658197 195441191 866897371 810210071 660540201 978164507 267890623 863817697 838520411 942437873 484837279 510117983 33595901 85789943 971008543 977592539 711938505 865232301 776233803 741192513 38025569 695900597 286649755 61415465 965516621 135385561 715093739 93711825 813943295 540298511 446915457 139085093 81234127 752069999 482937608 828230831 9515263 516943677 799398295 655022505 908985 143365605 73204397 346136817 28665357 291902203 222064683 25339919 80450549 513751865 515703649 859524657 169644371 661348739 583339011 977026353 172177903 728888803 772515633 597438093 287431033 954616463 9848429 843859049 50038413 172241119 807207589 912801945 791192491 825751129 106351407 833283987 923481661 14475173 38435017 885288821 307624339 428013977 395890325 324069637 639013351 667058223 45023013 973352119 852947803 727080843 567895403 633218461 813853429 267155193 759472069 989207161 176472491 734910953 588385015 739194035 605813587 461445371 42858801 35232599 547530671 725894893 507023621 977481759 696793961 898775471 727796339 854555755 720994065 499903825 787111391 863266879 169913377 770150161 595171095 942958413 768382457 499738191 170123343 5682667 278550757 590141849 454435623 912792601 466360595 682605983 202483615 762294397 618605983 156656705 880890665 397916007 164079497 874450303 808868761 303222223 958680249 765646979 860189229 229570643 964525827 343724709 804742279 99682875 427153183 1195099 940459449 145100919 386945455 431353421 615809843 569081499 301818937 309577795 586721239 369219563 245738033 215370799 837662439 97714761 855262705 662672689 454597907 944991048 726994361 279298697 379639661 781577505 934217395 731085475 938996853 736375727 202253805 464227345 638511375 962966905 301304165 107694225 594606983 881512113 95053049 495914501 388770453 177173039 229376885 644375927 319243861 25984111 939166599 199586331 849496397 956076697 496491211 663419469 621504873 70948735 101653183 677711503 496904959 873985173 855627729 254358669 34947531 520111867 1084495 210395673 466032115 98056315 429688689 150144049 913424133 824790143 697223259 229566967 324562679 851318563 780185367 199692725 486016803 252125221 547847059 845189087 846582097 207292907 194764457 45214225 306790061 941148805 386518301 918834191 260387023 851944619 270715541 839357121 542751407 86967995 250323109 13459773 749114295 448692669 16557509 598523837 575311025 304270433 313760853 155893413 883181269 962217979 757417375 329010047 358445247 489821583 819811029 310953983 149261685 968251585 985495567 747374337 745169249 468899039 203430225 732134793 621791581 202304485 475707777 860349375 371903395 763762543 89350515 642097145 623816921 331105731 465247453 165448113 579387661 704601811 170875747 708624011 914046643 357067575 311973773 676086099 202511785 39066411 289683405 678904057 609323061 957642647 292490621 228099997 694427139 666097933 849858011 660658557 276057385 226244289 262994707 524542473 13969189 387721107 175724855 632365265 542672857 928925963 330026301 634181265 797407383 260212313 348624905 4603949 668377871 272822611 84607331 825360305 43831907 587157881 170476285 847916367 218466837 873646833 449258863 413612129 227183893 411206027 951056701 159088749 873180341 54697407 812237773 256758301 943383477 538874283 213956209 642318915 447483193 423220759 345378147 250711259 634124239 13693809 941932229 566433803 901943915 551958739 379060127 933395225 166712683 816517369 13412067 828706173 171140499 438112589 467356777 954039761 725393683 520603357 521939443 966305494 196898943 28299615 178675243 153399931 654609875 798681653 851819425 389649615 30715255 11064165 118413265 411058961 686773045 930842269 248721943 88524449 849160003 466243637 703089857 921014285 977737025 42633773 860039679 948082183 529357617 734193963 983714025 562422379 721200257 924500865 258258561 105805115 578363143 360873507 5598897 595198883 203644417 961341361 908105 28278519 237909267 563130227 810465539 784879023 315058505 520392281 910737537 525501043 987188763 432942073 141677387 973076235 733780581 980662675 779428049 943860587 587143533 401157901 870196591 300723375 450356701 519264759 438809445 526731801 462909647 461250185 241617885 361644055 592863421 382792353 402447847 996504887 830687885 603098823 527003517 82335033 32162445 485652265 669634177 870308351 647285617 937116321 150224825 742663315 568627545 786523563 82659803 19377195 806489285 950933873 551834237 630509343 55831977 134219967 947251489 152498675 467005013 635917585 362616879 616405075 665352839 14280067 705603579 63099411 947289703 626598875 790119868 876088877 85896063 406616459 981127831 203450821 911454663 130339497 795208335 428739879 988666009 719832309 480085403 507247811 339690943 914719447 867668113 346137655 129180257 712699483 204438065 285598023 892568601 91155003 380706345 137478363 118854623 758271191 848285703 514102795 746031901 317722931 529540165 89777933 915984543 992697857 938906435 629878855 151491481 691505813 858912843 121045827 150788265 537824243 224401553 764212151 737232597 318310847 105442346 526907003 174469769 249609033 118822169 712574613 633285275 425686153 534372937 305623087 600166215 633686813 550660745 759614875 155988787 810730829 91707281 412064341 447783535 200781063 439549701 178485763 955765099 873885925 179500911 138077547 327072777 367394595 39834429 806542725 878065803 876910251 574128587 30053483 170740383 1715209 850080343 241390687 991427163 790707321 548714255 263979211 246644029 511756501 657680897 702587719 211579689 595027625 284129829 220165769 929503083 641948961 726500959 658540921 662235579 128828437 964855417 402107423 992539445 567213829 253167649 141623983 458459487 805206551 420471793 582719107 853050659 455336221 329251949 56796449 341919707 36627083 364753147 284668211 894194753 960676993 174327535 453181325 241664379 507507143 115106431 116534311 145470999 679334605 413394383 680929065 829981451 492352681 435147241 756076507 352209073 284331545 513817531 986383281 704133585 788011657 378371359 66727239 278835350 498353411 701788633 983197023 730130329 620922687 70060175 881983973 417821397 891975327 204100563 18131181 824191661 156049193 84220705 674643377 522716913 311190667 340450775 572710293 613436375 366743839 534692927 650150691 494248699 691093217 235510411 9379087 685264993 820467323 776459219 597613365 907107705 545795643 457829145 465221527 335864341 452380951 8007241 885532515 868199285 624200623 507919151 815033831 996383037 264688973 394508423 470972325 5585531 671894237 806912755 888877881 878078115 688999927 604648443 428487285 962220179 664373723 955381521 205443911 851764625 522469487 769848973 600292557 213018697 331911493 957476531 579305547 561672145 254209169 98254505 274137641 773058213 531412531 711971201 262298365 649572779 905194675 613854005 764515969 671802163 775198273 466604455 236540057 828962285 322562483 64740767 123357777 255913467 872750983 855218127 999636187 677895647 225021671 344701391 720271505 360893831 176458913 967238433 472527351 305812809 644497453 547101743 82049211 774202083 454560937 35320137 553754285 506182777 291466205 355349929 97615563 406128537 413251383 981595249 167504437 949554743 334217423 867815849 754852151 921227183 725099623 772870465 954064455 886013899 714925665 930800151 896303359 224957877 908444881 957233383 975288095 541079809 299259499 55270749 478108055 68709041 191193489 508030217 758084471 309705253 733602119 898642021 73997053 357647405 911899711 966848465 793351817 20129789 107427791 178557593 93988265 984724533 257694455 201612269 99910159 641956821 924007263 6327781 522884247 714683729 899206227 429410435 909367875 737507705 565589965 341474991 674966845 555432587 936961387 89525053 982410205 57749295 419360629 841050085 561587099 3282799 547338715 84076617 476175897 255785411 358025011 120609519 591514661 23312903 701977531 910799949 562911409 339479679 840738397 520296377 313800153 476717275 177181607 750463093 173048799 941641517 612654801 688852137 388194351 845935349 643659449 727044713 262616157 682542103 301949157 260646061 381060385 753940449 953727113 996665943 432493923 715593223 328882039 144644397 743004971 5852583 784739633 597545189 317501613 764631111 151261151 628990995 733983557 575177427 233808719 104360252 746672247 509892769 14722551 576987595 964529387 412228205 702978551 702075149 866753399 806745439 367753241 193530683 136866837 569686017 939628233 633124987 187764967 248694091 673937183 114136017 305096509 434251671 131968475 454921777 321774725 81146797 900612707 815014261 191785309 828704699 222649287 862742365 287243401 485169747 172402111 640537745 580662769 117110645 154802601 581238693 257666987 500159365 125223821 689345041 64559857 655376463 642564891 862723893 268904231 186983947 673955497 975040347 722962135 376994389 571155509 346408117 951049399 213858099 162988137 337181277 621461663 829411343 551391123 498288467 486814357 853003459 607350955 400669567 562523585 801214089 966920783 950813365 352097145 817392905 474591173 958934955 95919673 293984077 399687681 28303109 376152737 298121931 541781141 281758797 685198973 247485025 335073987 832361201 84632515 854286677 963287667 396878667 737823627 719234133 96923441 376340895 775542555 667780723 371462457 484006163 24252637 595196461 998065253 698122939 6076771 864329835 423935809 718185613 753596009 494913399 310269945 942487149 358240213 549631497 654049125 94890275 650716335 39420989 164015619 632782177 716239913 925393559 267953919 29038273 255973027 787655943 938044195 983708865 238995101 227529695 381625321 222398925 636718019 674604255 85703791 826509367 954345447 177905707 261401213 277559093 596170759 806237009 365811075 288825835 364053827 391520836 30281621 647899745 687160297 313357415 528882295 457970825 702997099 635375479 457289869 329986365 596068453 900370599 693165031 345491771 983444377 870540683 250139451 3540527 656353011 882716449 637288683 347745705 643434885 568402635 158560253 344196133 623169421 412241753 273741087 740637697 608693101 319426561 824034729 836930183 431967919 444130655 354370715 708399847 626257159 192811127 314170781 945264447 63897425 467905975 198791677 412663691 391822479 10333687 359153073 430545591 473751277 866233199 482715225 674005395 53591231 561603785 634314303 561570265 910268799 418107409 967463247 50614571 931304143 639602107 21027873 295411217 565915519 896633253 341480179 45047037 708420221 11087893 976955569 830173511 506553319 249090229 739662309 637677617 47938047 164600735 849859529 241410021 973004339 967479885 950063931 352381555 571024401 852111015 180235203 493584085 625331291 484047863 178774159 618894317 805155821 490328563 140285817 853745027 932953817 372046777 530141695 451133255 345913677 154187983 659725893 426058197 800293543 5125667 937223199 930896301 124985451 6123783 948218883 361025081 750684481 680670265 942230031 477944521 968611327 553579745 670237449 382369175 71552673 541143435 327845731 954454213 324853063 267365673 251955253 984816475 660043069 114630173 473757243 850656329 515642873 708046635 293660893 142453099 259182611 281966717 990930221 178956929 58477137 53066925 745046751 407558709 974738587 573349301 880998229 194165015 119364361 451966459 468288147 932312225 894528721 538186573 499685451 682487859 872624985 524507615 759787219 773160473 612625709 139293007 139591723 472627841 936182527 289602979 156898041 820802695 931917993 241250375 103319437 411197227 14318641 201374993 449433311 46081111 831541952 842072381 892126093 270777819 297708971 847823475 877243103 499008623 634884461 293968829 598340547 565607097 741549223 760010387 158631379 620794429 801897255 405829073 103513165 525959281 35810527 337705147 947948821 288910249 468740329 385434623 143424447 494876715 421922955 455116981 318575233 945062687 917487151 835833173 982627639 772023701 111097961 918000329 188429933 843162501 347531507 485485917 856053327 269859541 258332591 277983685 256222647 587287113 758938539 537895455 352743201 336515221 64610329 771016945 154350005 784606547 361019733 179620903 83010117 184111107 473298913 96133653 674973253 390321933 245846377 350533245 255095509 912911045 993208769 237364095 188611007 777807457 562237411 290229419 989590637 199148807 104923889 221852149 559773947 922634427 313775419 77699261 937977127 932508529 760005935 898983620 405364567 867811843 36236907 3876155 137219995 25088815 255488689 886823861 243316907 440706211 267458797 772470577 492924645 430984171 884273203 152551187 229767505 993621893 541019325 884760615 725349535 189836751 964951791 409871781 40383011 580284947 589571667 493299753 977091809 468102019 840578207 349985975 611674749 247357497 758032043 796143551 562673733 734617651 487652219 150301205 385827893 301567580 206317885 292356085 695208937 799310729 34924097 1188869 886692775 317172589 513211394 107203155 617036641 342151085 303604775 735242067 378032559 780141779 759713143 264589027 567588045 351423821 801492713 882890057 657620387 810539637 231554709 836745777 108763843 314449293 588114625 99709873 254137697 192120511 853075157 539320645 314276957 719992349 375875687 958089941 585697599 644683933 510742579 464411051 873272631 409276195 573877529 971496319 765160987 767734647 584620837 391037805 298892651 749509451 327862925 754505465 91662669 401739063 464348843 757059345 232731025 151428031 637746943 611982605 841749167 347128905 718633017 115506087 837903045 667651623 582092585 902535685 154636955 279847315 310630349 774260403 582324383 87027887 957286981 926467241 744609771 352233603 908512735 406260803 997869371 62230529 429715469 271700039 566450681 770634497 178895721 377357537 844421939 470465349 196616377 75675815 414312095 25856375 188624871 379815317 458883999 250388009 513885447 95764497 808341047 778986705 955709265 516605417 210097179 262238928 148890157 203375443 839350173 193178229 72699939 546225129 657211583 610118637 686647271 78405043 542222887 861191249 226044243 865227807 559641127 105076387 320706669 835115263 385228211 432412877 956293215 141284243 944685931 46725791 817674877 677353341 700767383 257854675 342524225 191146959 376524839 143652875 159490381 836275707 52667825 326440911 116762225 555594975 883592309 909111183 822982299 137996223 166177881 351047079 957502697 801485643 663941869 980480599 425882781 8105109 785090665 164896457 437292067 52967455 890043051 383547917 10361359 253215433 429838395 207559197 962866715 639149795 92352327 318389979 209109033 12868897 457838249 906210573 290372937 612806049 985725149 174606185 539350697 999210729 972863245 118244741 576891559 820072677 839308293 854012131 515493829 209358827 245742913 438238701 633718705 318247865 686020571 474655475 460028475 761995889 950569887 121934125 594447455 103950245 164624377 245592001 790401345 817514821 618745601 685766835 763068715 387694771 691874423 248313 151110291 790578609 707194051 432929897 335378705 114162031 243663345 109757125 953959529 969305983 711077563 9689269 554941321 841588449 958507903 228827597 596842369 992541433 358306631 300528261 108710029 370678933 265649341 600323901 641693969 923918057 448031037 292158785 917928601 637847699 728434629 209671615 30061271 125363353 773557243 522612435 751064741 115220327 130871599 136213115 594957065 846500305 271352153 241993125 177146923 904715801 383638551 76844319 297795169 821197535 961519025 488913569 124114215 736390195 497268757 317989329 89686045 280901259 17575901 977226547 220124689 406048705 585642309 265925435 530303477 295176221 309227319 914494787 954361315 968986957 729289791 271556747 424227361 517701475 452759449 341299003 741539353 159478239 671916063 851849063 554984285 408703651 7799133 291809797 72497323 120546049 678854271 710161401 264733411 683348651 829728093 59211533 1119763 614503103 159420279 383539439 751412845 896518849 392111347 89336889 697381197 645689761 900046243 63811439 288859701 869194931 953214459 90724343 531892689 923202739 515301403 834517285 121565427 57551047 94420171 981211439 113567129 995981693 374094971 626489913 610481123 77152713 204782145 718967117 237727007 813055499 965431515 96730457 244378305 671571714 604683187 16591415 29816159 925505765 388267479 93485483 169196483 527065153 849697023 734550619 285453779 440913173 430633609 364058841 970036643 438116809 284196989 760656545 949978737 366834727 896345737 411751185 541113759 501059175 541929735 456631923 555340727 65987621 239190515 442882809 874194285 308580709 543340023 376227771 959751837 948081045 450344287 443734973 177477963 849099404 106855207 484604645 351322271 980617095 386142697 512485125 677869039 887100457 297012465 874077911 292598197 781738369 226960683 875835645 731067541 71926531 109005359 720021759 377010265 6634893 872606525 450302031 127782647 860529765 910780987 473806661 887298951 638182967 424845499 45771813 312115021 84159511 833436913 563234837 397826743 286556295 168527549 757988903 805337685 234755687 655804071 867946581 525836259 912848391 161346783 544258689 981388613 16061981 532395067 972325747 667235717 445786307 814819129 531690461 963647449 35158659 815368451 323373399 74375833 636046661 358546023 405098339 904675915 104650593 888534749 80594027 702572183 875451029 744008579 827030207 411932501 451014917 267954719 302995353 151823739 334940221 864546341 376863771 429879343 914803253 556656039 367812685 221747133 368174153 965326953 701653537 390931607 713939007 293773005 949359 302510679 692901185 340231911 829423609 832426179 626495721 440516459 808255593 281931971 85710385 798362299 217973071 704436591 41567359 369434587 634648357 177347325 707308193 799144829 724872267 917012949 655401421 793860342 772212749 859642237 146758813 355790153 770105243 200692653 152601113 110778393 739475725 869293887 161124525 796228793 235351141 439532853 710170415 663648029 584053387 338988987 427016157 169389284 64259669 831735075 319182171 768429145 613207925 606226667 923764149 952128361 923944339 387112115 107756387 523265707 135925045 863796041 841717311 506564189 460358347 671488927 800834195 261725545 220814769 37072337 197850119 80278621 304879911 197059105 471195829 35814513 207440215 281210363 429463063 393861249 467014735 374112499 935353875 170307609 749080845 667469251 401215991 40302183 271429745 713418063 113576311 673868095 47094337 483647905 246022065 205349411 1432115 764947693 90622507 860921147 261866203 879658639 438003665 343052371 432797375 382809097 822532601 434045415 464388423 322382343 91671391 391273489 958430147 338131805 162788649 887668637 437579883 627334661 423360487 48684791 335892837 948638755 73622153 168817975 332889525 944457473 251594097 303029021 87361617 348096019 857930593 366571022 634125581 419488759 228035719 82862877 871130031 33896299 952752507 75509759 712099037 958552157 741977653 372655635 164868907 317206753 877166367 587424609 716723729 57540657 347034117 894193561 536348399 982199217 198076699 910985489 641819151 91684333 906044927 334425031 259510181 848970645 759250613 977782885 582869189 698502281 176328877 141707065 499679861 726004423 80482747 260215611 924103323 917650815 893600027 530349321 70179595 372889089 90024051 602832361 362799739 77593801 155013841 216210639 641931665 618720379 533093291 918268749 928405457 968202979 149731291 633823397 494977199 462111217 655010985 419308223 795568261 460932805 817196737 516301095 420591505 265633439 671367993 221626905 595546367 390175721 178131599 309569903 587534817 967370041 559616423 456406453 386954285 81262667 505361613 170161429 50409927 655610623 420272825 766538861 92739449 650602083 921586055 54258741 669363697 110568873 755876283 958605723 79854793 313679147 994359621 227593065 664736643 28281711 932192375 812123417 237517963 394904095 520392977 469085641 83955245 976434957 183981367 754971969 811068325 931594039 911549047 286132465 299015701 222754237 93833413 736998637 315411847 275628781 625925503 165267193 244596199 193132345 695506539 971550073 993285653 684481085 692762293 19093629 429555405 852536763 100144115 702192827 482406331 840869535 401537825 230149781 452591729 260101117 14066087 161807121 502997861 246307341 163590735 503809245 492701435 839014711 671007825 658029905 966428283 675530499 208154183 300008813 922724631 396593445 586478907 948332249 151294183 997353593 570905493 375244515 407276013 466861057 513934381 274998657 558028051 292865001 22742337 878912595 896684329 115763845 442471797 930719651 414967273 401778511 247846615 940715867 93370613 842301419 507853787 662687767 292966101 246605603 993360991 604164629 73423867 541501931 233752231 429182525 996772287 61916255 865853539 453845275 27894115 234826947 994327463 246800873 54331665 394395775 620763119 783686021 170550489 758456105 730311969 870389623 947254197 249588091 285787275 967204077 139024519 544601689 510225891 351122369 146295063 912382925 459525187 753446767 777656085 775257613 580453171 921667105 146298655 790560369 971992991 520512421 549396401 851262589 857132765 131257459 786504757 852215519 611425707 889789095 545538559 864372839 464429869 585872141 36839751 509482257 866874351 755659793 744670255 65200385 620366057 107881677 229342655 24073091 318359159 690958845 625186535 259084295 591728477 755070729 403742083 55083309 708791243 601820931 152771411 587043251 119891027 189457311 71159041 258181513 791590645 15210559 380628253 422032063 134233111 404663527 891107617 267775121 787255681 993628489 618828397 133773413 125750127 414076347 793488717 651585729 336716153 716494909 747082735 39660125 900601255 787698037 692524399 406868243 248130405 1991091 250378957 186194659 827290249 324488175 909124595 587522813 6299215 315328199 657230513 305925299 199046751 808349059 586863041 519165565 780660675 144698641 806687683 432201475 147803635 194808587 736387649 265835019 788334537 262176429 625280687 315750285 329959565 582717921 960769891 579805347 912986349 703858229 960900253 790109839 919201787 310754785 795217291 386459069 500482615 530369729 450371899 705562815 915345029 536413025 943849893 543397203 286334259 970594797 244889263 110227803 939585269 741472573 301775645 419621345 305371625 353540051 94957987 191458329 840911507 913620177 34002395 154119261 153851619 555947275 447833413 814451509 312962349 810289141 26675273 822126663 744888621 986727087 674377019 899194215 153707275 841029889 872485203 680284051 944598097 412121691 65377201 336379885 634824949 48020179 500879967 629119679 369311829 654534697 851601231 120602749 333171769 329924291 28888923 747753667 607736777 924726961 774382913 114728275 32619677 471288491 883827887 222136091 176767923 556981519 642656561 806370603 315540589 398954725 738782021 564777919 950819229 242037469 239673673 793426233 386826357 975508043 317807751 454550825 3719569 856306739 986074161 841962813 734121979 674686519 378893409 659110483 35429405 410128811 93099285 791781743 551536843 222823557 950582587 430896825 328299589 962829409 604281759 168717959 871637807 665730443 963368447 531979859 709752215 695600623 894779897 19302849 464305651 986378277 349988375 742646173 354638365 596554863 950839499 24612566 179136605 919568815 383587693 10232717 908052575 517114999 589372225 106078211 932801081 555371009 453874797 181355939 657655655 580226343 214281475 892504063 737167313 80151923 843790333 522595283 764379329 152682005 885148733 102640131 923876335 449710819 839718283 277052571 422507637 564779357 413826969 918743501 720703965 71323049 868541697 369342707 337411343 144013719 411635265 986722195 409824099 674816415 273505477 761972309 793143703 86100959 638175709 960051729 240497359 655581983 83002309 415642813 917557657 379334605 977805465 842582145 574220521 926274819 119671143 470026403 902884125 133313917 426499871 865431195 77598459 746537637 791873945 992553731 582098095 542410121 994798233 293436061 76634317 933617119 471736005 976264531 487788375 183045897 634182831 511983421 469834413 906017547 476103121 738977171 558874271 769714071 698818445 197279671 797429603 932935429 992130603 544646199 930409107 321869649 67727835 775388613 766117431 99210019 394660281 227375165 924499387 364402893 10652869 866419105 10210039 843212611 735166697 61069597 294627619 114364197 88019445 770684931 380978153 927924155 384599717 197817553 489819733 557522421 483155861 201462825 595403225 247018857 24757331 933933013 46059351 458692951 949616207 709260745 127651347 416581541 469721569 365446945 110623929 805376995 39880523 597294879 829991517 936341065 671122869 366805551 278160255 800950965 502160435 948706021 501572867 254886829 573772989 115023099 828527415 37727589 984561461 874088533 200307409 521863343 498668131 894216701 104145899 166197775 243092727 976438567 490046733 974407337 98954381 693218865 145768995 938696011 285349029 749217689 549966723 930080113 71789481 444436237 369955049 4401205 894277097 765171297 553481853 208804707 979515551 253082255 856035273 267638375 333865195 77786299 860651205 861431641 725291225 556568369 887626445 609045497 903564375 44965985 156012453 782534319 873029697 398024681 183577723 957890951 872331607 89310093 758244071 796384059 660713793 806187061 31896547 355437609 785166227 913989367 913904853 48002907 262161605 80544271 370254473 260272507 418732855 525921757 192309817 464213477 296056885 786313197 386005629 994396567 736555245 790096885 133328987 793884215 139092347 77028557 224064067 435150101 260192223 317223291 319395081 357165609 754955009 572318249 401798889 615547153 965520821 687830313 277803659 435031573 746281395 247207927 381600761 663456035 323971227 602878521 233074089 629878995 586034423 126009013 200652155 125501799 703816505 185168995 844856753 476187585 701940411 272397661 870115321 270934133 836065469 997504483 523901035 342782649 792553831 372545893 424843903 266104681 137058509 99534197 60892703 845100049 602722277 248568011 10470551 93896669 678442389 538940495 215789467 91644581 604720545 556430343 631666759 135162857 976913853 341052971 206433317 92382159 68712067 682887701 336166431 540275241 14118001 639582023 829659529 348983659 477050099 271213165 540040483 781172661 266214235 194551899 530256915 696113103 368061921 161326345 127758051 966913577 28204197 481858207 73022089 403752921 212240561 547113573 615894371 208029597 135770871 322668495 160025143 252145887 162115407 517021049 64884529 416516781 860241789 688259621 322967783 713399999 310977575 441527743 312106327 564312691 886618593 492040795 338122467 445568465 879615521 858608947 84512605 910076551 181299275 52557737 846559479 62956271 216283302 479578189 759565133 402664197 671485799 283949517 619070057 452617587 364157859 223191559 166996915 997411461 870741087 375630589 250033925 654485815 102245249 847599067 677735831 353052707 943309019 508188149 452404499 330728597 210979625 263996357 425645701 863183225 490517255 745432047 306555745 157206119 120110083 625569343 399823495 497355423 693469069 760703141 640652599 60196359 490585599 536443967 606821923 364428337 267413399 400035409 55844447 297753425 229159297 940651331 846841959 5955399 844810957 585396651 789893923 573972123 509397876 808987459 94156509 60744573 791130971 453923823 469486155 527187649 130885959 222591163 666608013 338852587 84572139 766410967 5082917 909389087 154300127 538191011 141653251 323610669 635531173 747849885 107595129 632718733 843418279 121140341 159846983 545221725 516457013 418620411 618360719 125978211 591767435 24792619 738673379 502863635 920767429 832540203 545130037 23370367 304816369 620855361 292895971 529398889 617052415 46811365 264555185 277697337 506588871 359204783 177678543 232561405 829945611 795445861 883301585 721131115 958278517 142392817 848219059 245370853 233435029 762808165 478063835 670120559 549683173 440876287 135825175 728613051 608054983 981216543 467463067 947715103 876940161 678501715 458437383 446740379 476829001 162763085 413992029 532666581 285992501 993187303 620760075 650922783 873390663 786304039 604851943 693082733 889545321 336501815 271702319 65708127 234803051 919188075 24045957 644049725 586803463 496437307 57591291 915124983 912928477 366252367 590355713 23288865 537046393 639186543 458407033 857969407 761161545 706550927 318754981 35357813 206709673 757515211 70116149 999543059 260601817 986314341 936098875 266775057 995163139 876373449 639689527 247599179 423982647 602379145 489376269 445044557 824851821 340422755 457451531 441860675 495215755 56333113 819563237 523547911 217734485 607756309 637516731 893106453 281303937 115389227 586446349 140222615 755292581 418346967 860134093 849092441 937960513 149725595 166682959 271298007 975501507 819627813 716644433 819240491 645011065 147390787 704301813 182234401 249436573 620378613 881594315 770667301 14891599 263526749 946560457 102134607 221475225 236803781 379241801 577603167 181925487 327031715 896090901 487551931 923727013 731820687 865074517 650645107 978514433 514777677 460895393 579474495 11847467 22957771 476309751 701527677 113674417 107374105 193726651 82020661 536253457 593112946 729143737 537604631 278921897 188553789 750405673 53827961 369647301 112850689 899228071 733621593 23049875 890635893 705131577 162132065 293563693 755055729 658376011 791086303 729440663 10216187 850469041 370317259 719003575 506604347 215069613 772634561 151139681 39392903 972192223 698566157 428058957 926484313 912877654 25061789 594203163 91115607 514457225 72037893 837024597 513431879 176391509 686381191 498005101 837506081 323426813 16706827 867527101 842605053 80250671 787986717 558481283 478108193 281596417 119112953 801412331 126468855 74490097 64259705 405979911 62123793 183089377 630753319 309588431 755837995 269197859 643448371 703524131 366598699 526252391 591096179 552097229 261470231 472714447 103060583 527412863 79393575 959783647 892123701 585687761 585668021 675386753 973220783 382233159 394976323 261807375 973470793 728243527 830134395 600011075 145892643 70174243 962201653 974979139 463313413 905103895 949199463 627675549 271643741 647986753 416332857 573135685 863437893 172264107 203962867 667498137 890176891 255536455 916488713 971924319 887456357 38692077 156230677 359072963 85856017 819636319 750826463 64880731 482197051 777608519 838459467 988988707 342148671 627802935 132746355 298698371 710968357 113634469 230875279 512707909 141841051 733093877 12618497 223991967 212401401 523317871 307715415 567163697 371137599 926124357 490835269 317059581 711818261 769688719 138711969 678931827 729475015 133341775 260800373 476250725 669732177 571829615 161921767 379139859 695806541 262079679 487788621 685151777 942441733 394987515 858837279 893376411 965750633 651492543 991240965 524944889 969591823 544511385 624296135 725772567 324325175 27613945 170805595 601785147 667049414 520253495 894304985 547321361 592388689 301859477 546702213 789697965 657458695 492555837 761123531 630166929 665736655 676349247 652081215 860423069 993960747 146721943 77935771 951380769 692914507 377646369 895783107 799609297 55518729 29654187 628016835 430353101 812960993 208138981 896061131 109651863 784396797 792638055 971394617 614885661 875719467 830145971 576722065 862517941 315135203 954822707 854027387 839385885 69737793 37714743 205137100 115626871 961599761 590603001 425494913 695329877 496204479 112834969 537584829 416204969 49514341 999082019 81470919 956474577 888439743 382456709 371882519 873037713 860540725 254475675 960417349 582615321 773936857 354447397 765622039 663869947 825851999 144517069 258456181 554504759 522143015 219263779 361559157 772276785 246963515 907328929 368294995 238157239 758207559 450073767 703320431 866206973 39731363 373588609 661837399 436082083 54429773 445997919 802219964 481684905 435494385 440847959 403835259 374440577 471786969 439949423 836575639 815326207 496246015 269574031 184709435 37967201 747557889 465297799 904428985 480721993 768563751 134148881 272530319 998333897 409549919 855708365 95784797 673051985 441776707 555503175 238609649 244737987 838540047 581864173 856839741 262138465 784328365 840190747 211691611 691538395 586551467 576371985 122311313 823784259 557677887 327567863 521710921 790380313 758144075 41498337 134996759 844296257 156358229 269463495 416830899 228568327 142465931 467683465 747122437 721185827 449807045 391832561 326942741 184893361 954808963 245125299 973220887 568651319 948409837 907010147 960562023 2043809 954094543 226016391 893369479 970591301 661897637 840164229 409704739 307151327 26652297 91188657 688578319 471607957 275551301 962222147 38422853 510480373 531863625 744955995 262112487 452205557 535475371 406763523 787498051 916543983 979037995 268859181 362865613 351600043 167318575 803113139 330198301 868173397 940341703 660579157 672183799 112415621 671058603 907259579 542353223 598015539 513962809 494607993 421867553 837797833 279540345 253772549 426603199 118494993 337497369 886712003 783055749 916396355 458835059 153782011 950178301 899142395 978585477 99733727 94162907 26274111 207447027 207240841 123194365 103755385 769059601 707587577 60894561 334149507 439931605 713362455 75070517 185919639 692375259 465738165 438828749 126833755 573907823 47337615 570885285 425025245 954645629 253708867 579860317 76440209 685946013 488226651 362173889 193155413 38844431 105004105 419273415 975901551 495668155 711623781 579887751 942572171 922825773 865611507 384154949 336702655 79249055 101139481 153416815 666600841 704816625 842731497 279620501 764043467 19998119 222541151 241535859 189050839 455961331 373526871 86343919 22871645 831819691 768777633 282599439 72363903 691191631 694502887 965446923 186342079 838687237 721993417 197068091 695446797 178234781 615645379 487705637 870871995 546886799 636717889 442379891 975943049 864473849 12575123 575586551 697713563 996551075 563151861 540079023 566298751 583882491 314596995 341463739 44577577 526367259 432509003 161180009 763042807 51375551 920211005 371669291 171228589 65303889 446197297 985639067 128580731 811048415 81952747 812334719 685830901 990774047 545095185 34708673 551541015 535603827 112915253 277343603 132579657 947954143 660726481 668296659 769610581 652664597 320550983 824661313 63286129 228246125 714896863 111799371 418124605 148049379 158943689 143104419 697038523 835254815 731833121 149508901 380962649 518697331 253957353 180401875 881658605 12237523 824530693 479751129 699472565 626253535 936520525 962084235 919879253 111125727 163815541 720091747 988744921 877666755 674767647 115238147 928237497 130859297 152569047 721685817 596057041 519426105 289805580 284728569 994783845 54292209 476979737 330314585 861225509 124987609 169857597 650765219 399562277 415076903 492604579 183193661 15297761 374441149 562485339 639548861 480986943 655827233 881676639 320595933 831711629 230069635 184979855 860255359 266763391 655627447 6839735 834722483 486251061 912713025 618236037 825272743 488982319 320275523 746229141 487269817 448591201 256455825 915233895 686132075 542225179 591538593 98624357 585642091 559798811 912291471 231454431 799006345 408349833 612503847 192261135 455422145 284625391 685708501 685957141 223914039 380942917 428516273 395557629 681207605 445178085 518903163 453253813 574373935 159090585 318048921 732188185 743874243 386715017 611671325 398723049 696449199 66013775 592852923 811790285 370441443 942216419 893436115 596886873 517724783 179127471 889966957 116688645 592140175 140102271 169282105 347256113 953983655 948438919 242388109 644337961 471019843 533354597 555605353 488987 302729491 605350943 618358899 901636643 246673143 893457697 201650427 389789505 876641261 560620609 630925049 953802845 962831397 106125243 916443659 288744011 145201135 896832565 666639991 507313347 70225097 481657791 4143153 472376677 271373907 26720457 505084875 62572219 362823003 952023349 839598473 541412665 312466641 953731909 470746701 226389043 110495445 88219303 27098795 734591215 540893094 810631537 221174743 955360659 450330291 280115489 993438899 467252275 364317579 232154523 124704965 92959687 500043501 399539243 894783803 749272879 197772729 296519305 770626029 830367797 687217149 328853457 989722203 324243595 34274795 619276169 351181483 290288843 178684637 370277019 699652271 474204019 160458329 16387681 746604763 569080817 130092297 34803093 330258767 5764497 863520705 536388957 903725779 904097425 644207739 923465799 987648983 798224655 594073945 906384201 398174065 426869781 356134825 175709885 140136543 34864277 28928733 161952107 347899915 508907113 178332049 425684863 189647235 698623823 755181191 373698447 616590975 546711539 107829675 834609047 557962845 760986855 427216657 384246271 394603301 901099425 547202035 41846929 455606917 931830149 108075957 372349317 471322327 847700187 677164769 734162039 472824855 207134165 586546219 191594347 748203247 187447693 620325743 635737553 35170731 257938177 215728305 197062011 312431431 472113181 756566297 234587561 552153181 961935537 970701309 623129087 831334969 549159801 44947927 544144267 445170631 995451155 114380619 706911681 358531743 942014217 821962275 942734719 951054337 373231309 205341267 819715083 992255955 780497079 344448249 653603857 912974245 364156681 692097875 828103335 557299631 118783725 336648143 430967369 763900881 6833523 849588481 49382877 937795727 503791255 745574565 447142835 561552411 73865781 939602587 486518395 653506889 669990683 28662767 661468759 430650525 194680313 31213527 318298057 631671611 679682151 389299371 173766847 724894195 392760809 185211633 198098831 480172605 850798819 243614289 947611127 861322037 310334381 813399713 845663259 777250983 290297211 140081885 499550089 408832513 163895151 303599141 779586613 133647703 460089237 474332359 541530491 976479851 542165981 307262771 961474341 373689765 213097759 617847049 548708445 940694803 796070941 578698249 237745335 326629739 632649345 317558045 489055541 827295503 104318939 976342365 868209463 839329027 64584357 990163711 868589453 773402105 569519425 436225641 97386347 841130823 667498229 484293927 219646319 210832877 287023863 884793579 150733983 778552209 293146461 636439185 306177897 921597317 191344681 417266971 819624095 473037757 719391813 69909685 505228415 212948953 912443009 460250033 584655281 951911457 294760087 631677837 83903551 621511813 126162471 856328169 618534049 951870361 99210685 654974867 704456883 9846177 770918343 329041789 490697913 384132993 716690337 891910083 598057571 966649289 457912971 120485543 846507971 306055599 395351215 176566677 893858393 74821141 432274461 745300001 647851017 904700545 483668431 451072773 892853793 806371873 785952933 767784227 100711509 134997199 415232619 324442761 294328259 863936007 558169295 893584235 602792945 733814259 272045165 169363745 458196427 665492575 683685829 790392623 985604775 818954183 27022399 152131137 987307840 558847557 879060783 384368939 828536513 902842533 27344077 449180135 737118641 335948113 909173561 841507993 476948231 193748839 111926143 784744075 813075747 903832479 372735117 194911537 428207303 672615 778809919 548575015 648403491 541579721 831134803 584943921 265458633 19565695 748433271 292269367 722287545 876686567 596731447 881307471 627439703 671975689 358776849 117430963 407035759 435900565 142983267 359319239 506130745 754560993 483026297 671986711 745920849 299289835 973169025 56057683 617324477 634528349 266276247 83767385 218780135 568860805 996222649 785946925 120842665 445262938 635788501 250307831 459758141 11447419 765303735 716832527 325441355 337869361 247444509 421989355 165374429 230457449 40704165 786840625 477738857 716925117 743689433 797852077 787638989 956395625 289672235 302915151 478078287 357920599 172038901 859430199 342550429 863201555 52410229 432829347 320159945 214182871 714294489 436972547 141707089 991377283 469264941 648030439 768630301 285325467 861736815 249702413 436941687 886694225 930267773 477175125 805115415 663194747 201505313 423073229 246989337 116351129 647625485 126383783 216530945 382002897 379699929 469139005 597108159 938747893 759843081 770513173 150154149 708911993 709799939 318587097 652782963 487135357 982862361 971358043 457632077 487046857 448427655 892677529 597604545 642208203 886327915 992518835 819693507 347606941 810811855 625541879 984726963 152196605 864591013 668690647 487213137 322065231 830557125 161751023 418907855 180310951 431333873 572533761 451764417 245995963 547026645 538414073 127702821 867334121 363030013 493420777 961762653 719264567 896430053 873284367 795563577 680037465 765638383 809963725 371178735 169353377 161712739 893473709 240148507 837979409 384353139 876944739 100119745 474919761 148230199 570622667 142265167 309726893 668872881 600077031 405933725 251918113 361532363 271205347 770266339 520428103 63403607 274567187 420547787 45487209 435581963 160259313 572556385 877937527 859478667 512330273 956526617 146095111 97656925 786976365 325970385 525418585 915653111 68368585 113670095 262867283 980989103 908894033 208101309 247219079 60623817 263748681 470934965 621072423 258263913 546388249 643131185 355584537 224748455 49783639 605938201 739554527 898789751 912367037 981604791 893295529 932044219 413517103 265897921 621129809 622228543 638781367 296980821 733647443 692759219 942633867 681521657 172432857 57533871 351018499 849917595 907370161 587822005 873503395 986184845 902905171 201777711 733395993 645608077 583726555 541146221 891835701 683263939 798625557 903181993 203986419 49437371 70300525 169345795 879226487 854256231 146528253 916515975 85031949 844988201 365042049 526392357 790367269 843918789 928084833 618813877 565810013 213048933 703758511 181064953 629139065 240350115 639686943 126731417 553317219 964786041 265718289 639913769 139869741 345752141 758665615 781753377 241214995 496221677 25301317 228762851 642551931 767776397 648568715 957578677 58588651 306123211 273875551 675318989 443108635 317266861 428845163 923036993 906940387 701100959 582039039 258877971 693369417 943494007 352696847 756689195 304791415 921660017 754757947 677542493 877547199 853879349 744029387 463794273 255273631 605039565 847437741 987872727 606184375 41598129 322923899 694597195 717832149 397006267 424907121 494123819 50663147 52272181 975348089 477418707 239447573 315123911 853304609 792598915 78651541 598568587 29737631 625122403 757279447 383092217 566024661 520434311 107792749 259380219 156418377 366483431 329633813 82324701 579444521 325531235 625304751 150265171 967914061 47279301 890085449 21092219 681069365 467834305 494464533 504996827 144072969 545316587 528247919 80502879 410048661 363463113 252066265 421903195 363491669 735433921 684244991 58056335 916713059 540911143 891391157 507864609 933571977 175901491 751689461 930350491 609314871 608604933 450495459 834203891 130978435 942192039 831710665 565533577 770137645 567119629 333633307 207048991 675752859 435218955 454649205 544025315 829774045 640566119 642206361 932842603 908536491 279460039 237018485 169033909 266955107 656358335 133645591 968337701 185772557 899179205 303289279 613179015 384313175 563429949 384103375 699905555 582633627 562452337 480498899 547856997 784981717 115096463 376233595 352074369 909415855 559537329 164531109 504157399 29372535 186664155 762576211 896211001 676426533 830189811 550281139 589477609 581456725 635602891 479840533 487615367 507876179 862769439 669648117 171395619 759224075 14716045 727494903 76530992 621725973 71635103 5771749 12242575 677792177 942457799 107699381 990257795 728033223 794123101 315124607 854912185 606729699 794544293 711567497 522085703 936870207 887310277 353037627 573334441 746902715 669864655 335108909 742987719 884290523 878187199 59491605 187987691 550696913 282787955 361216473 245191373 228815475 594991029 741084037 924915849 642840383 181976119 830937673 612689315 147441761 474682513 835242885 508045577 300172195 476593989 413350585 258518035 210826621 482116541 216487055 663550843 744989715 197653835 518535646 90539111 579777061 118539301 257241759 504176995 187106345 687155311 52431605 477547367 853796147 613742385 823816237 863000783 290130433 75944283 875721657 75618401 619604989 598399691 98590261 326415433 916107315 916888381 916892769 219377949 152135775 693818205 932674093 153123033 781508061 505848251 362590635 312814051 817245363 834147793 539635219 463696393 671724179 230302465 331555021 953553281 147164117 284950931 258657377 698234853 26033781 879132601 18079107 326412605 69877531 379272843 395670031 725603063 109932055 823510795 999600647 758041829 690358368 431306019 13644439 160533575 28221081 284343459 757096721 565665983 125935107 89261637 928866291 456552799 662846353 822860457 193804767 660238233 947708121 317294427 427304607 767302731 349570841 147710411 770138663 786078905 501877821 171339345 427667859 928734099 103677391 950373679 135838757 727418347 11822087 532480399 380745289 881693763 40270023 659170945 150133907 353994107 441326229 96853503 770555069 418839011 996773281 127065065 504280747 210034223 915248831 740163851 60680551 842987133 211070067 861236243 299074597 726647123 15438815 431952029 587327297 246638237 265959895 486928425 928502591 9334449 363811279 893706017 733000647 557813581 730374889 803500501 621246127 882632339 612101867 308157311 436119793 963418645 558828867 852456767 677541297 898338243 437876233 597445409 359655737 86356735 510294269 262350099 816369151 942014347 491046533 725457393 694192539 772861591 551228083 125175419 79662547 7770037 355300411 641442907 855585167 885237733 56486781 863191839 930547173 507541643 497933185 114115909 699787535 306641013 775327479 878624045 966077299 704722135 183348533 511760413 126934167 918500943 83310907 957675337 337976371 837892579 527337647 517765835 803928351 104905215 957971681 64296611 450348129 258697079 810232775 889912249 128904737 672666253 983938307 118567649 475323063 99636705 852481755 475764179 812755353 894682499 183868735 59497519 418286701 936529385 326904003 993170049 667855359 671106285 281071531 206740279 573140801 800154327 644057305 708474283 23128653 247458133 909841121 969211681 223998825 939264633 618137335 292666815 499307519 322405827 313801213 718045593 917022113 516179221 206051193 697979303 458085133 728276417 968719001 519937225 856299299 542508921 353944373 725017289 893041137 948709723 678771405 666154329 185004969 955167979 32775047 446524691 91452839 235994393 172123955 977335927 543245165 333032761 839579209 822232301 693816231 817202695 845106921 700093383 107731239 722357929 308398039 167430465 416924651 576863661 486804357 636883321 665245205 836865031 207393545 814504825 207147247 769793559 360080673 966852659 598974957 20511389 218997047 852471681 14439851 787834317 913177177 194618657 754700011 755248183 245239871 189123007 323393945 290984921 275506759 447575533 507170761 454601499 194265209 916333857 512239283 724551111 55263875 236527295 298636735 680336405 898461375 85449487 443691381 88706977 869637929 796035139 172062347 891463279 159682665 643108725 324182745 365933037 572701905 943660451 135230563 758643187 759130453 923982009 537867861 216652731 249900695 850413705 840697859 551266539 545739741 981350345 364524007 786247313 487718421 366354717 241480869 756791329 255987415 392124941 972837895 906634873 706389347 527750667 972898307 554981599 719462303 722955631 895911857 73075711 30742299 607439483 388034133 761350381 172403215 434733145 969526877 896367659 701289051 928639515 545540185 286338201 966006915 987541431 287333381 741943943 581099703 651097361 903750981 833872555 617657809 78947569 246361381 694103327 486077519 892645383 432556245 295368299 346925399 151785455 15862451 549972605 317179321 641207339 767812419 549175207 573627115 588277537 676368431 318843305 943703055 65582883 236879689 39655591 672207595 946571115 732344205 721838125 192764655 845742875 821495327 18504243 696840751 15921209 944595275 250663957 584323693 859831483 539769219 656449433 118797329 434500471 647974497 154764777 990724905 873595183 76403627 685364895 392211563 899313037 935952971 730974901 848250423 149444129 756958547 291074961 200346007 420320613 813096705 352150529 315133751 101995963 723265461 758101819 865863279 327683179 422866685 508226009 618803775 866443941 796025995 659290339 428277837 588075141 573175609 669199557 998158825 378691595 219110413 683268693 730153227 963174945 789748529 142304209 18273619 750130071 969887993 81587165 298217221 850897959 710893277 869859973 555958289 338406257 410650245 586597441 873103633 160476161 418253497 471193835 524371523 258430535 780802669 24698061 880362125 151259545 695244731 106347407 373010047 488825661 589309163 54243147 204502351 170437979 706205027 600175483 574643679 846860803 600758967 875813381 737881525 831819311 911991205 678516791 671225855 740925631 282971407 163926469 64777879 89732479 824744191 920382925 663445753 491757085 342880169 259269077 676793167 153880885 269586025 729201353 586199397 493688135 885987521 482437631 890132405 203021755 426710365 22925363 301679711 136673253 548970257 412099722 460763687 280124925 28704727 893243799 804068223 479836707 290120147 214859847 231925117 336275299 670242383 539939069 880045281 901922475 768448193 617569403 703302419 884300247 990059457 178081007 533043999 125557413 818040851 681667313 500856511 378778563 95969701 52923001 992251217 14199743 430865541 508660721 821280989 745837073 707872757 46292773 829203 641463839 905594707 136449609 144618055 426074668 553076523 314855675 622226557 44981871 983585843 250559807 405967961 768335871 207478851 168657541 663979563 758864347 790142303 660576929 163491049 764997617 479750325 82566863 42926901 305299981 881011093 891698357 387267157 374968044 173563003 861003617 748220727 256638255 289332235 377052745 326645621 25622109 699457553 65833031 146749003 738196457 79091327 395846819 344872865 968901165 506073711 718773769 923363081 772788585 278314279 377669007 997874359 946883269 944630543 237217715 340809869 710244691 963165375 50634585 869051151 299431183 464264685 778729677 868442735 297799127 333048959 314024135 799718787 940336757 706387329 517183329 559284939 591201691 815461413 547196197 193980269 723195105 702954183 397239805 178443323 822238667 757157863 719919165 510991015 847598271 176188213 819060645 795421655 618688017 414317187 957776473 567055245 459343607 176550089 293492711 897558329 163600533 220199727 772558403 169689845 131934451 71559165 13684427 229080189 454597123 526773159 84088133 42619963 83932829 491737543 921554653 468812861 631602053 22971939 495567145 948919611 798353505 368744869 130369829 340016531 618241219 274688353 312525881 210495563 373763877 400655761 357165871 311113239 151468009 852144791 214919487 339744841 765922903 237877761 365201155 851139555 483809697 914873729 540646787 886769293 413542367 25922547 694137645 745140627 903861525 542211161 521186003 687944431 978511911 682344673 30962357 879556161 142513645 101645785 531292023 435993549 129926171 935699649 613825319 862459781 423686229 908553019 26073657 226608639 428153635 181486609 694319243 170649467 165567733 365452857 366862945 849199327 608650535 881315787 62287211 348469435 545498875 265123595 479793085 248740423 755038359 804287333 256768723 543308385 940522509 339381869 72154259 705842321 199167063 794995933 996852811 455550471 450716757 874666393 176249265 613555353 203330515 324620459 583465439 342524357 112404097 559350857 356304477 231451573 863639799 877402059 754996247 999345719 895298487 203166903 491525219 7172033 572720171 905663413 739290623 994685557 352945059 493662619 514265615 568472345 312567896 409221731 12376351 67171355 494917743 569008177 364977191 537888403 912649963 756981841 560677763 548262723 110218435 331251253 667661303 994306445 762579405 230803063 799122867 237953157 398480331 442716123 335387977 846614495 64658789 541537359 304998073 331017467 991523631 420167651 613155433 712285155 75924129 954875349 816966177 247946817 886930204 482184069 722814493 131900529 639764201 506206593 54806005 666142833 840477755 190610553 332908977 308429031 816485929 37997645 410572989 931761701 576068533 502559485 750570735 401447709 691205831 628571059 222858115 884795509 455509299 880952263 359931937 961009519 779997617 16597423 959342547 33409787 658253537 846323219 917108241 72731315 180191311 950272699 165705141 415635923 50408297 117973401 677755911 357186629 542316683 468831693 728476597 985021335 410701301 149310615 475314129 577710079 710636751 895977571 25474267 33067359 331641389 391708613 604543927 634821181 490941447 883728501 198636723 88280775 445843005 919652443 763340931 351911893 466975131 929184895 676675397 99017191 563519183 549307413 680063869 685449765 311766901 475534713 446048027 969040731 423566091 501845293 70995059 587484419 718670847 191869661 967124289 669068861 930792093 328111195 588313515 445395661 351958051 534091941 367841089 554273317 746520495 59837149 190189043 233816667 358745421 813595469 272997665 706615087 59929835 999361641 982355089 742087431 640258403 690643405 855411569 930209779 40008569 329081661 429186387 438538411 478439635 93881761 322129719 512062349 797427461 874268687 495782527 330358177 95839877 721443521 590972413 464620437 882174903 337280539 60863715 858276547 607997925 310977447 668852685 845204007 107981885 237033753 786827717 429725547 843817177 284874061 987943221 538797533 69620669 783515463 45858545 889144691 891160527 107064623 373814073 627170255 416125923 387617115 426549425 492941623 233035695 297017157 876274535 944705945 312299735 886862481 448818639 417176461 746796003 663051 532395465 306658643 232002373 870451875 280940951 308592083 561270871 342276217 739549415 890949529 737986647 838818251 169938895 248370655 394951537 313671177 905679307 396563333 530006967 737236163 327942339 100869135 336120351 248772789 842863105 204475055 680533901 943354563 968572221 657652539 487091657 32450297 222810001 726099249 287703685 339459977 819866247 913066685 819066457 471958477 101387015 842492841 399092679 524703563 545705577 249558125 555565625 729832109 547089771 410195755 20206337 160148165 355833137 185306793 138370133 942488975 164185161 778229591 385747033 693602609 252372903 927909449 423545365 830347507 728321449 37841475 946924667 912890439 603356949 137520297 642958691 631584205 964567575 455094921 887647375 932484165 462818115 52457887 135593129 68933531 215359643 485195077 982058049 260096993 409295487 986920327 857396433 790109269 597162687 699033105 300742587 9442903 950521745 641253691 436859719 870745717 750051471 956685061 94118823 910007649 399932353 122598423 595270643 378120951 140882067 497887421 348983085 471026489 117884637 445434353 175714623 403803987 961880535 176658003 283995129 991263897 240134443 18746663 194305045 903025539 961359845 436894559 972441653 900982457 155585399 111915665 135389663 338848771 250165955 361561083 151427209 667654485 940211469 431065479 573363849 352686027 266921217 983115973 123184161 252247207 874487731 876838887 403440763 462787159 205100963 757876433 536165031 598919529 435886517 410125321 466297503 357271453 171139127 905354687 719638083 801173205 96319967 587929287 17116767 733001755 28023495 927451045 703237539 662279845 762839415 244737403 759089575 731366091 605767130 431542557 845235693 497698065 475008585 919311359 643090141 202437923 94285949 991455555 287466699 52369109 703193247 538416303 276218095 909183265 834889273 566601137 453242985 306528043 822206275 399378017 213758277 344264511 597048089 160458879 414204273 857024461 988647807 888901233 627254217 929095795 861622691 183037001 897998093 543235829 329891613 509374139 636719847 330778685 523463399 369862183 544049383 255851869 447648359 895701397 195925893 870728849 624944233 750478773 385062695 712979517 93193255 678850525 201737489 149063149 670499385 847735565 692971641 573351249 325362085 879504619 344299891 951061321 259901147 914151111 191781381 745163475 931313327 73083543 862930711 832680991 406580061 414099965 527045495 783097725 598016909 69077311 654874851 353612905 718917449 378778189 339449081 67245193 757834503 479560635 314858565 129095331 778910375 182929355 998283573 148780463 272028267 739261797 156709157 546695623 552887809 250321687 970145619 336044333 530536833 534189591 566905837 522360651 369986147 45925191 322736895 965597113 437366929 927044139 104966535 865320749 967776087 963671541 407850595 641196174 741560425 107713149 927719773 484556263 75544803 927787327 123654697 318001513 684416079 642577507 229877083 180255343 148918679 281319353 467732857 120847999 342472719 970707897 281854953 898371651 707016823 897685123 816257023 717535887 784901621 100242139 957331953 462845277 299795 404303667 543998435 3423439 464865991 320189599 826795741 352946227 693512559 286321123 635147729 789267707 437712849 722171491 57604249 846165955 940298265 544353071 634727155 440331085 22963421 413971455 446862221 606610309 792966171 981894705 944629491 455359103 589094965 428162509 896927393 490323317 327890173 581187713 387163641 215208395 612549795 295937701 143453509 144038923 691932361 704544827 544134321 858716905 54304115 707089893 588404573 848566337 309848587 568757751 857064005 571596821 362975339 972507493 479101269 213968787 908001227 473517777 941119583 363784713 508426197 59057535 941945881 301608953 519557525 906649697 67338535 590552575 281654399 904185103 377346833 606376941 33107825 157718725 964992841 745406897 875061681 724635499 577758759 697107049 229074411 779532945 858634221 627323737 566700341 113457263 900277189 863258857 100477963 837810917 525008065 731457967 4959061 346767991 746362583 326634853 39144797 446781269 859787755 622788079 329476825 946076249 146550469 234542681 318694889 380353537 859284501 183660501 675961103 179738483 703259001 985910973 327089723 463259007 833684077 978300821 274472895 576457627 661013341 205646347 713381721 804524265 219132569 629155823 55856433 731600175 689472347 105522239 697824979 833747931 987217093 134471707 81317427 941405447 283257055 664378831 95602863 220618863 833269145 10272721 132830731 40141949 996428239 530730939 805901175 309772093 789210689 293361485 562473607 463141227 936793753 546093431 655583287 132994401 209161831 28182857 55927277 956840491 738243621 35255041 641068151 657101941 577710645 583047423 731830025 242836887 802057183 598778577 513483331 881510545 521104979 85580841 724517671 412386569 587850669 425654243 521384995 758019663 684274669 308719361 773726733 342937691 501438973 796881325 17770275 778264781 8825005 954031167 217604615 998721513 78588855 723477039 923768523 373965215 325307069 642781471 298917343 171212937 16724549 247207901 700271909 305385189 471855301 132843355 398594271 985777049 210406291 422506933 818117309 959851317 954390001 861877037 299657937 381737711 893949959 758619951 885436059 326566313 441815529 266126159 66439679 72941289 385658511 4526149 434833995 333691357 777549017 498374393 156748595 698620511 299388051 617259379 109027799 316598763 244365163 116689895 906565047 303742633 563574781 957432241 469645765 414197355 661999817 589546581 621087061 187371941 719681335 228651643 113592101 619704953 936118939 602378489 221019223 336558507 995957037 273030601 253280123 45661613 906568461 617928461 129472903 526459797 765275975 905972757 666291925 163934755 523226313 804102223 276766255 742623935 104993135 467030105 833007037 600360053 148283129 539442423 16595991 299251455 641216015 662000145 879434555 972396475 304959301 709700541 535633805 413031089 88145937 810592565 722562777 565810577 826902489 837451741 174867287 995694255 703163105 51711039 303933603 2780175 754499421 191953169 350530243 805008981 477136999 999732267 579890467 274429393 296335103 870327187 197355927 622543225 837432077 816369265 289237857 364613103 882346085 376507931 421927969 192640121 373679037 670155021 897050343 913277957 816695225 361896423 46896423 605998125 828961251 875083893 171660737 361351213 881739689 258132653 695276535 289552365 628490597 288807847 342561398 509627135 871437147 145004713 345107543 449618327 812382897 254310941 218457107 141286295 684847225 664707221 883114643 130344835 169151663 761326031 346108963 445771149 954173233 330256299 350262133 407487115 138282185 650137399 247545003 827726589 568641065 51323811 452212809 752130057 39270635 914509135 722535481 815865983 782111885 486858427 24498901 222952407 857376635 599246739 478430167 612593457 184385031 641239977 312855397 845249105 886865767 395208187 939224845 938454183 390131903 847618473 652192451 438525517 198304791 404945665 10573797 679992063 339102049 867257461 665516601 106812199 43553653 177007009 625852651 887519955 746105623 705912903 892340625 845784251 419664877 168416083 129810215 764823869 302190473 289496023 959741205 97881951 795642469 399848977 533485093 108166099 194406115 409555555 686734221 405779953 220258379 786261591 71376365 962250933 9865167 683163553 944141895 347340233 153528711 868672285 855660811 853763705 156440951 204087757 390910731 386889407 132481157 286137309 166899847 950156347 281015171 954309025 918092323 659911473 702419499 944355475 354659819 993921427 658482719 143285333 409302615 654721527 592649191 485750711 772473155 112643229 366290419 953199015 249267957 468674155 103226785 417258563 434552089 398131697 528366125 720432589 856112067 70664295 274995139 708535219 879285365 227510955 708324467 318759811 742182159 491495493 564207927 356983807 677770465 617583205 410444017 124496387 327503263 520067297 702459239 996188065 993733225 784171831 767951439 109176583 304821441 715139473 502385727 387936147 955787157 364695997 96934841 308683465 111361083 620923441 113000487 767208785 640724849 584134415 760298201 911549441 424986713 871317789 687321609 434634453 487457157 307123913 568724441 325046765 447227879 302307627 259264847 179284629 219041245 856560899 76580705 50481219 627171883 206388153 260119013 246535567 830316289 102683739 2746013 369933631 614909169 851194015 696631859 201898813 157190650 351767013 84318519 464629147 734010499 92458037 590618403 844851093 506234967 247957311 58011479 993054351 692967339 791991641 744646687 9833749 131759647 831066243 807298473 263972313 803986355 163570019 388523793 781128373 694355929 779193929 670490455 282502063 74819685 910871597 393859683 137224177 926145173 763865517 81247241 169288909 680554507 295067153 286070017 704676033 368593369 703419977 851605997 219768941 64789871 105549291 919190099 634056095 762736047 403029557 818561959 560933961 466685403 232794897 294682179 475406215 406012577 633436685 232686695 482805913 925014297 402184543 196801339 662290415 796119997 358832361 459188691 643922971 503603571 220364081 608420903 150467799 467257991 987331685 267122199 487481349 497958321 709133149 259844719 434320563 705826061 904003225 143707101 350970899 414416673 176483649 928944637 430705281 35881433 813994529 29969997 235934335 971263371 526933683 574903099 779074489 174707187 116010007 527817493 938833923 29753143 362998289 559022867 39386199 645809381 866471443 649039449 658511319 339595507 952828979 197564657 66400979 945326267 665196593 10510025 385871289 520233477 663247987 782582971 409773095 151106045 6975753 696178059 447160799 998012475 96777387 811377375 112813517 19292087 92118967 518045259 276814597 429913051 676844853 665620039 797607873 157649265 591264723 796069683 493877861 820211633 857388779 294345817 665789563 990156599 600306041 633564907 755104697 46100745 339180839 716386561 387891447 186803601 216923459 965038751 821494073 582191529 196715971 67267243 627180717 664217995 835650121 649164793 976611747 74539997 425755419 391573567 792199063 158549165 106339879 742237985 509732397 817805423 926839301 680936231 194715695 875137281 8265461 751477443 949372050 274575529 750290911 722093903 386647921 750325523 115683663 356353545 174746895 80867925 364082815 856814365 738714325 260748269 352915023 478642845 113054809 932728253 439236675 2115455 30475351 783108375 364751245 633479335 148341166 989854123 564313603 84130269 476389997 840803995 786062115 491545299 135388871 757535593 999827735 276771361 755698711 672995589 590105519 566594635 265249245 636088001 886265181 201901751 729494729 635244381 432059973 597475511 328107 899885053 994214701 910308485 459571841 99820335 997689989 110704195 162962795 559390183 417354593 774847737 373317047 226230915 242650245 757208473 820532951 217220039 245587795 375379451 225573221 113413091 343081183 589254625 133268519 312273259 967644895 728369653 721755399 500169819 100522159 941704391 633066521 351351579 441614939 231763411 497096853 595470709 256918414 994475637 48265699 195706783 841948323 614741755 22496907 271475513 180099479 909847957 927557441 962776645 783255315 246127963 200600031 698681905 170998627 348577615 331625067 619581139 485586305 968426843 741984783 659956073 808338445 337141583 849940511 104314775 955571787 562639845 662088981 981347945 816148269 569546175 649376659 658841943 687131721 223310949 703088489 196295997 608979677 108921671 668346501 24511326 84553939 882598593 201575941 350202989 124590009 70306067 259087147 372015995 270968775 598559079 572907619 663085317 26306779 458947277 582832193 290228209 670377341 955591999 442546303 38617741 402825693 538895007 207220993 743548813 490553039 617454515 500990161 74898703 757206741 834094897 418558243 388440985 603076887 509590191 137603667 873245463 286828131 143482799 696497893 172513247 220900399 772066457 190262913 249315759 707692957 189573057 442536189 486317227 832843891 934878303 109265235 823435871 379589151 868073365 559631015 792112323 712308921 555441001 977320259 584155953 618496001 462484945 773374877 621061491 578342493 443079073 529727821 821903025 972938719 743369631 91968535 498233987 240600379 95762291 694351081 759517671 437162705 838661805 836268243 779032129 116109225 782956487 41636881 610851423 287450739 59816225 926363911 276455797 710584453 68896773 401844033 217890849 289933021 683224999 659254385 663709033 655729959 969142299 181674865 100715449 827984045 131666279 228672839 787634151 17462631 523206259 264443931 23090223 314604279 176165901 694071363 873577783 981994403 978596339 502321979 111970063 843344731 387364803 481111715 124175911 527148211 904416265 902934857 97472609 89273325 454648115 751544351 376875007 397961201 492241053 526118719 637705391 559570253 29919109 337083631 855371399 909598519 531473433 573587097 139586309 59758737 866493029 727029711 829529101 766738143 839313255 942846287 148497131 57293139 1259517 167532537 759803735 998559685 778039795 260809691 122836589 863274417 577631991 505780519 576814003 344340799 742868899 932669753 597022739 111633471 879688827 884509587 8613095 842530089 283747557 80772832 284788969 949382173 61432885 483287029 310178623 861360095 261979809 456813773 977467511 799687903 929453645 207108489 828854663 755910199 385710145 695626617 53327049 346354853 323170673 6454283 47163653 355306383 928847793 383752667 192686695 518889477 305450181 837962161 363414405 338438079 767813465 936260979 793947739 130983963 352822265 464667957 665839953 679903519 233591843 29149749 337577521 666284671 546857269 867862485 711532339 725894797 346213753 792387743 122122227 167314765 96097569 685887303 135361141 889814369 520860485 195673513 69048873 212287261 576604391 381389769 189097185 50104181 467244529 595213519 284178909 899526411 575467061 914223633 835507393 417682723 634257513 576236041 922770587 225797807 74119985 44518747 235615455 307409735 334266901 310125009 3485291 307410981 783371911 854199137 937219717 148932919 194638559 213016867 476399065 930698247 569047905 839894619 895015805 760920271 598423859 940274039 11312621 722839917 600139111 654455047 640154639 298810986 916669431 54448839 809395763 546244083 377674437 852488347 509848841 455646433 592303257 863669133 918595251 979660723 125228069 249475795 71089075 375203215 116051201 687606469 271489015 97785157 814994095 948624873 487640533 340946507 374678937 27757031 681643787 875048387 738483215 810706583 202026429 627021683 587631947 203820271 540816249 232542409 147944559 810902037 17656881 557077471 153938307 685520981 683251015 154081393 66474615 624976929 823267967 75798249 972784169 716036371 671022341 363677011 269609813 414240497 984226413 195262571 932653477 267466917 276084153 695193227 192225967 312513857 301201993 371846335 959835879 464656641 541630189 61311411 599973039 166348363 240539353 654255807 214164307 576980647 193641643 679240931 96630275 302316999 591665001 909693381 820124375 267487371 194938753 701665461 597058513 153679347 890097605 319441835 565428697 452423211 666980979 490018885 571674563 227132805 13032499 659627213 681587527 889018751 463488783 970267437 511811591 405518779 730696575 640487937 604986505 657968385 292055903 316091783 299611459 746622027 209842419 443520165 713736587 670347181 519320043 118585835 386366115 218373999 323993177 358925455 98124467 986881275 457332157 29705587 751978447 248837093 624513019 978868765 431343855 300474087 782198881 921093051 484069621 378875621 995634851 404180007 84277671 132259305 794385375 359964893 955077817 850350631 425053595 888993797 842883781 241124603 996671171 754526065 962008651 72181735 784561837 463539093 32416949 484903831 959468565 965274259 343426385 343983839 841453603 591684399 153980509 336357305 319510369 360390619 709831673 543049801 411123397 95813549 611344171 983964633 487501487 234212197 350123751 8007133 638377441 146202729 185179399 680691443 812212363 640522187 775747403 732859865 884955967 819309887 453947483 969142909 175861757 321306661 518469323 919736563 347238183 620768901 66863635 502968437 151755407 772788751 982034323 216176231 522777703 738709271 57896341 712640341 282400845 962457505 617732683 780789231 782545479 142133841 779625679 393434645 524361151 59476855 477538849 943316421 790601359 800344073 592930857 591153711 124606961 63093416 238883515 858995363 478187917 809420445 737336973 521219485 922527853 770107091 876461635 117652417 662542855 388436197 60611431 912276699 496005433 372374543 348398439 351240411 824080201 84844601 120156317 963064033 798908643 913990389 329345357 241670189 283403551 650387063 513418397 878378281 472542837 822562977 846571937 990731371 180335055 527172599 726929999 862426031 909216119 895747243 466548363 404440789 680543269 713449363 53565725 534851307 762061301 87344431 610574007 227061539 790865259 241292453 109874931 142152151 48917623 144518853 724387151 852328845 57924971 517209351 814611511 784071663 361178119 840231049 467583997 592221903 848705135 71549203 988532183 22538539 997919793 743983637 355745001 33083429 287067969 972504485 320867643 848370693 231598335 492237697 781326015 776216387 954596651 811567635 544088655 307741049 341855479 192721257 791985321 916604521 388463607 62751291 478905721 775504639 677947689 266001125 84397647 760856143 512161775 934905971 693482919 107022993 549912345 973462417 626417117 103290413 888974301 759214489 118580799 352735403 607345879 151087495 808142845 140738495 735723275 616344323 135074609 840746565 78656231 965250399 965902809 643226943 643375939 416168591 234554081 734146777 21957207 729325109 670578969 467140967 292749517 503313045 985471547 405816419 294330033 457505697 808945641 240155505 500519543 165358575 48818859 966739803 861824509 485435839 475529971 962869013 58854791 112706039 403940889 591840955 838475973 137431847 610275679 619412113 271842763 617045639 861978351 322267135 927924757 388719349 781583577 614970011 90094987 994671609 399687191 760061727 165395831 736914627 169276299 298720879 97396623 196713769 398927101 153045141 1514225 484580521 950353949 416355271 416483107 538976621 67256711 591356765 350328595 497881411 136950203 591361243 869850131 206577313 688099875 314270959 229940449 813461929 880448527 825269353 471903397 68105505 126200249 245517125 267410923 250726775 201677123 565972903 471213477 689330115 468262837 655062747 396856373 7881925 239470079 174835281 664581727 62213093 736106493 23763625 796108365 973786159 681390447 146230945 625222297 219778399 760983295 933174313 324571965 592917199 267243837 166654289 286944415 81765001 887379363 808651095 930124429 948687421 24741777 766131099 511226171 999509569 835961683 404668585 55016007 589638805 271661335 771861303 886257079 133919199 436162041 668211999 624332023 903219311 120599289 9376865 694251997 388575549 74807297 981870637 306553253 358938343 707263199 508808661 917412343 502148277 245574737 560187345 481805277 791367063 723516663 489827529 499009743 185541411 528049751 306400899 518730151 490997911 666802663 480680695 756194223 794544605 584247291 364415807 412082575 569902723 769226969 799513757 257756255 482591935 687268777 149479293 271053981 502758515 227920761 102511217 810571565 371013157 965915719 432288055 829156445 484375043 476144113 623286193 181083361 865499877 25774915 234665705 372278999 851630411 188701419 163890707 447722693 502528605 68219013 611089801 26439317 478534375 557160337 885767635 715712161 204953187 609803383 581916311 120643235 688799217 478469003 73720233 379178179 496552789 225465347 742346247 346991243 856734721 235526915 584695507 502885361 797881867 410743445 231899735 77956693 495494963 92145831 630449415 133716857 906991583 696861717 61958271 360779403 756996127 344804765 881626241 574606625 539097259 927114989 970984443 273724473 2715105 206321041 453716476 678968631 309284553 268591623 528707267 478348519 726764561 216947884 894092975 841066625 91343123 386189005 870652241 751402657 431089355 587795865 999949911 264563275 286914275 175214379 376364191 22877679 402442409 711696257 472752429 202767967 436359699 538540423 591361577 885464539 374824131 936455695 752753641 503126281 741689087 922520783 794773991 826013683 728795317 439029099 901143495 568759567 954041981 169937515 155274325 461477435 806069399 749040192 406431873 260093373 634478571 497225799 403741289 862100288 483437829 532105659 359276625 345926877 284525855 256490697 571685283 756298765 605522711 708949379 440317937 141997753 626719351 272909535 746199543 910527531 679494763 200188353 411376281 396325403 325491401 836250609 93108707 491861925 539168021 435154209 872137223 707097677 442822003 301020649 703723615 429433601 756060083 93263053 335782001 83505433 533038669 166989107 450947813 328688975 682036575 806582893 718848659 599301833 888089009 643690677 902437745 753113107 195476915 861845037 879142823 547645989 571675769 418785757 354819707 352610139 92819655 569058487 5296484 969918075 501055487 370008723 770668799 391086001 656929589 68976947 263723019 83855763 831938591 390349633 990426229 520313373 601991193 434246479 563806287 418123189 953844527 937895123 406238423 124203049 858669325 414367535 149570925 761333679 520943115 912902319 608474271 712136161 867970601 141817219 409592095 409937607 11630095 529883843 155752649 567247 617700873 281132913 18855839 101394635 498290449 549281655 298923725 538830075 770615751 965065893 587771301 720264705 581777263 158343093 284940965 294185199 614889211 128611657 193255535 705019191 497772031 898028265 517634765 757342135 734456767 819121669 983929779 256495027 834584095 829158649 849386045 652995547 419068591 722401797 356090285 751248705 813904295 841104979 94816367 113081957 215065317 470951667 810264855 421218349 491141361 637919 337853791 372308195 277860857 433404665 298329387 388752189 748528343 560167175 534594437 477543769 866005511 164821695 652476323 573315517 984849075 525654455 133949405 225509461 895123369 415379825 366401719 745179511 231439967 356111445 183232989 52675809 19901431 408029367 321777443 839251125 526715957 832124367 750373763 700701317 18169997 7275199 424327201 507873857 895573265 574587277 11174729 312921419 162159491 549908015 241427819 681970533 847258185 7601019 655560229 463756223 147539829 908626995 320594747 558662123 94243771 376963583 135079829 495137513 193726331 826614387 83715657 640128541 593021885 996559367 799371155 609370709 878444337 925297435 766045139 6160581 490436909 707099899 980797589 99795467 970573999 893675733 383778703 807734061 915211617 629496005 278932889 848973463 619059345 372915913 317247417 815665949 1233975 451796943 895887897 776140545 281520113 437468837 22697227 937606371 377305095 270300419 838210571 172082899 472303207 439284367 563897535 891139399 263956395 818490829 777876973 47802393 451701263 353673521 161993869 703112593 12597373 14031381 387217081 997415261 49130371 159647673 926404785 414887823 274565719 358868549 306056677 458515367 344866779 593705421 170035175 217065863 922776979 477625671 442327407 480767617 786973873 307513751 981087589 795106375 403176715 555289735 942520783 794511351 330326561 568198085 563548389 443444501 873675803 686995435 116796929 786868881 466050757 106208637 577200805 235107263 268164249 693391329 296623485 660745051 101848501 312742507 904888669 645113483 252181731 479617361 963095101 711163357 13908621 844281527 404482629 229746245 293781967 942898087 837797053 545631777 368706407 324267791 186864409 730742839 855518907 860679881 858086901 804282549 273388251 83223193 931304466 622395949 4095871 779730213 591501663 995596445 987724805 200968447 617404397 544874093 712965747 897935779 514620663 948878183 303199357 117960303 838529503 579191747 209186933 437334957 924450101 597822237 369389149 368963471 52689319 119561081 437441757 588188461 469242643 305350725 581660227 491830155 181938043 84309849 89462149 98568335 533235723 30283247 965214533 445570571 848200727 564885421 967495879 792166073 156710425 73040801 61499645 132220219 186816181 973816639 819759485 759724313 450469303 98071397 558862215 610984389 400410895 779103065 945492227 943971735 249399771 879400389 965141885 309604563 635543903 97673155 204802351 961994399 215505923 195858383 675553271 658746381 962672221 465040587 390681181 754493719 953080871 993664775 677200529 242233247 168757061 612020025 672804201 905513581 253362371 527342971 979349861 251676211 843223505 450615893 467973035 993128585 868848847 439989685 873999115 618847473 281050171 541560813 650086139 984619989 877729733 902701757 867948701 539920261 131692861 393936457 749541815 659353915 322143135 423482397 298945975 58383385 9094673 117274673 533078711 990124071 640756441 89942497 952913523 942285143 50851439 160410867 941795157 369068673 695100011 679798929 789111657 50522727 563457171 757254229 253457259 774967987 948075472 24784185 650054069 468670197 542515511 336166051 349546323 514973095 107264259 808910177 420990705 490682153 324458901 506198185 791362023 209080519 462031483 87821077 863114037 899035569 225289575 635523501 910106241 402482175 541063475 321551581 656181531 485503411 460809957 370200955 906950395 984474037 48199335 224263109 860183999 699639513 295122125 940437597 297202609 893331159 676267215 107907925 180234939 322866513 602873429 686306591 964639097 921657551 489365031 598265239 109630505 289342401 744362809 756412167 305257903 890921859 343052711 782900503 180374175 266187093 418340275 747985377 855174191 66039647 555665609 433621215 964074813 961488821 47289467 33144311 473438545 494267215 191762311 221387895 721661849 457771791 701337807 468387347 738018285 912620731 40136285 569802729 108955599 786192905 86696037 925303679 937961313 445031309 778184771 106774465 119721591 618457037 196480889 176001541 592004485 186578993 960622261 670780679 29972653 885903881 974204101 841485805 56515251 562504077 312632233 576141639 618889225 69313763 954432387 918409733 659848133 916064527 797275039 699962505 218888359 145391365 17006445 865692565 241090581 340354719 580519819 305689943 439945505 704516509 14115515 123504231 977197951 154278055 6105323 533292221 364184207 174506577 314112043 803511491 318551129 363150355 821089207 589387845 664735371 799659853 572484339 202079095 606637951 814775881 660623977 939120631 220710195 979861307 508060879 301336009 736862797 233579319 271165949 484017245 387940125 461827907 266700281 517810567 84883609 532098885 725027307 692874883 575655779 67026705 813314345 281760503 633815745 490271069 215706157 244786673 884717985 711141071 319906205 238358759 728571803 627477227 48768319 70899379 583215089 416455973 279681291 939522205 752289925 174013397 163769369 451652433 686646507 358586175 399266223 963036645 750442839 662680201 541317687 557423831 344078763 760384711 8481859 685729033 98397291 938349551 300197263 528636109 536728009 692531173 481320961 541898965 543527579 55878003 599767711 563701053 144068449 868135239 136792737 404362383 436242241 657591547 893661793 424167603 688988427 742139409 575451745 173080067 237006391 444078837 346075211 727273529 720690147 325205491 207358455 882124155 747604439 884188231 533315163 702500183 624972163 851150099 934902943 188095425 691558653 391464543 273803019 292699671 823953923 94816285 630171155 863333407 43746559 530786087 34373459 938981637 200957951 325102139 369397901 569408607 794384827 454086405 729488557 617154345 848176271 744961815 920818885 99185355 925236615 78057703 109037331 742417935 459455311 990558425 904257015 923991085 210907457 995386933 792698625 282033599 38572121 774593067 66653663 281144269 333876287 65700569 605692271 755580613 418292805 821211707 686065331 86718841 603963487 404508989 327236055 712385577 923710511 434473135 855622447 256485241 692018169 83864651 318513717 69798775 798134191 770339251 641895051 924226711 561847271 682478959 302377727 502999735 611970273 151508977 746883205 572948507 823923587 381613201 420816693 179628659 257268829 852670097 131667795 707460051 298469031 978935323 990028875 229995959 325022527 916298047 205765553 640292869 523593645 111379703 96670783 259991563 581131041 554694181 593305817 462638462 130766703 521719441 234500491 250482555 169227291 199723499 125261957 382755207 977294153 969299663 25568549 444669071 132596425 839059391 974040303 269618153 47569681 523237919 652780683 506584147 365215299 659807557 435240143 831108849 270619941 27447145 586003895 255547983 137390117 872949421 189772643 996046181 547472475 700845593 556728607 910134927 240815751 771728541 820512353 62797457 598384657 935719957 682794945 775912859 867871749 909821505 935188485 151870015 116805663 774887371 483949845 98743421 618904505 350524739 378353929 611350203 734131933 66470435 172812567 113068225 992081211 899024843 631616677 258854091 696980777 418079879 114956863 693307505 942722727 279259781 634037911 633937851 718866011 816664289 863239047 272383509 492786837 85747355 10064149 967775573 701904973 54784413 673368683 49179831 517367329 444774839 273773275 162245603 448778073 922075041 731305699 666580963 922625765 258740737 239935779 284461613 326030425 913674843 674469737 175271329 271844089 743871525 88928679 805088129 63976105 200491955 411936503 520588925 745640697 352012107 128334495 824916391 370222111 974598677 91067145 589121919 194088445 732485921 305034953 149264105 595948823 8364647 980411287 934851635 976095649 220963789 783355227 459812881 817765485 673176599 901196573 119638177 47314941 729132537 311867409 211125351 557976439 972818189 404849811 764989267 127508397 928267987 463676197 767803321 3507731 308913587 976573299 594583893 989530571 520050177 262800209 432742477 107586713 890234099 116858809 404823089 384533999 936954799 697211853 508530929 886852067 300188729 472508891 987344365 65198643 738001541 519682647 725772523 950113099 798660461 437894361 653336345 346625333 12067247 227212069 145468937 729865899 542896889 258199591 637350587 958030347 223250647 337538291 372347025 380131933 496423879 141862851 188526685 363320911 388380711 799281915 584631121 951895355 67323713 440189477 381131785 368542237 926877255 930493687 807968655 262833823 337886547 863512137 127856205 613915663 618688611 614941471 526818071 376005219 655841893 471301541 572908077 190574397 820369957 350626863 424109107 636880097 178931551 643948601 446340919 177124675 528133557 922930531 395473325 463905525 31213489 268927097 592808309 953723449 703044033 202061937 14819537 884166645 766524735 938992483 519163759 394662587 866293101 501760915 526487397 360032191 536283255 276746863 809574447 913755105 516532329 46591879 729310133 22754475 254791231 18068887 34421057 925329735 507627739 39005061 164695179 907813265 391541253 972101975 700040877 420445447 368193903 373949253 87645487 986698191 233571251 964517031 867711742 544368569 572616527 69207299 980518255 413062461 496178095 290570499 737649471 31579769 64257571 106062201 100494227 467107381 916629221 416248419 198205177 901448929 989688343 150194145 706962533 879651217 807009473 667912513 633022517 126425865 196465621 822614005 144357679 401806507 901707051 788206231 577513855 362924427 672680071 478390253 973173689 502140253 458838157 153214433 28671455 554038659 689012693 724557957 778171985 577534979 246886355 885360407 669073119 556295307 912443371 613878519 600010687 219736947 485011555 394586291 889551499 739750075 245785457 165292797 137294667 7625995 893736491 466934193 298289515 317391535 306001299 859599057 341336259 871536801 119397779 175413641 583086218 740011903 491106299 569980205 719331949 293570707 254015877 791100983 378053493 868557511 164963027 945224521 59324693 958186935 186063213 319706161 443804719 791575201 619675331 535671011 194454535 112761707 202523955 511940213 419518791 817772965 171039993 383249969 672086281 65973127 923638079 172101757 412526023 343843055 247723289 647947759 392420967 100187237 267532415 105508929 942347063 456827415 850708307 650403669 858896109 109449439 744627805 64015419 859431843 769328953 786300493 286807073 227961825 874380367 760062143 177854821 480144275 191080175 625346867 990058121 196076815 323857039 384019 506311995 354269713 521137233 628924847 920636747 617513665 660401657 497867071 956582325 510701225 101693177 11372009 110139293 318607809 237879145 282655667 668497229 910892901 359651589 529628301 338218299 74342233 582508597 95236947 268119807 665638603 873194761 18921157 943465565 146975571 495951929 488016523 841742403 333460971 423022629 476913209 331785665 810522105 530108369 667637831 80604435 67051593 297071087 353732373 83313821 684145173 410163669 470974447 750361067 744754165 749815425 929825795 295783085 12611311 708109725 152498541 685223875 426814323 395872887 934177325 478472747 643676757 681747719 128219435 498193429 491533777 12457707 493587259 864839121 562155663 570763883 533228053 880354525 817629337 921154421 519126873 467885785 273161829 783761059 933860753 200762003 350395347 104762929 644030767 32035579 857234725 96116489 951751565 905623089 785859081 230031801 900129259 863548021 599626391 859806583 503000689 593997619 205296711 190300453 748765491 221152253 373536515 284280391 254847271 276336017 995046423 219786255 744028467 858724047 644308277 288191571 78389531 619185093 914112383 54420627 147071635 144717989 233970296 274717431 275358773 40345291 335084815 249097035 141838463 190164409 174767765 240598025 35492061 122171929 433504203 507948879 807045793 533459139 195995607 94043111 709001731 956019631 404183875 405993019 997851939 484494079 406522117 892900711 429365003 271486977 636625275 361769513 110767277 557276199 172384619 79543271 118923233 569345549 494761217 243563953 964098667 345218165 465833683 216531773 810879729 560152397 910672095 416039917 538527237 876258467 694245255 290826695 580157219 793917879 117823133 73623675 853525417 137281003 527874641 98405981 151384033 374537161 568661573 21181806 887780861 187407365 342531195 660454489 296951573 81536123 910767203 36657001 651514413 120252719 287904207 769019797 804387627 128828233 11280895 107870079 883806177 120874527 267655831 694639211 918468875 173130795 149063845 347653963 935946053 720498705 330755485 745005493 389792285 315469211 579094621 85272297 246758147 66074813 548938283 955984591 974976593 911500437 322559923 124533491 522573381 162788961 304890379 295879567 193613835 782215823 511550383 655389825 915095219 193671091 983816071 140596817 105801783 93883785 661574621 286662447 11584633 857051121 274049383 704882161 814723137 94215671 699121221 955154709 859193921 759021777 904909561 942374341 236056593 857547479 589924721 256235215 808636723 697459343 840330757 876803499 616640017 413153185 987225197 915001719 1008891 831696355 358450387 549595131 263717677 114246737 389839043 823139493 868094915 477292555 429801521 507930511 213338315 692502367 751749755 775252085 364182581 664417469 637161317 576207295 840081625 97711045 591070239 821720447 88838009 745810999 107291197 63372905 941747647 126509821 564186299 301691103 118079803 531134767 940403967 803161061 105903719 370068227 778878423 408209965 792895397 397062881 221092471 45911311 680153659 699265103 624562559 403865991 483495775 933039877 391790577 463785277 871613223 319994845 532914235 361287553 248639381 997182937 492491571 933644875 169688979 834745637 695288597 295921977 284904433 682003987 310593161 116622995 417574505 304812065 314119579 898602569 63801499 497707759 371146429 818339057 903768339 727845707 920292305 709458121 799784511 906627111 926207769 323170491 741437307 627208607 874166853 656246101 544716295 870615541 252623207 912292303 551091213 118042773 531033087 8659719 195121053 639236371 757368817 745256581 270651823 660252713 663242891 272787831 936201513 311026360 432098177 495931317 824495567 480712913 549271539 228795585 987373911 179652773 356978017 195293885 191129687 457217933 296966333 884627325 814798159 244135181 229629275 804989813 227517869 992821201 427044345 95319751 620542143 343643821 705733049 792508471 619771071 347017115 525456683 180184631 685346765 570193087 311985477 776631773 840638707 427868003 880452705 245973993 723020069 476981499 70786887 764404673 314809911 47588899 512470565 204148343 820063727 76472223 107718029 467923389 770988789 751669591 754934143 494634233 202913239 975134049 902184031 159276077 658166291 252398327 760407545 353912073 41869575 967661949 985510533 269634023 298303231 850477439 962956191 248718021 467475497 353780653 353108301 199164489 106326943 36150757 940806395 38702785 947274853 586462251 388078205 864151849 975671905 539941287 260035861 49139741 408703335 485071793 104255075 592603365 844830255 653517503 812326263 831271023 665227097 962159991 839037893 340241491 556080239 881142181 406842925 687717331 534139619 24974137 779763697 774708433 579541775 346869075 65657279 299461345 469831473 65796401 975504557 950374967 564334709 336390467 330535223 25010867 280812525 956034073 363888197 2498783 939825039 215282545 974505507 756360423 549980479 786988843 932126595 14092195 634526663 595732053 676964999 343436179 491572181 574635553 682558387 752015837 54303491 27517161 384460017 222133073 860040917 677595955 893678235 165335911 521768881 472528553 16554603 275168061 313796585 717193501 729910919 733914779 831371961 581293965 516084861 671086833 956618559 121450777 884260929 764779093 592385413 203398159 970725681 824239749 842279293 805642977 114824979 681171435 838315007 147599659 355939603 557939861 662083021 248961711 951358151 346715449 762965137 748827737 80250667 105911865 363468253 582331195 799882661 982094491 300914727 43078547 156523781 468411149 899177427 733035971 13752955 443063017 555117609 620775253 523980457 715057963 694586971 710281725 424626321 379264891 62992513 306411671 347293347 30938411 210444957 509740069 999394225 787493423 583142297 726006483 671997947 350539817 773406277 515103477 991417893 131715933 830008413 782419973 9504827 491438525 437927805 81683879 545047733 108794847 840725555 349570213 997391215 165002755 462515439 265672179 909649583 944441615 685018377 859687341 501272609 199382419 916851651 546422295 254018009 465266887 97851207 484507289 673060185 196816777 485514149 589544137 636652673 967381345 506087895 238093665 872399521 627370367 574047423 434413381 630134125 58657207 239569445 500881023 154116101 674168205 747647931 179757893 272917483 65189157 301999641 818410735 445370893 422526031 506332609 858028801 385149889 666570625 483895837 189042217 281395653 110848733 565431421 301617975 370172219 258907945 79754011 669659175 355178677 898000083 683900951 205011229 212061989 356475123 169429117 726124901 925589223 923494473 906450235 624355951 805239493 662599229 73567789 53488857 378825961 631607771 384605459 172759399 40647143 998049501 296807575 422942211 462782399 113782435 982592841 292614335 285854933 813036337 99500195 23751383 891480311 831175737 23847941 60862385 298524761 725390353 525054395 496541651 25945753 190666425 645591029 668721141 83169725 339472087 907938761 709181935 120458033 27293883 144390205 12471750 323588299 759494493 774143801 653286567 608926153 505609051 686410381 299724257 935822797 600454141 989199603 877812211 811167721 192888371 382668555 463595901 776287629 462011281 393035361 155864141 3625883 619281755 37603427 486813781 950500693 53591925 873531245 432764593 86330729 641554285 252479933 489130659 277357295 864636799 491612289 690894487 436927585 272643975 777084103 138869023 254076581 993398795 512444039 216890873 365573127 490402111 128991655 543593733 861626687 613010421 921553643 673151825 31769193 357238959 445817607 649271311 333712907 937732755 895008149 850333595 197771281 893513331 517778453 281477239 241185489 406103491 277392623 689036879 916750343 260559779 499556471 146683127 327375321 706786781 101315557 637697897 162806741 470246365 312949849 983537353 867442673 909475259 57228253 10897761 220140935 62126901 211297379 558747045 438601823 260369589 42265285 867884337 368512933 421573195 654854083 617372614 55950577 914861737 17116421 343105621 242990907 262178867 777074205 151292393 528866797 673952751 150919 523420355 94471633 163966093 42332577 830539077 443704863 830801251 811994549 648903931 17436531 392438639 256311029 35342741 101435091 26651227 450643835 632499185 133429929 190035317 405176645 954880785 542348239 724217011 9267521 47218979 921127551 570445751 372961339 456029815 549289311 307465925 574112241 919050889 408221821 696763345 84684801 299235581 93280333 849692013 560645877 93980829 920335533 73656795 152094527 688682591 246789091 191283201 588830775 828286043 345675163 590583921 899713825 771805399 952837611 181055583 159139363 797417275 538332753 796859563 615213391 490526495 398934703 465247455 362573215 888197433 466658391 860804645 144044021 457389679 82765561 98037337 29314585 723509965 349136311 385567481 632831421 404817027 540317715 555974187 946749819 845787377 194392317 338912191 769005009 747216279 991545799 219837997 54949931 244601631 161258801 863750547 948134873 952321121 690134623 322409657 118329623 394437459 637893087 166109197 433800193 865064987 296965797 770694313 861486501 104111109 934694159 351862601 582075635 199777411 203314657 984444247 595148227 407531057 162175819 777163233 926986201 632326607 346666465 322557085 962616283 318444365 547041695 811549421 935331419 479039165 770890989 896294615 249962707 380617047 715794325 572637193 411699877 32156803 373897677 360211675 946019353 984947913 363929909 906879309 208081247 303326941 659456975 561080839 724631955 16724635 184375561 818757973 821769143 820996613 168631481 173184561 119127983 693405767 58718749 743749433 736032083 161791155 262546649 727281079 223800663 840350151 301069305 502014101 893551709 668589605 745162997 192278383 464637937 807427479 817398441 3861891 489379715 305089041 166485593 401906871 142874987 354735279 944319669 792568987 568041451 779531955 366288081 578465127 569428011 68856457 238983465 372078841 713079105 444535493 348296867 176639449 712821025 356472097 509833101 728399925 357964205 138835329 621208219 749938919 779761073 788884207 304428523 513228395 79862235 166882975 382495747 267603947 55013831 648443629 813586127 648070709 397028597 699415133 749432997 640882367 600491471 346771095 533683523 172345515 939376293 888761201 428351693 154653117 899196081 142412773 195909839 480591719 140504339 424675095 34710849 488327105 870973911 521770321 352863101 488726151 305127659 269436169 820760909 551336993 891356459 227391959 57734617 265930911 911523671 435698049 729029817 820158137 496866071 593050863 706794731 240258767 799853567 812528439 428648403 550140901 327608967 771682451 508771391 335018157 247916815 208815977 403723107 50427517 364447459 925672255 700924893 359159379 337812273 874836429 224103603 33370073 655735829 183711723 875994193 907182173 64293775 419168415 250635149 58016727 894297735 142027281 474428067 34195941 186378705 435977881 468064313 638891215 701330213 498530221 796151391 375081603 333249571 207666931 74614661 470786458 836856149 969130807 827288461 491018323 103559471 22613867 598490809 939419029 295838981 576445865 396999863 133948911 613179933 138249783 90575773 665840279 205658781 380928127 36408041 585624687 216326297 669227027 593144959 979602171 858163465 615641009 482558379 413764973 198536397 64810553 164501541 30296987 926137775 20559801 775500553 341930245 384046945 893664355 238829533 402693587 380285565 531667859 38167435 964270545 990162305 765857483 731247981 402118521 756427739 673274039 704254525 748689129 961071831 288005673 899684129 166991081 929273011 119469343 660353191 496761833 380945293 464745915 849004483 221913855 287723119 599305031 552384725 43489515 607239243 353505591 23771807 525262611 807607033 47901735 352574287 796728455 234577469 54376665 679270267 260688125 608632509 351565113 881990431 680879575 475209997 613985627 563925667 296580891 961416355 133326457 159294417 781295225 745839331 945019893 339357921 944088645 702283285 387912797 22989679 833106561 288177771 489157221 259515775 587924437 794861821 136292325 957180545 74750607 454243535 343344865 458274375 476767141 794858951 413493893 921307153 713566649 111970743 396955173 275680131 355058703 567177563 174699067 808890795 590018457 521267025 109386091 850481149 137759725 421823779 442343295 17307479 589523531 618275905 191560813 874307327 73295515 658029833 65329485 169714593 770159721 898495415 842519907 457978451 944292847 486869367 553795869 635954577 502171403 463833945 115209483 930876481 227682373 636690777 898910953 394354867 462790605 842821459 83210395 622389143 87353977 689622549 924953901 107730190 892874439 748215375 261306319 694282141 273695713 157353369 692050655 257468719 17351829 528651125 329800417 326767643 163829339 175384141 369056639 314800159 447470161 918417523 431709323 651600735 588195391 419027229 764456705 382360425 5369235 127668077 783869445 954541103 290985575 194777967 772979683 514810643 308916343 715004179 551747853 796748249 796604971 519978289 415078685 35020717 688109973 410734219 855522265 730389027 699956585 620554443 51799595 206980155 364283913 49208705 920487205 782033755 765528185 802765095 369610501 676926029 745366379 529025567 636478507 17256007 929276471 392076719 213370917 522855399 631971287 216278797 794557605 636284979 39993849 45617231 927052933 161231257 625993191 605627255 170131659 765620459 757389211 121234799 403373473 504832615 974198451 160289031 594221403 835300021 834670455 897820153 63532913 761263071 900488151 569628645 113650059 188559965 475232873 137648983 631343729 798763531 87817067 18842813 4938519 17198893 770082759 665785715 597933463 946960755 577875979 403900601 325702201 928960751 69519215 905647289 257792611 157773601 563090641 337528195 241664937 920559085 392994233 276851729 516975817 908026529 521926485 986960707 523524261 93672689 524929405 988635365 133419335 146269691 205727665 89694885 653978851 10514757 525257241 884215583 345811157 294453691 492489347 964681427 548050079 738519219 325678949 320201001 747683565 748550889 724245729 74649461 481889427 182147461 570673083 14473199 422880139 480831249 385228389 147683511 108448761 791224451 216353269 7548119 597969191 554535483 143993643 735207235 495093387 776688379 633131373 853723087 141954237 802416371 539676619 399852097 125686913 793971381 687007741 641384769 724225477 713285697 567541603 542569309 685623447 563545593 546682881 522492435 832984633 321359279 592842119 811529409 821846025 945297301 260158543 542531507 167726227 932191561 567987799 195558679 246746765 632340689 148045379 194880007 321809871 676162455 320330855 392718215 920958557 589480821 355307449 663488895 375922533 990542757 750001879 195261885 949043255 106701773 160318729 645474559 323603279 402814717 4944701 534567907 927336785 119208613 457926411 753325043 577840649 655485349 98315187 799863457 798834025 92003651 284219677 416669767 437738635 4760107 113721559 994771235 431954613 681221493 520062743 840110179 107698767 649312153 115246525 391924499 191080433 608432513 987891539 397453617 259931473 888306039 301142533 536764571 307415125 318453811 343055019 808501787 402244617 75139537 790863813 452150371 924642719 586279125 963388025 142211339 231366003 917324079 678604695 821353367 871606277 632854321 974611095 353354349 668264709 899055771 36468887 290277855 651757125 127967121 762325343 69545769 461379773 81661857 492639327 1580905 340969877 485447359 240752557 414444201 380470037 291683403 189952263 636748507 89218481 432169477 81020119 891279063 387788035 812848415 10918187 768854367 269647057 870625581 204755641 63421469 501655045 499543341 573518307 438605475 88022451 453203073 658961839 372826471 85940757 137238009 483493067 485266125 560534925 850545867 257502351 870989853 282299305 401989011 501981693 934392457 569267227 462632789 41904311 954087977 16517055 356830335 542906897 793398527 581836697 9670121 205005311 61063669 922797009 26083275 896330273 870011357 250999483 508834511 129123009 218105965 376863189 322269953 22088139 466854215 574112449 687998677 19594199 699823351 905858121 577101353 877541669 357220333 871656291 956862273 226440347 714659201 334272039 598398413 355185353 44132085 623215833 122187745 237575399 553018483 799547621 494491897 523349459 194903053 573227487 492995325 933743893 579521209 396388481 332564791 993919453 405517145 137626543 977620317 476695039 592555449 792523123 296724109 15328511 484052361 113638915 377408077 436731137 766851937 97722551 250472331 511430099 423764419 695849237 78809497 56567793 495807001 499303877 973124917 852526455 124628403 624820637 974738311 205006123 672326347 351196311 68585755 11200897 523770753 620253911 558756067 955816843 735728865 305467817 968782656 123676683 757112283 112630399 244104441 881394793 134062151 127498227 684261429 290643377 802308583 732075723 68058511 669096861 834880355 738858735 289187073 411791245 203869519 282190965 469982449 312151941 667628835 618714777 280756525 287784247 211628609 54901947 352650217 36302585 481386735 453024105 631214787 564528331 296731491 275026771 628944833 33847123 686866099 388106841 60568655 474531041 276010975 463096955 120598083 248820333 443042005 842547939 260824281 940820629 884162915 772016361 500715449 3570849 710511683 728777987 693233645 646632833 310251541 343217113 698406125 426937545 702204517 277877555 574546323 56324029 466543265 886051077 230079273 836146751 383807269 173293673 293275735 439060963 622451249 311830181 736259125 337256671 21831405 272418851 962354497 177219345 396111469 312406391 389086815 782095103 324120233 793976409 190943709 825006811 288030593 770355377 923042415 957539709 320465855 130545543 552276019 186304865 839704599 209454607 357207983 416572335 386541085 455319717 492183757 650948921 359401815 761567179 668610535 845919603 410847787 805036845 47625399 933149565 974422253 255399071 798978405 735549729 807723733 368684825 973481851 203538891 504035587 482363331 228223727 675104145 573703553 308969701 212418849 54481975 5449793 405574387 585237459 544752161 962859037 672306057 325400627 908960097 179726805 518187115 522747863 639349417 237849361 953200257 343082941 39405661 118208357 417477345 338177865 863846275 311189831 900500933 361322311 441031883 81599259 557744529 110573807 239433609 684380713 891802575 379306205 234280641 541337509 863355955 450463765 338078231 151716771 715648409 252186375 939811033 909938217 259642117 467561093 437831427 659230749 491322015 405225167 281338417 76349009 583929533 959243915 889331881 512331393 139156697 339581379 182446173 883442763 353173143 167065837 196139493 805844537 487341251 925320679 539139453 583582909 707107405 143392503 897943053 424898863 506478933 145662921 163128359 814314707 749081113 596414579 217545471 288520143 427027977 359817329 124783989 129766965 108725941 334496171 23187217 283440897 987746521 306988395 142926595 116786961 991150936 127245673 452725537 969518127 547407425 262691521 330842347 598347277 88470979 65104119 835046535 662696259 996018489 726616825 463320005 35825747 531883049 799083039 895138589 358972583 598841149 191267 460068525 883981713 347464007 64960809 925518653 356586823 991204419 864907971 638933307 544699373 861489239 687860963 203900865 743418507 556472523 373123047 606692235 889692689 252985617 609564821 96665091 195510365 739913161 934037273 96126519 348592427 59943859 349615113 278645213 59119911 935215803 58501473 118829143 103044833 319622387 795038087 793217963 508667347 388489625 459631689 660218247 845058911 704925709 44640733 893931587 219399629 334374621 132658653 370220511 493501261 162558139 312051793 521197313 699964669 318927747 739745447 20300795 757592537 229928759 541160625 21419969 468180429 483375363 540245935 338733299 322667689 608811067 202414915 638854363 630746919 461245783 541414527 30054499 649833447 766918399 937807061 964209959 589442677 527055099 38810403 844002917 586013761 213450559 629338797 714522115 29626275 602632935 771104291 294677905 844068573 445181749 784202903 270559047 981099801 167902871 749375625 499332867 81284455 147655067 92531423 948267853 11638721 742992897 434837475 18945619 103227399 219912619 272458315 726115055 154874629 119270819 546586165 382989213 495240553 35607839 177612327 478014855 962261711 122784375 992205837 329401723 113948343 515841583 877747773 965508335 641975691 790340083 611652213 96264965 246631323 157208471 298115287 561446273 155956769 542517781 99828981 64663509 314037309 296046737 475617471 217035799 222345723 802701143 356315031 288416775 959757129 881920215 644324671 931052045 879928067 324072113 168687335 372485685 322164713 631260323 461269025 13154617 881522597 287334301 158024685 479231353 644824517 219273903 504288175 787498489 516927687 800240149 270500405 364869483 330777355 583776819 395900595 733694243 451698135 251551381 387810759 8576037 783389279 789414635 107450487 351218197 966345405 88130069 828203823 961996867 662295281 606919953 34612931 206494375 759230947 119214607 269215605 703569631 827130983 550566751 777198565 956806451 187913269 921365119 906405411 88557969 905571565 935524111 570186917 769509011 353928473 410206683 489425733 864120437 390482221 666018265 763570763 755964961 275965053 875831587 445959013 271911459 950176847 920115707 98407077 641971639 740883145 250628043 539924363 700273591 830713855 911115819 50478073 787282863 693349097 843131857 743566145 426944715 788966503 786275237 143488277 775989475 138612803 227102639 382088339 157566327 990067247 173351971 158525759 772056751 933467333 538734683 503706633 935200343 125081731 466354141 167939653 975909609 611100375 816626515 882708143 207130243 472072973 129712017 461954669 643062253 658291555 607643793 272402445 345756055 882800631 353803381 636950147 710234775 149491667 603729035 989304877 131811757 645750249 92779077 448194001 639345727 611657235 294446143 157649309 138400093 361029647 393191739 398948899 352217277 210807433 423877413 841414497 236101057 470541331 613406737 621963199 604285039 303770147 80542009 960033031 68158069 77637149 972331521 85866865 398313005 294917193 559654131 949155991 806025619 86165209 407381699 35310723 829820241 759313639 225642829 226024605 465786805 768921457 588160147 963366079 490114997 690204259 427773379 616290851 689909747 822178703 41666605 869605487 294634931 411920811 420168781 650320561 824033255 992555355 646466757 998714973 831475749 172788775 119150949 94041681 355394989 644082561 159415323 322539985 908899941 672032193 935748613 75149709 792989663 469574441 593057895 797734553 180687439 574068451 83899816 426506099 125009813 929293311 264848993 279851261 289773113 13257849 200281161 132973447 302783595 294064173 713588549 304136135 337617665 959267305 316553313 906325463 487859833 539305565 682915535 848849471 356328957 419350305 179623145 20085485 562318427 812600761 960208178 54267955 474025227 137356427 112580443 615713233 588092715 199393769 581378865 60503531 76543107 313530637 327556531 744548365 525236865 747430169 377582081 31572527 461400381 116732947 634540135 934814637 2491513 668035569 208980827 21494349 559138455 644455305 507188343 659910457 845083051 42389917 187838843 561833483 998921321 109529559 32339287 915154877 662591283 632090567 813968155 820509109 960961293 607291879 922946821 138509505 275361449 242130073 382389621 877423127 123661661 348776741 339103737 330857553 227717673 702886587 59215427 683545719 98957493 350604151 854953263 727614197 498542157 694731097 456279487 878107809 915916523 10104139 935328797 607352761 11726893 816950301 726610593 996162783 357034075 217692041 642336963 316497445 961009509 145677615 773814821 814263805 729610209 380460955 596372373 415454275 558612493 485122875 751455749 926327617 287595731 483573099 980532625 505824415 516545729 154341739 662757499 877089911 498205455 883103589 918433327 731086403 916418715 633101673 62524481 467105769 425388267 799024753 504559467 686711479 766346547 548109149 55442063 130333793 312284485 334539257 838591931 654658053 995424931 974043123 573152547 706034473 962948469 216746471 42121245 605285049 917123465 362139221 99468339 905810953 856611157 381323941 460682251 45012443 788204793 14768171 239545467 677018447 691700543 135815967 924617085 115379447 353813651 37039009 167699251 205687235 528043021 757863613 560373997 888923157 400696429 226140001 717223449 676369071 985415449 171702633 35137877 793661375 993711393 739420307 145470821 967806939 329458749 213350285 962807345 220592897 327211979 422803173 108784079 665709461 953800661 457419795 640226169 57442661 604366341 161178235 315939475 812889253 119710391 581513831 105906087 535689971 487905767 90187269 5178219 244464211 304053311 356502129 600657847 462481461 71960077 68089513 426238097 780412525 707106377 796668571 144856865 279044663 705464721 109778963 160387261 911410489 784383787 865318863 544969185 194947713 441179147 774236269 379770157 503303045 915080131 545219447 505250925 678027551 278656917 312041567 822013847 904851607 362616169 595381631 601874883 743377049 601293005 614908693 756837431 431563835 250030071 393145423 128373085 191320571 933962951 478817337 251182535 93505211 683372999 567267025 326514995 630108877 959748899 579780085 917991297 827332835 65889714 887241839 548992447 21959449 62085109 550303985 980932381 855192057 964750613 164543251 73239035 849382763 831261661 300048473 178851545 854070217 627693511 843480361 530620259 515129037 615724529 862410711 951144811 213222045 762626083 556761497 417263087 452284615 769231309 306429843 751768591 750837055 698635523 569613261 566408217 221327715 300386697 142471737 857418879 427885817 130152899 934412719 836082397 188164397 505088961 662556915 145805045 741852053 503704633 123914155 406944179 127469869 555109773 340407145 541287977 77965149 449956035 944827047 764231316 900913903 116519049 300919751 417913689 656338202 55019063 818275857 591380991 934534779 789182671 159763639 883945019 590085655 72468467 275676113 67817705 544537181 62694135 408850273 19240203 916645919 804297679 608238161 877695181 780313501 848626715 156080499 398408323 110470523 999993893 891659901 920405415 234991559 464687065 51868947 981015515 627768565 259366351 606868413 298464751 262111969 703753797 23528683 935331537 901977045 532679207 880076281 809110175 214782331 235707391 236589097 52298651 992957929 25979143 525973919 639434035 111534747 773540893 168351859 655213303 793973111 311801033 557585305 913155491 21646795 867467833 876583923 539172891 481806157 761572935 458962253 908473961 801336087 567484529 410328407 690897089 277113521 417465563 756827816 101922433 75573511 492741465 594938821 649575719 664315759 560362081 14387221 109486945 452763815 222468625 574258409 904752133 811862483 299026735 912959099 895394057 879976319 108392495 563208427 863169171 945053859 903565859 450367301 828076013 915979163 29625293 77453433 631730829 542681899 572785301 502642783 554813195 181698435 221328263 809170105 49090605 909067573 824955485 136476207 120033245 800268865 478394999 13486933 309773869 922229005 704507865 161568163 694305369 766610273 875195957 805354107 504189893 732689785 752113121 911064611 160378109 197977837 544526045 577860817 22014643 196825029 582791119 420775323 823882945 54018413 903830279 948486019 799399213 436302267 438255485 382214769 452524833 510102507 909589455 439698489 235742703 317439909 123625797 349574547 63601173 81409011 89103053 676431647 863263795 525576267 745738753 338021481 458111511 269878157 46619167 248722142 977711027 612181243 433180939 299641565 388067875 496223045 260213337 922270883 325847209 972101501 767512639 7115097 39480751 22837795 38084761 154533907 892891085 357980187 129555443 699424969 32179899 642379699 897239161 26004827 348069467 461988255 787854597 418585749 623195579 235341821 281077779 531358501 556339213 90568017 709017803 289617573 78287277 294980491 633953279 486848153 805697821 564754687 995369251 724503401 921909769 256215913 19459415 450867555 529043525 754284783 54375525 967510469 494145227 889901855 604788663 839642541 52511933 171074543 112708457 451007781 819590251 339998393 80783673 913361441 445723715 778198341 869990285 104662389 352293859 393417921 753982069 552611815 653044493 430819519 559172777 512274717 148606125 959867965 404917895 565472427 658591703 118584995 333350679 859416327 279067333 804404413 567102217 758789781 712571867 926823359 339351985 269306015 614219426 535543365 454738963 438672979 484036819 169593689 187022803 918429643 186572099 534919525 902448703 861171979 936558839 691490621 45543763 486275833 874277405 920293665 260096683 892007527 659358469 66287541 988680845 816960785 353911595 568858375 118842603 289989269 227988531 310622091 366827613 652625789 246549223 258969377 493245215 56759355 729373757 712151051 756326425 324531239 629586509 534248439 742942685 731790469 193128285 847758587 880086431 977307515 809610965 981720211 596644927 654397723 579457099 300516007 414862149 243299937 478447227 406000769 129216481 843271723 57413189 505040857 938505193 790950467 763486135 264249801 101363933 906394715 188903169 431798233 619778275 774381835 312853379 670947575 531669451 727363285 995347131 896717941 422914061 573213475 989789529 544541971 281922503 210199367 962226221 871383541 47443393 730157943 991972661 192625577 370424425 962465751 327901329 378508067 728301273 374773103 517026191 115021505 189756877 122214705 918568353 56080200 655455407 917401845 375977825 612773607 405715597 822972029 735915413 468076079 466439965 846420083 632497703 324969763 159931329 421481319 508483883 190006307 31782527 123263699 226477529 386298623 341365509 204807193 513601945 974913517 892077995 449784705 858074355 645366919 729608305 318570301 432550555 430706389 908009469 497129061 675226731 27243587 991351969 41740283 823341161 407766185 403205457 777739241 286376895 422316863 971289261 62744575 686329281 879836079 903853565 729380087 843251433 47588611 667988017 8498035 3516891 471754419 807949023 757830393 57096801 79820699 305328967 888374527 472470639 141306113 72147791 2958299 2026785 775316367 394937991 910820815 229230521 47010911 693544743 181409285 323268259 911716843 694081805 557566861 4419699 709333273 274066113 471231585 396676323 68393527 826690673 534039137 769027031 270836217 34731255 589472345 344740953 969256575 774475983 593635577 747351965 942913611 861284643 844650967 399103999 653719371 169725119 510329977 32565251 45370325 670661919 140060999 272562001 557696421 784410461 347358353 555494847 73285347 630701893 115621777 170391623 95642905 874285635 902690663 993141773 460762175 541881967 947202079 254603611 776424369 266673545 576867751 81874087 448000819 719093241 66452187 888463241 158363635 838568907 387602043 124886469 48782729 620206009 649678897 113370185 948626159 144568355 211028365 604203045 355746187 275018765 767011079 172240277 697246761 869788199 444857605 478590205 643411969 741140427 27101899 943136233 943504305 789305847 282124175 408507403 207387193 301748817 321530213 780615229 795516939 18626089 566959699 458098565 623878139 126193527 663815489 90356747 1185349 837806041 949177597 133638181 561097617 891478423 106797381 138252623 186381801 246766751 241936311 85151017 384380867 593835403 352818399 851212929 577947391 966115479 163021611 853389385 120761823 947233965 592118775 538123419 856381969 445397593 802618497 378751421 4622763 9878231 760528119 856167193 842640939 754008321 656450405 744702529 758329205 15545443 105926857 949708275 218594007 35949609 112603137 158831887 87660035 431644203 64416983 268056995 138315803 627833321 546533629 388921825 643235491 947586441 97679117 659702565 938264711 426150621 780376967 273859313 158299931 134828121 54925779 197767665 148380959 353698845 637161283 678099191 160441785 412882673 465132051 915517953 733576561 3478853 314329185 160231729 739536707 137090095 175872311 477302225 823649671 45195373 680552839 831043413 548688645 329741161 805934379 539865687 219596265 644928563 860152289 926271391 820477641 6257789 116503125 115609875 361956259 756720043 44298009 247277255 728395481 97033667 827099043 201335801 485107773 686735475 21074775 801146379 309944319 293026325 202572925 554128263 36023745 940801189 207819591 640682787 116122501 705662157 987318479 863391413 899760827 698200793 934769683 582606407 341956405 136801221 930776319 83552511 490881074 713421355 586040165 420232755 372255577 89444695 306196475 159255645 322366389 573531701 685266789 505112097 208926907 240503901 268181291 421830985 260432713 615451407 722078399 480839627 332311205 65234993 447612537 269151423 213795195 554309973 106220699 954910057 564955873 34821295 58863695 346171959 150705491 483343903 106635431 290730425 945004985 365731885 81469337 548702635 357118557 544101641 992723209 213511665 727153141 572043657 403413439 217804181 239024801 786162219 494178411 988798925 279110370 195245081 564761771 469192433 114463401 74058785 334457339 831209863 196732491 470766523 116753607 788819255 559998849 648515077 931054431 511248857 21574261 45969607 255980285 406975075 649073331 403119471 697073347 126290427 480330287 948144661 700213433 909918445 729244743 543796859 536824015 183468971 273731775 561761027 347667937 45118415 95923911 938349505 830114479 756598047 818320883 325662569 476617955 436775557 710951743 791175773 126179853 554206995 5358609 712746401 880069799 736553733 909664567 490396135 544556307 486086849 323048421 29860485 494815897 521797583 767558331 42224251 899521641 395489249 958691003 520004977 895122079 126981079 264781395 198009523 115494715 262959793 757707865 946959931 905748263 791726747 598455561 405603751 737007411 414269415 214533899 699982143 730244377 859786259 368513641 35153651 106315899 911895745 172246427 85312345 398403551 641630907 131121789 674983599 676978107 336805621 242011987 627889631 304853861 730507657 764851661 333098359 28313629 991134909 589092349 497469103 655959057 683744763 848084323 758722661 35784527 489633495 220895203 920465439 772628177 134547979 509112011 243951889 687248759 341979771 629369807 423596301 441005837 865595441 778362895 733429653 60913473 351352673 854479627 253016273 300283055 904183655 307367861 482158735 481073111 60464069 174765409 501353285 875340321 708065575 196458698 978781971 378271969 526581345 546308379 866347715 561911887 706941293 332411611 965612225 643679883 346444399 344682243 89900069 833683617 447373489 699627501 964223919 428912511 660598185 642670177 157346501 543609089 266550767 257095309 481322615 125269223 290366535 885084931 431059581 105600985 105421981 29736899 748147253 473970795 506792197 188330289 725003687 24491539 410725561 573988121 730942595 193681975 561555229 771090867 799853855 509555483 541504701 351735451 239530361 786989299 548835401 165367767 986708539 559036121 96050081 81197267 491577267 261395915 830208707 389071203 136707289 405498295 177733343 691022025 472433227 613285481 364710725 89476773 349399375 177991839 977396337 256841735 654769881 138791159 31551751 56014947 356249211 539181819 421749971 155801241 931624823 108835871 477060037 76085739 432465845 315222711 234970877 636307207 722434753 491102473 650241979 57263363 580987607 6962235 242515561 523547227 620468177 695504223 784481183 553501687 956974651 705297009 785872147 380116003 948995135 937661263 784557227 986243473 589415099 659540675 26055027 661542499 142899239 406598015 956725917 109347611 60560817 382603037 761428611 357072297 614755875 210219291 192559531 850843745 557762295 768137189 264942015 14164223 135673675 416798157 255965841 892408745 996344551 721388553 983082783 971454955 401622843 951436733 922220683 850565055 767911515 599920881 94461213 776627837 382969867 271968663 606382413 825072109 236074671 502898823 651954357 702006587 967572567 959303813 53066519 72182269 189854649 661687607 423276383 806402351 875445047 447944751 293794977 573370423 97466327 728202727 194492181 202624997 500838983 248934081 755435299 943546729 107751903 290323461 813485139 840607077 308162975 865623269 732856409 531589339 530155311 136305017 234439697 113963579 928992221 15195077 298573949 708328023 413552031 105210031 762909129 8763247 623628821 933863689 361717833 107099175 650017673 554424973 102953847 486173835 294866919 728497885 496852727 878280467 101756359 848704641 734996371 173946267 856002919 119663081 698539071 42963561 324890035 291324019 521113879 735349545 462557493 694245211 302762591 957382639 770745127 60561613 417115007 112263741 47535207 420055769 522806285 313145331 290158717 726438009 120069827 970104417 306050199 874980495 844056197 520428347 469852815 468802785 159387485 371878305 816879075 236532005 35262849 741827349 281723575 383487985 548784201 818712709 561434335 23439815 471216953 405060423 880492753 495052305 5905151 950155289 621811883 261760543 992017003 877768733 542175027 80278571 285620601 1184741 428985051 741780055 122191437 31608931 859331771 636339625 855268915 873638899 289995663 400054039 297856155 582850911 653757119 44104823 225545253 890298577 910591325 921887115 287384463 810496733 800894749 939927805 674790089 168012163 596619617 281035101 867735523 802118439 753581613 442347555 336939035 834754967 345934131 207376565 119311569 571120903 243489481 557692761 693036177 415098133 131521775 585886783 78604305 951606215 715889739 897640067 779473195 402885769 213692205 431746853 168389601 99926321 724827789 211884045 933823325 521213693 729586441 394944783 765678839 418371471 827144169 699633891 81670437 633744887 974842395 866991657 496593551 83257771 371485497 207390829 113280251 840243079 412666495 12236573 383574113 613809359 267262423 162242197 413415387 879140401 5018319 944021269 260595883 695999173 715732383 931498949 905472317 5495045 294034467 796299193 827950115 305217495 655539431 894389993 284264731 900083079 94746135 619624245 723986439 245178061 690643085 705220969 201433585 353739205 926843077 791531059 594622477 785067253 700423143 847465775 526501045 782597705 25450181 574089179 246330993 581986839 817314003 764153509 954554087 563256859 941714225 126588377 497646571 449840763 584016295 179876533 778414203 255568581 233980325 870359639 151777721 155691247 801444673 751813835 945297903 739465811 939430459 608317951 465781649 31030969 703841017 473175757 228225595 502235469 994338699 680070649 26744241 526544293 519082665 608851241 426624731 755848895 552250545 668769265 798161615 999485951 935434411 167209671 57072071 579819057 734891847 386765329 35732517 465122445 162573785 50052883 740843897 675454895 33587557 443240193 856309617 555288219 222617485 697537011 188172523 14347713 306061221 148870125 462254315 731825653 85087139 251330005 86882713 10725235 683686179 182439039 487732043 881707233 801650289 901306785 731690875 733015629 451901817 549401823 357375437 909217323 856559829 148599489 809407245 342291033 249879233 119267257 6360619 131417373 398996517 877137697 623427911 845142563 652149651 962742839 503748767 387858305 579263039 577869607 528946083 821285045 91428105 313880067 410155491 240497569 718299001 237859777 452740635 734789526 467643583 211231045 980797231 884336199 932069041 722596951 161755435 938120403 832674511 207664809 530357825 631351997 483986751 863684819 854841291 524395253 107710929 667332439 180065615 658421453 744937725 743023009 293181301 913574661 601794273 992816380 586960149 695561409 407978565 517669287 269531173 704225421 830188951 627552705 682931917 508916067 242739185 497648723 998446163 386466715 819001871 742932047 542920751 775440379 987866971 445748621 375780603 457667763 782793955 217522639 704204665 778040407 170883677 772401087 167913876 388888803 909357867 230548461 118892897 4740287 486045009 774911955 980996635 751312309 548471427 483231443 468257059 716296699 477046547 261162293 801310983 240217393 916614915 88720171 161719417 709899097 630972153 673902541 299939157 947920865 339963719 893816861 329141661 845945503 287427809 78091781 604230781 270411985 599349863 178059605 648990535 156354075 568673057 612432071 305372793 716876681 41189375 535197437 961821877 292081811 317715095 876705663 174005189 801630229 500787753 324044733 63668125 620417875 547538587 442285587 597909337 440409853 864701309 279857345 151540795 215640103 527366919 363943665 379054767 993507661 377044247 125995443 662970185 583284565 372766261 996930817 149641155 590703245 769478287 627623101 362083841 42280361 312802559 462282669 105560845 16043719 963936257 405677703 215850525 998963821 431422143 134316769 515750793 564497543 412216837 619883581 390571989 544931179 198560079 170223874 160577197 102102743 598754743 439253383 433781221 840464109 154517257 137270529 260686967 416274239 999125169 936408723 674268551 920158655 562666695 698150467 109184865 450291145 60988683 359427591 536267381 373990693 982190053 105728691 121326177 255920385 890787169 954145037 810796777 888136431 896128569 279345341 849870581 91802607 240897739 697667411 780262811 762606949 216370721 789145415 585121559 825494559 461592293 202504959 514350537 778291025 754970227 334707135 454798653 676929433 501253577 679640253 981487401 119863293 473842317 138362381 404069477 529241321 766462479 206999477 850355191 706950963 4146759 898661021 236699657 95112471 443039443 933096339 571504365 121496891 58147835 871288917 138586143 853940141 915274157 177355905 270110533 902464739 37541507 428893859 790204197 283666615 221487801 309596457 715989175 677585267 735723833 773457775 800233493 952941759 285054095 771554995 213444991 490211507 599247863 428054819 71773797 352763597 925300811 458571979 788001881 181733617 32865047 142820521 917232147 297839211 778169735 467244443 617680507 964688115 134719859 572797291 343497625 577277861 658077275 593557965 903338399 103013895 263865957 95060821 552093165 548403971 470302051 130463369 649933315 495402995 41805769 423702735 392945805 722078097 41773495 923392891 783771743 650594051 67592181 337972419 377160561 366289111 529471219 855218379 192082411 116903937 752024007 998384283 712054037 871430881 321716527 244227365 974945891 857321529 43117717 485429827 383823473 917315127 393177351 497801651 98606593 490165105 88648765 312324131 346179839 435730915 576976789 315229215 187838847 171401205 828752663 973329189 573085883 929783665 330185841 259914897 741022229 263684751 879279101 220069555 496094749 972456171 238295479 588255159 707793281 376298633 825418825 336139959 342183455 469374681 730745343 880057013 482732537 252439469 275133397 17180059 601241147 999979077 221389413 976052539 188325945 834081349 495433979 923633227 710965357 21799611 44785283 874604911 388375931 827221275 829521557 605868078 809274159 607877699 603144817 471322109 667035001 531202937 435186173 64699185 700465015 769618793 115921099 70834191 247425133 111018793 237853455 443366333 364583619 366501685 596864681 509611853 439966991 370284659 913524769 687291577 947125515 298206515 864840103 26601443 568950427 547574821 197450767 50088851 789617355 779628395 893197789 942950523 973074635 835311495 684835893 555405363 68537083 7487079 906328039 418379325 434491865 517109345 946083435 590079747 354848021 707112243 461027551 500002517 161414783 381293825 946909449 195390189 647430419 328857943 318618717 826672749 778237431 631853 851019501 7892317 61017969 282959071 90969211 294141357 680902137 857455411 161650543 164799033 888854311 392348757 904067543 791048643 446982337 204940761 225444969 490278383 983568305 247835839 173768583 431192659 553123081 424690797 934104117 622833513 97804551 625847725 283698981 168268685 688281611 276614069 330077101 133607437 866011043 782143267 516544717 771424279 282947969 758184189 353296427 625925575 406683263 404423601 952508185 116761373 357244323 203520017 268635531 679673603 273430295 22533211 152925473 462831689 762099503 852400951 359138339 839745705 995722595 955302063 898038401 567966149 380689755 827645243 986815695 948638243 693315039 537606839 699621201 552117305 293277667 262221671 363275499 248720221 863612291 48715515 529525805 806735569 241206017 635377541 939174479 387674813 377628105 856721029 268474413 720678197 320875885 656000479 297027923 774268209 688289451 986583777 902197999 531346321 989168741 977555263 115940565 827468833 54766245 930862103 735153287 231193231 462122911 985522415 319978541 408179575 239706799 316816051 861924755 845711705 174008151 149549753 82061621 257665951 6716997 432732605 748328237 111572375 723284039 896820455 36454983 220686719 334117725 864406721 450996463 87041397 72352681 868863041 621786173 576078981 631380087 272977863 723352817 166553501 680650551 728302101 466938481 64433817 657014407 810852187 79373773 314217273 295813417 801665579 157135549 954928165 11234571 662515333 984718495 925400561 773047869 69773515 452938107 323971093 521347067 536578255 904963329 371644913 748634025 191613635 132536199 180840399 438375377 769705029 883975947 391910369 106002729 679464283 805979703 309045057 690566537 424322927 759093593 21410543 698984695 184430171 32100201 819751635 685923995 501506905 898260741 278278849 456920011 92379151 302787443 547570543 760021249 956099467 450960807 723566977 47015139 132486467 905335603 761733761 103790391 779175953 50549593 588146652 984725493 942839613 276075009 126438895 442271285 277583731 248498871 245490939 551134013 799117259 722562487 823933479 663004535 203941053 134201051 606951047 448154997 501658931 847559341 67575313 60056307 189874551 66593629 887117993 773466582 852347969 610898369 844902167 363119399 266661293 609039961 402363405 526524443 369823807 136172621 39618853 933255437 377594855 792907881 525323741 53716095 146888951 667426855 843062945 887669787 66195759 27579045 750108611 805801913 191877299 144998827 102375544 453743697 401777937 189032615 146415079 10634501 244327484 437802419 926891029 606401571 222824855 526548621 288459509 892499485 355864287 755963291 431406431 916547727 703148871 454144237 625021463 304755003 267219555 937125177 445200579 559559949 549544241 719021281 361448180 38873367 248685843 796123883 963922217 783713687 558210777 248270853 761787323 304773357 404457401 37652871 932208633 933553321 368877647 628631153 118753043 784477305 173541791 884228203 372150049 958771515 825455127 70427841 691332135 117619697 602919053 280053103 492775691 68208839 896973631 628498447 164835487 937305617 971287249 685397229 149389981 913901897 284638545 57549299 101556903 94038033 525316403 50605501 191531333 952741689 724575829 117624457 184229097 223250863 677791483 355253053 357943019 794560913 194324693 486513259 939822733 954278689 286385143 2074951 29794297 486174155 443604957 814252721 415564607 93507363 54267501 886591537 192367961 178862563 678714102 77252853 408056617 298569455 300392235 268675799 970679415 224693843 2725417 599568211 664568563 201176639 771539319 364088467 629738297 266660881 695490051 819979365 593234377 553043277 854883615 830078273 573087245 304414363 644815241 323038019 253163349 916201681 519381609 115525431 273041883 196720107 326483529 613416329 999939009 696334345 377533473 602341203 934202895 920365175 427577421 392536913 778139061 628232875 228414867 391109867 682608271 661029693 889475613 974016307 435998301 191434483 267440261 872819165 872988617 142677429 965428933 321863753 235842403 209214363 98343235 333429889 601192613 684245979 860324813 752008241 110496495 781683675 820551831 162509745 146800269 646075431 860859711 556573951 965475245 484173169 578728907 282345671 573696363 717467027 469501351 883514195 304249031 896948371 69350569 726723485 662850987 788263835 269703693 667268163 142530021 307945469 264026491 579623565 605149747 271935543 358105597 989477737 636490549 536194793 625051403 829107313 37347953 771564513 257421183 327665889 735883611 905290001 83703971 710632099 351023693 884263315 386761503 435790149 908813191 845490349 558814731 83019007 117225011 774747849 58209765 494441901 826121055 765724283 494876561 937630171 165047049 571256699 24638813 445436341 917457679 483049393 979960829 832602643 789296189 514563621 342034319 639082359 941301057 417908747 60756121 584666370 611837879 248374719 482172165 350026123 654834973 284704707 423890221 804297859 74704865 799792579 938268875 831690507 97739345 211882899 672762375 646251755 223004581 405817389 303404651 410977171 326644993 938469043 291956717 260217113 496618095 87743859 436828141 498110781 694314973 842269409 485936685 43743845 252881447 929890453 881010139 575226017 117964299 524468819 916039309 584988329 5589301 377061127 453780801 6676187 627301175 367723461 179568475 754149439 775024777 60608711 323022759 616470917 517621131 797620337 67056477 990275585 910931335 136113228 56750361 812907703 630858671 178332689 811507167 315153225 136307229 153800341 621647903 899406091 30913743 534510301 567534763 213811699 433909937 780701461 92257219 78885789 139314325 584017297 477042189 943480917 109385777 903036877 331323281 375844871 676561705 773999977 877802187 468663627 769516549 572428593 886743443 781283937 659525431 899526171 109226545 218395185 312389657 42477119 582887505 881134407 218801129 739968995 247515657 845276895 663732947 417972335 295755477 8763859 53119209 988639609 979214493 762365357 963343649 371844029 33365163 635345821 48145503 477913627 541327031 400044409 753321579 882037919 287715803 770895553 452334839 766247807 954203553 642638235 152745115 639242259 783970545 224625111 739700187 367729633 237006117 964776429 614265373 325386131 397384437 701203451 759141043 21055995 234232203 879674569 108326359 199237911 303017843 718916805 659395499 234632455 868393377 766562569 863181623 672631065 773274227 622437969 685452653 823138495 760103599 420951559 645345829 329946771 77815937 13776697 237848353 819867995 715237503 846862749 575395595 460881665 883522725 401862805 178677875 233156503 637997913 338586149 25155285 89163355 680647785 204890623 253515149 270438575 511846923 899887739 567968489 768199451 375877081 1392533 140092697 629563479 485257179 180436981 617231157 75644989 983724927 195720173 832025663 313444559 385437847 771628657 579394593 887543097 359563363 959689249 988843 272084175 363830405 918941253 243979927 387773963 727974415 194136525 804621447 934821775 233286771 667737167 272076291 755774249 595122319 603579147 811569275 617861325 514386855 162234855 607405643 735646609 121183851 885385331 752298419 531461311 120822253 332353255 141393373 18458301 561734829 807145249 111414745 70933537 987500945 642082215 24637345 723426981 352799971 534441645 2351895 275502123 404718937 976185605 202361089 161613763 651196177 126076211 902632469 525670043 16140433 783332953 493590505 510185745 781359557 931276619 407029247 773024167 960396547 913091967 448202431 889928715 34522633 731326481 208405629 313059853 266263289 113009357 939720817 817860265 704711011 819297567 445135805 87670019 673241405 498808095 606266471 348992869 753735651 760209037 861105253 331172933 325261593 598164945 422361229 173094715 510645263 396008695 338420639 684752907 25195095 616383161 248532297 395164579 429926129 482399093 945092889 680017171 93502273 225288757 653468041 864977559 180121109 102800291 556842233 961451667 312954529 586042651 668889269 591611027 66954115 285986715 572401643 706512967 629735361 737789641 234941623 912488079 652029895 663815157 481444631 260313193 792482409 138853143 823667193 449040901 975772136 626945485 662033963 88683955 179235047 583662173 825404261 911759089 947070835 878235835 197029197 753264991 809192963 365234553 920213095 674020811 658816625 892928219 368812327 615275815 911879941 873614787 519971047 97018765 240180589 993386693 388746471 474185027 65330619 120151319 206410575 430900659 667405165 374547349 80442419 318253167 324446827 78174667 329421961 428079157 592657409 822218981 270305589 59300837 161347043 681012411 712869889 653499277 702386991 203971277 601962139 651425119 418233705 755992385 618069917 634194103 531648897 861601257 478411147 747612439 963285195 869699385 472333259 508978985 312997891 382042449 277179313 356699077 919597647 87751417 785635187 26266851 834616381 154105505 266052405 757406885 258874049 703039327 649574401 30210137 8912441 739572721 270381765 170367857 357513067 926657985 44621147 167785609 150350469 408795613 150413191 73777763 73936921 824080381 477238255 753594093 464919077 611121023 733821733 508360757 470242577 682536555 842724005 231881083 189839527 879687279 265799629 673375777 138930463 989018597 381460199 511200433 97503251 938604745 743482917 528473567 851980173 209124293 773620895 885374343 587645173 461921061 824387927 725997997 943143973 883036133 680216633 422407545 948299351 480270495 743695121 10656321 817140529 678614175 57476763 264761471 807698879 581758161 135259513 460591831 816750459 611851469 511856947 237802259 587512125 661619155 708817211 819137319 76479563 630228425 202192873 985120817 687354197 18978881 823759745 200017263 566141295 999411053 331228969 52526927 940367639 134562611 352487923 480316517 179506479 792145429 197335513 176454253 136439303 301945413 732660925 826127687 523077205 859891863 499180391 381810687 91357235 384700303 275990665 558515659 547568681 890324561 523930043 845174019 345910309 813908909 627759231 902002221 949177977 443734299 162493759 836144369 787340005 756379065 523037259 762420517 345881485 520245581 269681373 762930629 7787005 292111691 46555671 311862257 642107949 287901637 940648961 600956407 493309817 322790013 133917837 778315335 574091175 655732699 750648467 8960641 897958881 259292141 190605013 682894437 938389441 833467753 757176061 331812573 257600065 515511473 926200475 144307969 207903431 178516681 376037929 242858247 632067105 857022563 647286791 430199127 430406021 945749717 140423553 236181367 692574093 220387615 334161863 390067487 875919681 187712231 960086769 256065321 897848589 382140799 897047297 146466455 203550663 529255643 811396831 621937557 414940077 960340123 186093919 985581685 450733409 60322567 959502393 749090997 704787701 34333199 554547471 203825141 994897115 228409927 207429735 69610243 765470447 946430451 469276855 691881681 883898746 826830327 835291989 155478907 161444391 616857827 320853891 941427523 816551181 892243437 20553577 2966421 644557735 426201079 932174107 63687173 656560091 743681671 910233489 848159565 919389431 918736587 198330797 13105743 962692271 766010013 773240629 495599899 345764385 366334329 426021855 439259103 389600979 728614793 472127551 987622905 660322737 790115993 349059803 21277931 803107343 941537061 454034203 531857249 924312239 198494023 852556879 209940527 255348401 212265419 381728943 310159183 84992677 570021149 17128545 644437733 756445057 22544981 17596521 14488634 305368993 925710899 611904954 474476229 515657673 831177757 9037361 907733279 824794151 514027811 532513162 25905677 613670737 612759805 200178289 378504055 991426373 831558409 126037879 469213555 289693799 601595215 507336213 238375739 251057285 58820991 567736747 878209587 796869587 898490351 629421699 621791463 658331119 131656349 950643921 75795975 2763997 970807859 44689321 17628017 563740685 842299647 147747345 230791465 714304339 71723513 941061103 120034903 105148395 369020861 257265943 862491219 251979131 999466391 246656063 151597459 180968209 574743667 453954059 309083325 747084323 796820459 9200645 429366173 690763147 748378939 78584219 856211491 772956817 615497805 878762279 89786735 911426529 121668781 269128941 179889855 307988113 636109973 337132563 884128899 679871775 314983397 957105581 599896395 193016941 813093153 910133681 690737877 829521101 930387579 346009091 760110849 722929905 896009417 522568555 140199645 271881973 36241035 748099739 74380699 486867299 85977831 277277485 497525653 87386659 198828207 90164894 655035217 214705551 389866327 443220319 245299321 111061857 123730943 769589689 241262303 257594815 598771311 948222697 363384705 266624567 32220693 561570833 55701375 631941821 526698763 151916857 264646439 807084207 598811407 915556947 202870507 513164243 576679047 374735417 660679271 121261909 191410561 386402217 16249181 262249675 572191417 952463439 483927737 28436273 329700491 639858107 709087119 532795375 518514175 482888809 238372375 713706959 841977795 382536887 635807929 560524809 835450159 756896239 226088189 947887415 892154691 884393281 108311191 240547425 115557287 920927947 494294627 182047733 526206887 976553097 363066211 408556229 522430783 771096423 965802435 989336849 330649609 91881013 759755735 423873405 951569487 260692653 171811609 267348501 937917441 66310257 86648109 382285649 370521013 392509961 749241565 44561677 401495979 405131751 760345885 993851279 666396873 899539299 285466633 805801603 878856609 283923391 586517989 600701951 540618597 375974693 191157273 813250431 182875387 638503845 455648827 12057321 400284645 361150009 771909381 67355531 718465875 893227459 98678619 388341531 244286239 714222091 654281031 936523955 60132037 473784001 132499711 127005147 999143535 307653249 682877915 193878399 582967787 128037325 946549599 336541941 521723313 584290825 991328313 646969595 188563421 776288907 937976121 442476725 790086971 179940747 492443739 648603823 840844343 858148139 423331779 772135905 861493739 376503923 165580989 384768679 165773587 145316435 678807737 771318213 692792087 273910439 281060439 258643307 668335881 398770479 316810837 826206763 145801885 853860501 161702051 705278981 808498483 287106409 527096657 330165597 36698837 319263525 122128283 448650241 196642095 747121961 791826151 562245671 520990361 371664833 974311355 224125801 709965585 642702619 646874831 183624143 362445123 236917843 281210365 744850629 881086841 434896489 251703621 413034529 302250157 355337543 56387031 629576991 869474173 613802685 646869763 407424871 137009969 928657795 653915975 502476803 57870007 850066495 855952707 796547689 832440745 743835253 730061509 322361209 195013443 167376795 233929151 769064053 895409519 835335173 846491469 203054093 503750075 88084473 100393137 911924563 729186397 467432095 389868119 568099527 479128887 219030791 653840593 850259789 14690511 467941673 425788381 666566451 756059987 256467179 901677403 313433389 99907483 151081233 552665177 583578969 873912359 781102671 709736971 67367483 837036063 364682303 42135239 151036867 260922447 283440225 334177557 24244293 679948339 432147741 243868831 231155580 521678565 852464839 791717177 868502929 691516463 225777813 21072861 26211343 216408449 178190765 271408047 288726253 417995505 47579667 230363385 798867845 504896063 443610555 242156591 345368991 366493649 48252287 948497645 288581225 543381431 703564317 570120949 4907893 601640617 590564675 377599797 485970369 191926021 221167229 171186363 258547893 753043411 513764937 406219207 259406621 404554177 164732165 619329723 125425197 94596137 616634363 485482787 508998273 841763335 367796317 989927087 644779299 224341765 232709189 285722685 868893819 371875953 406332849 40015567 236951395 439768131 205008269 666662035 589664789 622661143 14556331 753629657 273644855 840506425 624307905 216194077 991706327 426555541 566733171 202004227 910168937 57680835 682603851 383481175 13849805 811429891 925691063 60776969 722389827 856123453 740341521 423132471 841960063 871636733 331211675 592039205 578036881 28460413 877714049 880600379 813337335 218600093 765806031 932924177 229973913 325601761 55722625 567432541 92952513 399909499 532196217 974924549 383432487 309058625 393520255 193698325 546644709 701756083 692123461 831396541 760081027 780129271 34533987 904474717 66301167 667320797 537985117 720413301 946190715 75417821 112673945 543035311 106197223 262697237 156098665 935249123 133806679 832512845 909410311 935292423 901351001 215766003 758326165 581502785 827145185 369446433 213470235 252768733 442156365 428589715 362739851 815168333 993490275 502919347 730801853 59297837 372762701 304182159 170450035 707765567 175789221 240599261 592708695 259987053 740734567 911434239 956477691 924543951 429172213 343845625 264705493 757010587 549439263 892315005 388328009 400535609 262958105 582483427 404256413 234199857 621592195 104420391 407802119 4114999 502473311 696055025 303995549 644802855 616603419 576738961 15719009 504157699 403226767 953349633 302897213 937620471 264289267 208184795 523132929 391151701 663295217 590987113 777007719 648694683 448484499 111942555 271842833 206467179 770128465 571851783 670977671 929557135 611946247 837230061 449362233 817082875 680991227 919701299 458629763 921510859 881989079 288594281 369385639 208985409 703868341 719158469 126448841 795132617 54730255 603048233 318024703 996067575 656377803 591194395 391279681 189386629 124820279 859040971 755066225 564542551 825379591 722147597 589463639 272782967 27869531 246695013 594485667 69901081 674746037 392305653 55121137 301140121 831442179 560014993 794897857 730973051 234583707 486670767 759024764 426729319 265111865 253650027 442445685 142464051 736771333 717378705 481024481 376050393 424072073 535049101 389526247 511271549 829893309 878248311 743260811 966500713 302699517 112406031 934168259 843111955 614846221 43812795 261084261 604268051 561760539 359681677 276159027 470143791 165048255 87000377 35250133 228478031 215434227 283765791 272124127 116413065 607372061 564806727 652161993 828864025 687031305 276575329 120216819 141501791 538660847 36178883 623509929 798907367 12436845 713213805 225134873 533470567 572187011 853302533 147957087 158324919 505125027 810142171 339652219 505371357 278544289 597728231 310340437 79457793 58901689 276041415 277334209 610209403 796813459 263131329 152253557 677361089 264530233 491666377 956099095 438625657 328040225 850559601 302527019 300203631 603762219 833062141 298378021 502642069 822129305 343283279 941712991 503597829 231678489 380911355 845177625 979876613 291351745 323948597 438925691 47010047 434005519 210929887 987611545 833854085 660541927 519949439 592150633 883214421 723442071 415039043 819584719 619406671 465438929 217018371 824199317 517753729 208531639 401057599 102820201 696660253 649136845 878166045 769229285 734358399 394047999 504574063 228831885 738008617 5207457 961309865 126550726 131153351 211235443 937435883 635894247 777168171 844059547 654434813 206363683 367736914 751420321 817305679 486397345 565284193 724559233 879941879 171027301 94631327 52106131 947419315 402175587 344601217 631656095 187796717 758368883 781863587 408181457 478198450 334683993 997289671 947270335 428204989 298363835 906569433 902915687 373262185 418824747 581598445 14639659 831928255 406892069 955613245 41437149 839491181 731529479 9306155 658093485 983874509 430349595 433756485 339262269 812394971 599579283 630494271 7449231 885850433 686707335 965478641 856136979 961059915 875900411 339796831 72464027 587733493 839594197 467975349 781705319 517287129 691661543 252447815 182977051 574800451 441607915 430098063 457732293 690208031 323330947 613720625 293422553 411909381 303117879 405540087 590219317 554008885 344070777 729758423 526433055 662864277 700787873 338942697 740903747 154452405 627397363 542100593 461568951 170270157 634628245 23907805 130766071 706063293 720874137 940302781 517131243 929877513 286736121 718994381 932401885 943578337 79087511 390117361 831326851 666699551 530444091 763305269 728394493 656534337 694760599 300006089 736446157 645850733 842218819 187264779 306169313 339463539 816437953 246071935 496007825 115487691 439154555 429017295 351099541 767887505 258106817 673464781 232135703 677692305 837933261 167997557 978148003 883583033 26928065 765856235 224193069 59105949 390324901 111254139 445668883 286816895 438990699 151715991 667381785 221316167 119754475 666450393 242938735 179415555 45924327 349516807 364018089 335257193 566414345 789902859 582616515 530584025 510919393 440194807 74328867 940101469 380651753 578705161 435124375 463333792 13061249 572167841 186261843 858568701 468864245 428343117 328419319 414937457 14254453 85837503 138043269 363860899 425256985 518543313 847064683 244702693 705195747 517314953 676516223 95722027 61845181 138111505 80834301 414878741 269296247 770514365 311266701 229868523 502820809 519350277 424764729 800052637 71903321 404930193 298504313 613422527 231425709 987160617 346301225 678102165 496744757 193562049 985909645 899389187 55006541 511282037 427711317 106124185 572746293 22171015 43798163 528026509 828635671 23922531 338389703 230505409 734794499 396334235 226329557 868135867 705915889 485441005 628436235 241023145 46252487 259056187 151424541 460048996 36989001 88684943 906865193 703150187 775445805 217584669 7340213 103956709 74005257 464678209 715281581 950099871 395728989 584478333 398829927 243598613 620374679 620500605 490975135 781630305 137571589 186968597 28181629 574853453 33216479 498816831 77349003 852544841 64983371 80302623 368595649 721589869 319437901 609373183 502233465 989757299 578957787 798535765 168026491 217377737 481448905 148052921 908017397 631951993 836461533 815055087 346764409 723136317 879170237 596078053 409612807 802776435 595659517 198240939 196521987 464134947 75877909 819058813 793073209 825421821 184309605 541250239 69149409 810046551 69221687 226437627 595897751 213629999 98817983 377975527 710128225 731423279 272531985 250262875 690949803 40723621 988665651 401808731 927536201 832474249 808751883 691438101 776978554 672702071 781081453 476330713 139372263 305961403 529773839 811906083 409629847 540913985 544903831 930875543 674053889 744540323 299066249 345761281 470353157 198312733 388114265 773550675 364850661 53171353 661159009 282761895 12251727 232913571 722875103 265923651 705056089 301060981 859763711 519794575 748522367 661861615 720999123 67715363 371008937 892438933 899069265 800484021 949575203 457706393 402137437 320395307 655151519 142015441 711529921 587496593 351004735 119853245 654306603 514029848 969949317 385265027 757910325 731821599 124163681 416468213 537425251 838016547 338773543 807559303 583833627 303056085 989628307 145840473 152292783 972760071 987256523 568862515 806916443 426013873 148730715 430919555 807745083 44898299 952459581 134401635 346709087 881799725 854899145 287577489 305902001 333119931 720583879 456427377 47937809 94147647 125250403 935660567 970138427 671703935 273968947 649355833 490655195 495736421 375898931 2559029 182890627 647065605 214321353 348689169 816519593 255906969 903542469 774160769 13978545 779698819 744296535 183347927 520041443 496162129 296625697 779021333 58494321 372833975 927528229 582826723 80093811 693462923 114918353 114376845 9122027 212050647 804721917 507586829 701099459 526356673 821207267 556347395 26288075 814352797 356527655 815503283 711704767 336393961 643125467 10575375 277900859 207862855 124904817 155278765 807774413 271850113 554913223 71849677 850659045 671282317 579560995 720053333 726681051 829715587 604004913 961710295 618045681 78637735 290873349 916577669 382180945 894685797 108761375 313799493 803582475 416152401 550008677 319330201 749138201 300175397 747384353 587210161 628291165 970032069 982143753 252732263 278229407 118541373 937452349 735140407 305831569 662514109 98662975 512434251 229307339 445919139 229991677 943832433 392198607 104258419 284258509 469060127 403182085 883016661 956265069 508945527 597679555 557244319 284427007 156999487 199218493 257701067 760276757 742669029 615711893 81552765 286135201 5950595 124444375 842824449 331028223 37202645 324614897 975845065 435102713 65724739 631592127 906458991 606897847 309647583 626386945 707476921 443170259 314850653 450044769 591029135 379677511 920446493 885313903 673493255 306408825 207762729 867655077 87702365 76406839 441396781 40249699 150772721 449324469 980047233 206087413 682886481 484208017 302110499 723514505 196021293 861797841 275708349 864185147 223741029 411395041 566190495 692593163 840946169 849624471 848435643 499500259 650078739 276893233 483044023 141138835 28058635 788438353 836146133 454365909 7009879 545040391 215459333 483436873 158921119 671478217 735583969 53888121 636569003 76133235 888422821 285513177 991272047 527667785 603900987 755357119 925989125 392368889 279736369 753272939 455232179 475481243 34693053 885259019 125504995 272982441 447655617 308910765 149477673 986145543 635134915 948526409 689016381 586964743 934908657 14904005 445196551 482627163 420021027 818604005 845425295 111911713 797001433 111370076 84356105 5848543 172054843 708965575 775299537 265114241 222473493 903680419 416118377 735931739 526744033 322024025 312260477 992334383 212744895 896984893 587310305 874505501 161207155 146248071 937161101 947359669 269623663 44875863 608389289 486078957 554450121 706605495 484359293 151078175 348119361 870265753 461067647 622874387 549912893 94984919 844546373 765198581 424897741 352470063 48883097 428949595 695200937 551339343 137662817 694789699 702562607 419373507 560217523 494476817 435271527 504781833 381276873 724940945 762173951 649997439 61702919 452131579 516590673 350958191 943838199 760225771 372301145 139938059 660082509 779709029 119960257 813880429 197159397 498355417 771714519 814419091 275524291 318016539 821334161 625038443 576197135 337788519 431725713 700349633 801984543 983316067 688864285 679510355 720808045 461706781 618385699 875059135 84119709 391585801 7835707 824892047 749657467 444105733 603007909 986052149 31440375 79969879 354809929 860982281 900764721 886781099 15069363 71855951 529051239 180027671 129332765 802377261 330665993 680695065 9987943 986780341 229800103 107110547 306165781 391089121 81620221 123879637 298724697 670732947 386385393 378323861 335290633 231029395 227521417 718319599 700546211 586759571 678703101 339422567 692322899 210546733 958247077 577949421 768464867 876864223 109742343 639301587 129214411 522833173 711284173 740173529 747664431 240679967 529957321 971405603 267698639 600575033 871128311 282918205 251622689 94994303 441659773 644797473 199393591 479519999 410757795 148872743 844823253 767766441 45274587 298114581 40177503 797108053 983627717 421921819 140939235 481697735 171739425 885873357 986848797 152607653 203236827 422957095 412574057 733024129 455231493 546824849 794983373 584788181 481906909 133848533 193323771 589508355 859581891 811659305 416145737 214144595 683810117 76291373 337139897 817924853 855321109 336408803 616963565 112103941 351272463 798821561 142286647 493670021 937712949 608920709 810515343 287924825 785965747 259621765 302769045 896998745 191547869 616806237 750822029 175592505 157981483 647037209 240113001 502513563 249615685 626525233 564026303 570248971 513095667 832919937 554809549 865520121 283113257 457364557 140964477 965307069 150167555 377110853 555231839 872874393 503461827 915127165 547596453 222248885 802339031 569163121 595537203 370156069 446251469 914245127 88134287 891609825 439891045 257797517 540988649 504138699 514662017 430714551 16872213 232514987 908503339 819863971 12105623 92764465 753240985 825027287 152732049 780726265 806457891 711312447 582897111 277591939 157132621 711337521 1775069 698811961 787418819 583521899 648202437 48621163 853051481 209048335 708508245 419747155 768882443 217345455 346626043 979393553 393829878 149296699 561554383 701488817 63873391 53899797 215464337 713181985 448605665 495525119 316573095 157080637 94962413 159067689 358225955 14697157 761703505 404775205 502544313 527574625 838074621 290698995 359177417 758346405 22014465 134127863 729042011 616130569 944023449 921429503 765566751 624593133 914829353 368854335 377517675 143131293 710928701 351983957 924502335 704621639 720770693 543167815 990158144 875377671 814164705 190535041 373304257 279624669 352601423 673787609 798888117 838197425 908168703 888893322 387423679 81247063 821879105 515201597 112823589 495339399 613692563 263411965 830169815 649316065 178989461 425171521 697871721 42548719 406041365 650092003 175925535 986712355 440059907 424892461 486844123 148738007 796490367 772753095 598919473 382160203 660891337 378945993 929748309 7650727 333937739 240639665 133564969 834536191 141726365 74157411 375963953 516650569 554948213 190969643 144347041 412879979 323132603 153159105 230009675 365967145 726270327 108162113 555709873 46309431 453222621 86161455 365997817 660099631 570359879 452742779 792139507 565178767 893775163 533860985 899559447 661901765 186417763 527016677 169342597 346976797 835531411 190007525 178913025 878784213 25200581 29049095 569574909 986389003 513700379 593716287 11631245 313879241 917991651 987855085 552622453 462637569 613844879 22909395 444034073 12112779 166495931 889838879 858118537 106918699 613619497 596221799 886478717 164220295 203878597 271518375 238929747 829762867 79793571 272640327 450470675 346993573 79857405 979327761 270644843 529774145 938754103 423081533 815411123 862070607 509026779 386596455 270593773 501723905 813998749 109043091 55500475 633176687 215917145 56283953 7045489 604012189 61074705 8345363 247533059 816048497 649830387 313949305 299409683 341234877 159307343 152873223 990265831 749655357 585345697 40016331 585444205 723060621 422161291 330969145 173728061 186041661 259771613 468162351 803327127 894600119 329202821 398066163 435017057 150875 636979105 404683569 293693739 642605669 994051445 268295167 250506285 777347585 491604584 624300761 860740167 838073663 776590611 237171365 75135485 382356505 56164141 627062193 416619903 513422449 307142301 948589235 734244263 761842447 565329513 134344135 54237427 409759909 401729481 551676785 606572169 642920651 243736853 705849247 827709241 308573955 778518227 800929959 145363577 315669431 739841195 77463111 696619371 151179063 295922803 587051171 279749589 628001471 867087655 173377351 113409829 678117227 8079335 856770091 752826741 129144649 105028863 276622507 661831297 292710985 177625317 749846157 736223411 217365315 131374387 895679229 181492761 973119737 571265961 238130575 746395497 285424405 726485815 355705667 43745027 854869287 373347565 103037823 961247729 168092073 401756425 89579277 885282015 398584061 854899179 286794531 50224421 122856553 16485153 357453919 840734147 536821027 619630685 739476935 581202015 139022145 447598715 584276423 819521097 850302149 56992381 310936887 676599161 901497497 883581069 855056463 633254799 263847821 461033219 505540025 243782863 403651931 705959255 554251135 569286953 955045795 426736427 773921817 696909111 187853041 174217037 581491555 328158519 592229810 740673711 695392673 794412047 736507717 997102445 881740931 208868431 172500711 182724553 588041755 726538541 53710019 264397615 466039785 961400715 372930793 655421235 839381969 439893231 857538643 222257295 623538465 346195591 432274401 333051429 41105805 455133229 548213085 453199363 318090803 530442589 860866171 40447069 958346905 600718401 717363153 19870345 98320299 246402213 459620833 786449425 139857087 340084995 401010195 37802395 542433425 779256699 843738043 924076029 91927113 715358929 393523473 45252401 573954673 349070711 590162485 969409369 794109439 387568259 703056945 968315333 850414419 103754933 890740729 769028067 447670575 422907765 567621985 779691601 550001089 339178447 922628655 757552083 307133857 174235005 209592075 652663889 909189833 402556893 153528451 683586017 359847325 804034806 10242581 709550525 648339439 137158267 94033183 738789705 670612977 998638269 234807277 377073423 501464385 139796929 122247341 950377413 666866661 877663787 550350457 911312707 168280903 903052875 233200213 239430543 892585281 633052439 743559719 141188049 971898637 904929585 532801987 133979999 786933841 687770079 79590369 59952821 300135451 94463503 631358241 556080755 558985697 102593371 256824589 850586725 790239869 94195455 905599255 68075137 695916343 191532771 724388761 126441439 344923835 63136921 578681041 128584133 51249183 798387797 714068973 722627741 557776353 843826169 112897017 918855929 659451109 124459528 170796787 940002967 610621815 36197047 973361849 620159831 296109647 584903897 721224725 584510535 67250569 435610351 801801145 819459223 189961129 637977631 323717949 494622375 24100511 90031419 241590309 85308663 461910205 883367349 160510167 428080435 560836547 815618739 805465509 470073133 416250325 496669175 917919179 585835491 861915777 175310065 744050791 717430389 315763643 779815355 693557635 440409393 143117537 741945873 473555729 950217353 829876153 811751005 995234281 657835033 935233391 212987053 522025677 685984163 297915289 644593081 708617575 382735891 904621877 861841887 660065609 255690363 242792357 20000292 205783273 72476441 574266809 7338303 327824555 297288271 118376103 473101951 824543703 189109159 663764235 29770983 306810271 237483733 60629993 746262047 86850587 219823285 75888559 44974963 679031117 781457993 428721971 473768157 352236063 221565885 697743027 302688253 809914209 846260069 190602451 302504727 735863503 156921019 449959841 161220125 332106757 190862179 267096977 678523813 604551569 908042791 257536641 460666351 768968163 907452923 151993525 378981857 548395091 272230139 973859805 75272715 593566755 300757353 618784781 540536741 981677948 670387 977577665 435824013 795453553 353798761 372390879 422268747 762107387 745522503 219577013 271202831 611559671 48343601 58508025 661668783 592200499 56783665 349698501 350070185 401336927 136108667 686502561 178291751 557475603 564006765 600326779 816136951 799367633 8374661 500145317 203796623 656008195 855213937 383441373 547628305 714961145 444741639 751008075 106889027 720080621 236626237 384943481 447721363 443279871 209244985 778129759 584742169 99991867 504377157 962750809 715731607 69773201 746122967 212226603 596838255 311924439 537916039 714166789 564749493 175152339 338106139 793294203 296131613 460126253 838469245 570674313 512592647 149214069 541804223 665952149 139781501 47144485 957832477 708663405 290009897 751970207 39426299 623303493 311375463 145400873 145719525 518876603 34384693 253604345 350859149 547849685 452234809 423341091 308021965 130951423 247391173 655794605 820724907 567196943 43718347 416074879 199814225 196236097 765396463 126204521 406670609 960086845 381763703 155388965 240157545 553912845 96658259 712275 498854393 545620265 72504345 464345727 677605007 200068971 350010375 838006295 868389149 277545500 558160647 780952439 297290943 19056615 535101095 646133983 528842423 310412769 559866653 803527031 724219247 149910665 778564171 310026323 490710911 286228675 427760823 93029227 603124895 675587293 608863375 529730207 979960497 15021963 618865323 691237561 853241027 301346539 223317387 133565037 515753479 846062979 774562903 717084495 246094553 52054845 297986011 258817253 252409787 552984179 897481105 59044244 81659481 481774303 266862233 908350899 538757767 486923945 865496759 403746935 379696959 286043 770869085 67223809 517786533 814028523 487971489 75088731 833166851 569793209 886431299 947052407 695654605 341037191 960217257 56917039 768470431 249570691 565998563 21570115 974592571 584729923 60233385 485540699 915317645 742741701 653793113 241253131 638212265 547322733 234699003 399109577 512389065 64633863 121279037 926539769 865451345 859078603 827884153 288661219 435868875 759618389 974229675 212010427 386957293 701666729 291402877 706958485 961722767 731658039 18510653 273819511 528752821 609829585 605794529 284096327 929786765 351338167 973493515 739065559 363666023 267529615 94757377 89327075 166150847 249632609 496256945 676673033 854040121 656106665 532521139 312393683 989142943 299034431 179474759 908896691 172974567 968329579 466634837 314048769 20810025 111313625 52658281 861914881 540741547 854093727 797712573 370987481 172079829 835716921 782557745 780564379 78178877 264566671 593177161 485797187 716399774 746540011 799891511 881170860 129420507 212261893 265498577 776244905 73002751 976984311 373125781 667317217 242990907 982666315 252522669 73754613 859108591 696308969 202386921 358893921 688753049 109412907 119153851 770476433 987277801 589408457 138138439 540193237 74888367 333187565 776371795 289615465 271524329 60581411 176476239 968704363 823668663 820210271 736144463 693877733 868823911 240004863 870494487 484327111 740235371 486565577 880422411 888928751 914720093 424324073 430080057 568671513 717032707 750649588 361515869 882845937 210048327 152501737 940036305 327580167 608039997 150479659 754963105 846432725 580464413 338692233 851402361 900557245 358162767 401007161 412691121 91938311 302041947 207679445 119516489 596023523 231597045 442307941 733000425 308885359 657643255 841495639 380798429 74530471 761121383 900147837 141181215 735596151 63054193 150275349 570150735 524252335 227403618 855711175 274009009 232979977 824574653 391749023 683377975 71323429 57769505 977750033 878741879 586346383 343094617 529309691 279330735 278074039 416574553 282181793 488713673 267618037 107758141 610647731 747098451 354333323 144304711 875778883 488574085 41483939 354497251 372533969 932958013 362457165 18411685 914601539 171764739 63070083 426676039 812316641 497614087 406662181 282662573 628586599 147561245 150505215 298975713 351166445 297528007 907454655 849163287 607679227 779134765 922671873 483590571 127976317 713416477 359139141 653768481 684175817 182032397 881760757 168306209 720039325 636694815 713021281 384917633 299378971 117729305 765155011 401840443 428032979 163826281 295009083 603204979 801586619 76668455 852147413 334097779 563025967 517969171 290535295 643792305 939555571 183689107 244505621 606704581 651340599 498631097 589251415 444614515 89727117 579110969 503002349 532348841 88027125 713261939 953662571 919319927 521756883 340766831 25576521 976297241 689603573 361461725 603990759 22145779 34541199 830983443 941232017 773009041 43818815 660392209 505784693 457533861 447151371 617619837 483574959 193741065 570146909 862824871 250719039 98757571 666732559 690131333 578230797 226998779 890522205 958188729 735760877 948211721 525555689 448493449 258930327 350408547 332406979 258798565 582009771 707536303 324061537 291395169 897439667 789074873 509263773 244461375 562355491 387959923 778905023 936860519 550586703 290049015 847302005 38823783 591706493 216517259 239298257 749162613 956429779 285528985 333719889 901821299 575159397 150333107 979114205 535337957 619275819 724628631 325185217 547533053 467606533 767472165 832440497 396165267 506906557 299254635 805718475 222573603 484148485 984590491 19745683 973174229 273586807 90168593 794678521 928309625 311166609 676472399 213665105 27249031 4119745 849992961 140371287 769347615 356838483 502010361 834048561 612064261 602167685 853371189 451196013 470454187 756807797 320772311 536036607 167782437 529780269 471675945 291395653 793772087 325123487 324493983 113665797 552104261 499816613 912307925 794353515 864653407 753618173 77309837 336903693 893909309 52374355 214238387 443225321 81084220 76347449 785767001 993703011 11192935 53740325 792570813 79159367 566820457 123137915 43650113 36689613 794931099 539844995 41640047 698172815 134194175 145796975 897206013 501426839 148173879 709526617 629849027 259968333 977733783 57496383 156459717 580013451 70555667 340380685 307999535 400960139 563412301 24791187 806010453 408503795 450760073 774864781 151051441 913115855 201365433 669904281 178902247 284532377 131788661 887663681 687528641 801131561 283287545 168370935 9054773 360250053 249637677 9378835 385502299 332978973 88437921 620177879 294321783 406986309 90895501 141881197 180102391 449238203 28349647 609827813 637320811 963443041 206530033 740228411 199951503 520239239 518782493 773655371 563173191 812409571 298513455 793262307 496552349 983006351 93291173 101805747 76907207 14338579 897076901 178301523 121341213 721386333 51504383 368073543 511672101 207789247 95195945 987131891 444280457 987165689 784930373 50136751 689507099 916333359 837104153 409030831 334087639 526911469 71259155 89432341 196839905 59787307 818678349 878118381 864314757 832308549 435138691 598560551 933078325 314386177 976735519 587701659 964231819 666233993 321298989 348183051 832296781 136274295 551895145 92730401 860021349 829305029 248529453 217504621 756713189 432465881 436586629 39579753 639646985 51019137 25133597 826268023 10066743 613197043 622024269 867093471 686062839 379050185 758962197 157550289 779539963 695273483 779316507 228005993 305750819 741174565 974970543 231396519 762766703 624501485 109106377 210898037 339078411 281998753 202499337 181550243 563067465 335288803 827885491 665236715 307349159 730209733 937284791 398725357 412489159 874820537 872131759 842911029 727806579 11667867 159290329 934599217 584095647 670055861 793761563 980812093 637731685 207944623 666316549 642839449 293207563 839822243 787784909 859237743 137340155 205517579 27555157 911105231 399598025 379855821 296859171 881455795 109760303 396434741 582736997 834063867 251188240 719024381 17376245 466608243 489731705 402984509 744519759 812329417 552221339 883759741 433866139 403182745 550842323 896384169 191559083 954384739 327985571 280542741 514432243 242318735 120776887 548651395 882958229 88299121 621680611 503061011 814856277 621659201 863544097 948437589 119139749 703063327 38912661 292612415 270024347 910552087 633671561 46306605 515331575 130161175 612731251 338010339 484371231 431837947 222443243 240224399 541739301 86553217 649088181 810891463 71129021 639328087 116978365 482272649 366167623 959683083 947303703 358296889 675220683 282038805 687742717 602055589 746553593 759511769 241665491 443289345 56091429 450679969 908897317 423632619 90888531 886756251 482565795 508092775 729049639 265090787 703488301 777167845 917722609 160320375 771050945 447714873 750868903 946603333 270591375 75519903 493953515 563393049 910214631 655180221 11417603 150631089 265070405 40218529 510953693 988520875 7369805 245415103 105460755 190407825 780547275 811110391 28330209 88304341 721303729 213866635 821926191 918183633 196387609 982831401 33877647 758171331 317416265 476785383 808035125 974018521 47169449 965068867 281595651 167195423 91907281 612869663 496803453 690899603 531348087 873245901 583188949 566588435 944861313 62704895 101811169 49998441 70993915 274288849 259759905 101596743 904403991 827205325 849086651 217928517 293706543 193829595 163207551 526818535 528859593 637512021 280665829 359305619 116167567 195234805 845739019 525776283 143614549 792084705 602429627 119665723 847306003 468271015 355059295 921076881 821540593 771484731 862227219 503407271 642500149 697746427 829605011 391289967 140235607 914839725 589762377 161873089 732371441 899984765 369613635 768756319 243758533 850271233 983550777 323594997 34217407 986659637 801597833 860519951 467525363 287213697 565285177 251386921 274940315 951271087 734225147 927384485 809670681 24348919 216085031 905413579 529104891 477843955 495522745 295095245 71250163 14643883 185705819 648718787 515764189 577032077 75796569 543647663 128808379 139907947 129539245 895498875 241713851 453784709 566768631 35457785 131210539 288085375 428842107 746475231 982524555 196159589 234259499 432716241 178891389 194130351 135573405 959106133 104659915 693058361 411533585 228347105 710698857 69370697 985297261 474735819 748381043 69207947 11984193 281854295 422482477 94593557 472379845 637413033 213395199 897195107 488186839 568060121 195126655 482959451 948033279 506346203 970195559 403813195 717899373 559934353 529579163 294657257 856826359 824868551 848951845 66095695 510781211 821056557 206696251 540700421 630785539 214811739 164980021 612987383 394855549 763193811 120458647 169266299 299817215 798184959 544420623 227631439 885617579 14293039 399858285 709789079 230895431 440256669 642783661 605783519 826635329 41184105 695356659 28390175 667543473 344731039 273492363 985369011 38922839 913371695 806354149 685082719 963884955 128488177 705804705 489032531 49225353 271315367 133044861 63148833 84138717 751092473 463701353 261346761 268990449 418714491 103757429 568319407 895718863 128826533 469121247 360815777 93977127 865532377 877923847 566473429 817239887 933209949 358915193 307443173 326753607 458534759 809990379 807603161 511030965 481200909 877025591 804570653 3058665 303983953 628499295 805042823 96219099 135348763 856713357 552058451 162857257 901375807 557995033 792952105 401153819 585738613 132757113 707789843 686579873 257993053 288357973 612322439 847486801 181598851 731163507 965434725 513741929 923270229 487060939 586026991 360625619 581984047 176220791 847981781 331644701 457208657 280834233 768095529 915361917 895178723 380813565 756833131 602124757 607474169 735746517 844642943 670665131 627799435 479588095 163850417 156533293 359066233 381360733 447135419 222876211 958803341 925930233 715104437 608976957 827990907 387981831 678378789 829400435 940791255 612485603 397846523 311532705 313270823 735765775 828284299 575151937 239329491 158440247 139313553 867021427 913427497 466538029 142173747 176492027 255812455 772240111 657147135 280129355 795823531 448356511 571364843 318360697 515188479 268371847 961402961 697071941 347256151 792756251 522441721 295360021 939549063 510965239 201050641 13421305 737043029 232431839 707020843 532450985 42010471 129537979 352581445 768834947 236708945 47286177 666100423 953967247 617586057 95966923 614455677 324770939 606706547 591417243 858683033 710680737 913025881 116460449 705520829 618285053 180477545 9858699 425705197 378764345 149146301 611735863 910044051 870059683 93629529 985876137 40144777 621330737 823492131 669442825 575733513 594874245 502244077 124472493 658217145 83491813 386681459 311419663 863791783 355931711 216652371 954496979 739186503 776727339 971560215 908516293 290093689 213586665 822764849 556389333 266335357 473460833 569333753 38256163 549782279 675302431 122569395 386650349 981737511 734632797 456557445 647846307 576029531 415295227 211680385 284982229 586480779 904924285 745621667 462670911 461710081 850865429 461308105 49295301 83114099 946692761 437134013 459899507 376378369 555550855 515197489 177672827 459605805 376208649 325652925 504702263 858138343 583164399 149451747 619519533 730495617 858354603 191402509 495909895 773165755 296535649 111629197 180525463 395245753 539606743 246120089 110810841 607968521 349353853 70750549 35580915 894420127 528729447 607679689 999379499 232078297 462782809 685263845 426315001 431684477 530575029 921386119 161789687 459383221 137888911 316844651 27870439 16940315 999356061 231307837 558689973 972698025 177874491 669987981 165790323 818763719 687776117 260481749 379220319 530066751 218046455 723826807 957564121 112264775 233235481 481756091 863841647 934815871 922729947 258109139 241610195 275415017 354648037 871220439 736943585 987339251 661092483 807073481 292225435 815685235 923271855 385750163 210454061 382113447 506982665 626690565 555418859 831488563 206942421 93116377 308255309 579905059 186729221 953989809 923917051 538683375 340414255 155856915 827230397 382447219 183993489 665821045 719630215 722772725 915199253 155042605 309592693 416754207 464714825 864041853 270993609 56816907 222036069 487292815 544868591 792595507 865197895 90090099 241071994 801907837 590500215 51112995 811029031 558514231 346760483 140374143 154001111 595774997 230585125 123190355 434279573 5128759 88761337 9821773 561851543 942238495 46288585 314120713 130765109 78000827 424945251 303445767 62380275 505981281 819472957 74823601 184803709 934633165 171034489 43407447 567578791 624047911 95990235 184851507 997970283 289057273 76316887 366317157 468536557 956010811 643008639 616760569 649142649 847047239 178057365 389840861 95641471 900231911 532021119 579186669 298966173 848632899 956289359 427027945 233227927 625507317 101199033 669739899 970395733 740239095 470264349 586957361 621276397 20161199 833846403 352552073 683376283 627010025 957488794 679794915 314741695 218969565 378266555 72953477 679641573 277248295 720788193 704443555 292618947 880087245 486361527 560452439 789769521 455520571 387199885 562030753 31556149 5264199 219256405 300405609 696549369 889591085 515115443 82733187 614753487 300442517 166792173 565884327 937154611 210019465 962735859 699771509 338342859 820043903 785157977 43464569 596658269 311838551 711425889 742894881 579145441 891688275 274681331 376930503 170858865 190063649 502102429 254735791 816360013 323200983 321430933 757248001 144788197 301321203 325394621 94134219 136913611 148971609 596742809 886697995 484696759 626865237 982117979 461431711 507242385 69926814 562495451 766451281 445819233 415192403 827639445 76066259 525073497 219683063 25240753 302148287 11558361 736996727 527161855 641210773 538622817 727114791 747431671 207592893 48827805 281142215 890315705 602853001 396126049 173434235 74710793 373729845 416513701 921171409 869932887 507023583 405130641 511659967 496398269 211015569 289002861 290346399 568682745 103110461 592747437 477280313 419955825 316471741 549672685 371970489 993769781 680900303 842389487 364924085 956597501 60897055 456038559 520730923 865189671 678355263 72274193 46903165 88665529 88675493 839393919 527159165 780027495 24552117 744131149 109863259 514260355 788174263 986411781 253302969 293479185 688071133 509428059 639844761 73325491 883599937 619536683 239586155 642970557 634939361 243280503 745348609 924146722 212681897 884051053 907704475 686330759 434444907 258294875 461599453 122294573 251117021 95520449 794446805 154308615 968747939 176931905 168478967 409993133 314888517 636095143 261420833 876641625 484955701 271477731 929987481 598584057 569166027 459560723 700719883 609523223 232579401 753222523 408887949 781447917 571115737 63045507 702247579 467816793 439308941 880185793 20276253 132727781 325935195 692026863 253414749 867909307 546561575 913984497 130136849 646708919 114011321 257492179 717985113 229812311 801528513 299526597 454033591 472008897 811206619 498687783 819665177 355566277 438712201 457864567 10103510 508743129 229532209 378905701 759279529 344466207 871265317 384247745 766976953 21348957 79708319 343257735 920972435 367442689 752097473 190960093 772296235 835817253 119022225 91136521 839247839 345772677 448928261 213699459 913268595 230740363 646329331 955718115 13956119 235506243 778189597 427857135 634883935 476889961 594997549 439539089 435721287 260144471 28223923 932921051 192010805 219086617 355700521 888274187 715666423 785154907 309488113 607550593 78913729 785854837 885371219 421130443 641879859 439843943 832644735 925517211 601382479 828495319 510308241 526350283 949449859 930126101 627004553 111261281 416309413 451621401 349946449 275784071 957267697 529774209 855223225 771453329 341482511 297930903 811460731 833558007 41845257 739416133 938467895 676265057 875889495 633893927 953761145 795283351 638736341 784888955 891627185 785799821 617934279 769234983 907011893 798736735 850612445 279946681 884298827 942328911 772905 642994797 417717787 466651337 93683755 179299615 413840053 255917153 261572039 927125847 653759763 650456527 396687179 907140675 139353621 739115003 161889387 634049981 260393863 407394541 164958789 301054785 801171223 996254937 903185503 587282679 814883681 825695003 546231717 681058481 883604709 652571447 622998893 818992867 899202315 925027797 439985779 245599663 817666343 250003913 548255711 54419929 645549425 287760657 813659707 803189715 403504137 587826127 353926783 447670963 983507963 448171855 675725573 232880953 291079221 385592065 891756181 539912907 878639763 416746371 648035677 316498043 785567445 182926231 763196911 108826109 86580131 507411243 111938635 677148337 423320977 832467023 531263701 370852511 581464597 89210431 550000473 175934839 283611285 880079967 168955407 293708685 640313685 647182649 461331091 588411621 617907337 22955907 619760875 15166499 564464971 320462613 409623683 273681815 528350873 853232629 550805295 454296631 867273313 521216331 371912239 5716645 376062063 460706925 306169129 212719143 425562497 446778327 278892327 125310891 182043701 919393833 378932639 176530635 425823765 953384751 214296433 224243907 615540371 244437727 546283485 477498747 621958153 178741841 981287319 446170245 951887031 322600139 623489455 300396053 781985221 637008055 947452067 243132941 158411845 543534247 445015387 108585713 715409459 816703575 618163233 716525299 390124397 631170988 482417069 859434729 178120893 327474607 526302747 177073491 354127573 443365269 851545583 203432279 701845839 176460217 450936089 699303365 845923241 480486557 749031405 552250901 84865103 802860525 922595879 197146469 990276499 343545211 800334317 557736829 960142507 744564293 421877451 580478925 368767675 45219691 609374907 789962347 668099531 171133755 954858261 118757141 842969549 570144295 417162145 787900981 672971673 767676875 359240587 332660697 966705139 768929769 686453353 630596793 514111617 938444653 934701879 646585649 683969749 505582953 186534747 589240397 14430057 90419739 670011813 857087673 715454111 877688293 974631749 513604559 176643519 551417937 277984989 36433547 218785786 952674579 325267311 370421397 122518379 535280903 839974249 425916735 783412243 370986799 985651107 841801853 501880537 648429495 514107479 345684977 544776335 13339891 70328873 100204511 557873903 442859613 399070507 824942137 635899803 905130391 9862607 509624213 628599579 769821553 983001587 477590579 587532255 562095321 569410013 590665977 25823045 614697453 274974521 291912311 804603017 852652783 219419163 3074533 812333527 535743307 224605187 690649121 766821182 618402965 826105047 684202163 268012475 485738887 210934753 464689867 660634156 959517957 598010583 385729085 315798107 515251483 901149401 592049805 625746939 998007289 951694697 895974879 612362659 786743549 184087413 782458883 757578709 593546667 453471827 219539823 464997371 296688811 889509569 804432965 433048933 913460435 226284001 300027723 458503757 621335071 625593413 409269487 589112021 557490863 116673247 812422729 310311939 412003279 86239755 895553049 199083725 392354549 606895251 433664455 466723081 120367288 301357215 139424862 971180665 66966497 688463561 184972701 531593669 284601429 443810059 634459355 42760577 723070509 592137675 50145315 674244389 818563743 108511959 596783909 963157523 547682065 530928739 868308023 193502353 986840591 248322573 880593241 854316757 912278603 96302555 352513841 825738229 103780255 785545529 82394127 215616755 411280401 820528637 992900331 978057655 712531147 140036965 522779747 278384149 847255839 798764819 368851903 8978117 413879691 493891095 840795119 240034407 700803247 987492839 234760327 52299911 334463065 643496799 312696011 49784467 948423291 481721795 203667615 598118631 309172271 242981313 330140051 518186947 201387707 149578865 960992733 302586959 128297097 70801997 647579999 235650462 431183917 515400761 112262301 808868779 90272609 821890695 94220235 770584147 225302535 417026537 219769275 939777635 532927789 206854781 349844719 335857288 315290117 173173449 820893839 42417249 553082603 530139833 146551143 801265001 417237601 385032353 112552689 647907855 747949587 524407363 974167629 350032031 720811989 387249599 904365887 351972439 939377825 551893157 817781561 859591765 267959193 679063787 274073681 747914917 893026571 692689899 339205701 794489653 248510827 9803117 732649857 697167071 111885393 139243677 703324175 815515750 946817409 302967057 657118377 527927667 738905063 666167239 342764461 75260823 300899991 348983843 547586083 871497545 68683211 890245873 155299001 122975981 450629607 553296233 565774025 398810573 90171509 76801063 625903951 301028119 188224811 667391023 141756405 847964389 340428001 836035569 15754249 822178619 225058971 707547713 995610497 252424959 685962887 316132699 362254335 181555973 9436403 646021093 371849673 574814467 675690337 752240109 41817805 509878429 699566959 85458407 244295587 670132315 945580009 658423729 609183371 855309487 833591237 511190929 708364906 856508659 669370651 877560627 324741589 155383397 56514097 363564717 880360445 231586097 632193647 318876541 307830723 814968169 528477035 896739205 439050929 866785795 293257697 709914133 928784371 828559843 931910321 847972579 465117535 314027217 468669415 390231819 802466937 440316031 306993081 761192977 628160357 59726725 133446527 269999845 4230131 81290341 483219135 176006873 459421339 651092617 504904739 581540525 34058107 901399363 526641789 144766341 627898715 697500873 953252811 957044717 401655467 589858111 85961773 665773277 716113535 262510509 105546993 710908595 510464923 894119173 859974025 66564655 547883361 878892319 656237199 127157635 870911717 713231805 848729801 359708995 176273885 226774409 647934497 704829803 391038885 690089747 91172521 891070051 296647753 568347605 545487263 193685493 336227701 931986737 898053733 778423383 174465 827716463 964286339 477133609 986876525 439809729 805120947 991488109 510978273 66438207 402463433 257020305 462566185 80847595 507204813 603861611 664394303 849570991 328958185 939719737 320356547 827137883 139789937 935364767 895502841 139181993 867776991 860518569 555410643 204557883 901812693 673505231 602627813 66068119 383104545 843468013 791810931 186540083 413033143 287102279 202727521 767761253 101037231 380425613 10002751 364913775 783774029 468842195 128440901 872879739 927106813 916979093 121499473 776358041 651794003 80363193 802306795 821321923 75255561 556975245 655944001 443264217 594003713 920011717 501931309 469046695 434036555 745999487 551473963 310879197 275358485 678951745 549099109 335993619 606460605 908653559 181817769 964352715 104850629 400981751 577472109 302262637 913603291 667141631 673446355 426382669 742158031 610432817 273594783 918299043 492438429 83667999 164727107 813196687 977301609 312386745 69927639 357487389 941228925 461653089 473482775 163739709 890225999 690586841 829326187 65082821 543339383 39466321 428124899 374336123 841894841 118232923 194969913 685666823 460609795 89706999 934298823 208133625 470513253 297458825 531566743 547577545 831101979 488722399 815652697 805128413 832814729 743080237 701571171 722091897 696291131 121074961 427126963 256800723 5081057 386710673 894815219 343213055 35600731 768795161 695186801 121627651 747237543 438154879 513931045 475200711 788514805 610361343 825104045 424413977 806789012 680317759 703091281 239573175 303072005 123146829 836716543 906903359 633757669 487293855 973449809 647850301 335884035 179339535 10341251 947319071 794177873 180828903 653514367 37310017 813524713 314618063 29467603 142242273 450156049 841325279 167717045 43884077 196009011 560687253 274232839 696104241 18968801 48764885 167887693 553860587 415986905 596786155 215688121 41966905 438923003 833289359 405179169 133465317 66552661 829417181 677281029 173267619 608467481 86990937 856780685 267410183 572947619 785745907 502259845 148829847 52365941 148694783 172712039 718699193 658656827 128845369 343448913 851562689 68996807 453547719 808179213 573638373 688958487 231706423 588317957 997620553 664761419 309894781 767667541 338917621 221740209 169495289 996327355 29692635 465514173 465949549 203809181 437452501 608963333 761468423 31882763 945069729 173980241 166339421 479102653 928121069 497995917 786598763 335551759 804862533 192453575 891250841 455403789 962127909 887639359 928657585 662789221 876490223 631165527 176107499 395280747 701363693 758549913 40336355 278993441 123912779 169397689 799671965 440923951 722211881 169101459 477085065 81125603 495693443 878613547 273324153 16427059 283370309 649609129 528317613 875256769 22189121 70291555 883255753 170880721 971657773 848337619 931994843 788237909 544981933 880070045 158081879 952374243 383658569 513147531 120296475 986785467 960844147 927159185 255505005 203910341 529244547 784529869 581294841 218236301 230603451 210747005 334928085 112687437 148059205 113190927 231726205 669150179 642323763 333195543 680786647 131825623 96022395 663995217 186659889 971264345 40448257 645033117 258419521 235976511 862696589 428163079 312566819 569217033 369614543 154154181 601391451 746404573 572743525 943807279 937887959 803201675 964265419 48529867 270307053 178035337 58094701 919895105 115053403 327134201 521812379 20754023 755266629 933105313 828281999 838802233 169379639 91627503 935290987 738682839 104179753 323147773 214015287 759004303 673260663 81552519 508061923 396009937 269591527 265481207 57086027 726584637 287619493 159758937 819000369 72298131 259179845 877737577 551646777 303115965 607261127 912386689 16799225 14404307 50677905 221968301 237806057 374759179 539108461 118826649 810404971 88575949 615464593 523406493 942382791 197591711 164418459 623919289 458054701 726038329 472856721 317618835 342748857 901598837 951372255 613614459 526090859 509809493 494497885 532325737 199186989 994561029 535834691 202110459 66472143 421288663 766491707 960635769 75761163 43782985 826634319 570929619 469537667 361309435 572462327 845775263 696668093 883739835 3323407 168159003 591853871 6730619 546549211 943330097 625161519 196385111 23838219 150723183 198442751 208017 641303217 421342221 482545863 536624789 137716557 235367657 826040475 312710903 838986691 510261387 519973235 416142449 5455201 377441313 995755055 812928485 567568347 751137155 559582875 226393443 598388303 695328307 68017253 136539929 486931523 976448083 474092073 32519781 434294435 817371063 831761511 341384393 421579461 537202899 297394313 907186417 925634917 148700617 489858013 9463729 813669803 324675933 444334241 112363267 543248929 341144577 161620723 624715019 528126909 349921483 783640031 663724307 845131487 84927611 665953875 494257807 400852553 626136183 592953387 833609243 202661929 339290577 835854631 795019387 940555031 793427005 999232495 392679319 200368395 70766875 294415127 831448453 337757807 184090227 290193941 401397119 567822095 938591219 718870607 535449833 800219423 782671349 828723721 436165711 902395453 232200823 891963767 961625697 526405229 636431391 835419059 875011837 137530655 40262461 17288637 632986663 970829863 960494279 706688381 113472777 136107713 877506911 791578311 450167029 961182867 867751499 868461649 94026343 913441963 392078457 966485695 123861507 913652863 840732545 169463195 786700693 271064297 35005605 4824659 968809229 131841841 240042951 796023617 478235019 823745539 832132731 721714345 702718541 441710197 536312053 340594097 525152707 62874885 329025815 411390829 212326013 710414487 647968613 790806483 927674425 675762551 353535505 301576391 374611159 321960029 854527985 124582161 183125861 87027045 463798661 880472419 940012821 583546131 475789299 27735895 51689537 561790807 222905355 154286699 362585967 550378627 670021957 113178891 445234249 2888791 462897343 815765385 9960608 808124663 163725889 388363547 282066805 75274737 641749819 817581285 726645221 759447865 363335619 549793519 557503551 990787117 177604503 40600363 736081653 170520723 583475489 782302321 135343523 661774743 867455087 321919877 847194123 682382543 942088759 237533197 574643481 411251513 811498715 90383259 191847905 959574071 534768993 616264363 815325851 776010905 38958199 474324889 361669551 251445141 227733879 1898931 881251493 492728261 33304925 153701417 250746673 777356851 760634321 506218259 840378927 726602055 613896741 185888373 685130401 354985433 848802893 650897717 33024179 414065703 55636971 239092261 878960313 958685397 33374019 702982911 6674989 27393009 588768839 25828709 393207475 919692783 65283469 789296607 820685589 838824109 502424917 923849439 703483463 19371119 168426629 611197373 75840101 634421989 237179821 582993851 341770675 563671075 372374021 678938371 731363737 547882917 922196587 165810597 831577005 926227793 109829735 572498075 163435177 551783541 389739817 432615623 354256753 535211719 454238341 524170737 555243535 448206689 600763391 235902921 974547641 619988939 317480891 23482603 967201991 110123763 473407369 896685527 718367677 427246635 545886687 521926647 278201416 958657073 157453023 908602523 545704251 587165229 315491151 463513597 446097039 937618089 775809437 197461055 684595817 602091165 379503329 38319207 52200981 560730213 123184603 279620459 850519299 440440005 393480691 191424289 12490707 760237037 322276917 971314507 174796611 745229425 183062107 249514131 869886275 810693197 882987461 11446665 191602147 666734567 195706999 603792295 922631775 847530765 620243491 507449933 639669277 768763891 586975519 960331207 924059043 320826423 885672811 76578371 466905001 578743775 5755309 733319901 511127561 684478551 84411957 729914517 786396867 682113909 112714235 974488915 807808263 415072885 402068893 769474795 529097765 659199743 142345315 517839381 743306395 270781469 253968701 401909107 20140809 334797639 948161471 453671051 194666301 505521495 629624109 845645521 54125865 421380503 689723755 28901535 630558697 798088367 122070023 390955061 429982399 815276983 367665981 99721917 59931159 649766189 644172521 59007301 515612291 562579957 90901393 601820619 627035585 120358493 449832809 981628973 677625777 51147545 264635203 823981879 134630753 330780743 431719841 227402135 280703493 950497387 574144937 334480617 55019507 915819381 327627821 765547691 360370611 37390777 882610337 590452043 866627313 187473139 600460327 74197783 122058107 608239947 490515075 830147911 595118161 737577547 883558183 919696639 15285909 495280105 44846121 255044169 579099793 618829701 680521031 441393939 849504953 885957857 39330029 155402295 771991721 523502891 161799973 632980089 302417955 667592697 979500199 121816447 461878805 816319561 909892055 776241885 511486861 605753725 108645303 102326539 598294219 57143399 515129591 308853865 3930673 464372793 305564401 220259905 502849867 472831377 566794913 59547077 820727753 912094579 279838641 40615693 761019017 781584975 204351855 59010589 662672527 180941559 496563153 622270427 340462083 826479531 973244025 19886363 533524795 823125265 754940843 878125459 538804657 132837169 29546843 742063847 232495369 978649223 499319322 883860895 307940367 414968555 338507309 725005356 836356019 770669733 932565111 405244907 279720467 667593569 982323083 381537815 429490035 680564021 765097117 329852125 778191675 891567005 920046733 484118607 435715843 549798017 375125221 784746851 788994433 462246187 391169231 161107197 733110171 13228883 257717799 695274725 128555869 551639571 300630635 434139341 394943735 477352181 633409473 977471309 992797641 18838753 379147769 918759657 142439763 538507057 145537931 494383367 668838463 825272477 282412181 436812025 783972709 818094671 153032159 212832505 183246011 771886291 982856665 336938281 573311079 794923293 367971735 990403217 978842037 82442123 551616987 463604259 328242711 973598947 549847565 446373303 407791145 336229713 304984379 933754639 915050157 735329643 296828699 506036949 636433293 622422829 33386767 36317081 756942049 646539517 925952285 980872919 935484895 934878889 608656115 397706731 240917487 890811495 194754793 634190115 558191513 882346961 193201407 247070895 740348305 935192303 341642205 272446887 536782771 713383215 453523919 944625933 723901953 923071075 632921551 747280587 860134823 807677897 857625723 536298161 755806199 149388041 325832477 44805497 342789999 11257647 4731551 679128005 104575665 36843951 789284509 642987805 418393479 593703781 566431317 819028209 178815973 952565659 543670189 895253917 227598055 275564283 94062133 907228513 531677135 463231129 878695461 520486759 474856201 312671477 431105371 626488511 317821737 313531637 726430303 30756195 110839273 158733025 162624863 62359861 169537837 667496821 478997813 377895675 288326143 17382601 671465053 320612715 903419283 838896997 472406529 701836315 418455621 566174517 927723759 785635469 554276505 201415311 8826013 930002729 80696375 878047535 755062317 359129155 148237045 703987005 672836450 103418642 779122125 754339395 338854833 6367419 988322275 390662713 346647343 85786433 663222147 73112187 202643865 626292891 404067101 812560077 962464599 767059357 208847439 623829087 200109177 47289101 455283933 904217283 525305271 438858899 72151470 269251321 220572529 306842047 279977435 543299685 457727659 851621643 177165213 200645589 239247383 472721623 718103893 520317565 431887115 662378093 337581711 893260539 750144645 358292737 963909889 922709589 474037807 69059751 193753987 662306037 415926103 579380581 533518107 593672629 692785141 273608739 103244275 477608145 4868007 132343217 449350749 727682795 543976629 94330823 737040341 391190035 306045197 209248777 907857407 240762047 69663561 656665345 914872231 3093705 284281253 543402269 574384575 714100345 125026059 222676409 934314081 955703677 532976649 906490387 586997203 995304423 527774165 398902361 92261247 229575477 456490321 795404953 294896375 502380367 727826945 607435211 21005561 965920641 306278167 396431059 288162405 859115903 710974569 827896187 661015881 392580711 146274679 426443633 699278295 571332029 742125161 562343759 492110187 548515953 237484811 948187033 89327495 460386261 415694807 172723637 205401303 494220459 760967403 220210423 20526637 952023571 343357201 429305237 764652935 405728413 795729587 48547763 398678279 309984061 830106861 545005659 102692855 616199249 94137469 568160378 469058507 182710943 991482057 847171053 971253535 42261075 645790433 62823541 406493877 57262083 677077115 401416889 328817785 822878637 766158585 155515211 758294655 985756085 985464417 235640743 83975169 949237223 147498083 491369771 595207777 906620027 569425747 133597217 22421551 457687819 561916723 618632379 395847705 316535713 980554923 303784465 400357373 873515941 891213321 218214181 970235869 601175793 325321283 53050851 995027685 238345407 216777723 189689879 298700393 645595829 762529909 900564093 898452707 794904031 489293987 203492279 871753463 387324855 882833947 521523021 736287343 538445589 316601373 795991729 478262593 314197823 377605265 858963515 996224133 440082149 976377603 885687854 995281791 725390107 644941741 185915827 295145117 604660831 420957293 622044633 63594095 850200979 832621003 606007963 947975345 380559623 626559991 753183707 212607303 15185777 371593671 409008737 768448317 21448427 986725305 947273439 854011331 187041789 905104119 706140397 24730425 432360085 928034895 618704909 176381981 682945285 56896313 368426665 263557663 733559565 215411411 559212305 428542223 787935439 833900773 373569663 55373801 735251933 623929053 779536405 707868113 985451561 979443413 884107739 399111443 650802449 510166665 388995009 557044769 166705241 258266721 645602981 896695445 416894769 431242863 787242307 360353845 345475373 718805863 269857093 580164587 886810441 500332459 612629057 224175305 257481963 759479871 807248043 275896077 276418785 407770581 531300581 484302615 804556385 645538245 341541435 289949301 195337733 162307337 708572125 849579225 795066581 706912591 912203747 445743901 268053309 834445281 237750863 425996871 257138707 897990329 929612297 27355777 212278677 635707765 297416165 198371871 741220453 841306205 341761947 396847769 532632725 805915489 536498381 209840023 768910485 712130839 538344961 901296097 697269831 452174269 923698093 608346219 224187887 768740925 544801575 675599185 642229559 310320421 706965937 756067541 672598073 934439341 397052275 299816547 565952623 185324211 811201153 667349389 705789887 653974975 56702419 807783185 543646069 51673599 470870091 907828689 92639563 565461323 532908462 736737751 116750937 993592613 443427763 677703511 515370535 465628079 73265393 238903725 578227617 214574269 511990761 146433115 879424027 191732419 302375941 302725647 286656087 873780707 940706453 989898647 56293237 216764129 416256977 201103091 169170437 82993711 677745119 876734021 784390397 465554147 122336707 123058903 960470713 259734461 539093617 575571999 319037437 950475811 259704771 943152821 983516919 336279845 3271033 948434269 368629821 529491067 5038651 171555333 209994701 940628357 401266333 906938045 176537099 639177287 679321623 181036225 141233861 206149233 877707273 98229621 469558831 525758045 169580221 691054435 16585703 723632137 403918437 826345793 793849329 31981595 165412891 69846759 442836413 5385953 684944607 18090073 426434847 537834839 785584281 788415173 753717587 666229273 842831645 944332667 891830783 852077679 742891809 816268535 302432305 406948679 437181257 665489373 974521693 751650873 28744479 987657721 252680291 274076805 704384529 166385469 837357701 532126739 999663737 781008579 565518961 202351217 399343259 178147793 762179389 15858645 843432349 385761487 578837863 388133919 730332307 755461205 152500177 333684185 292739443 405931033 926759629 471801135 278168097 50573315 579131149 622564601 207858533 508410137 109617325 105734583 541317617 487950995 343771191 671128719 438826847 667294411 173147539 327002705 84591405 76909633 283857179 407933557 579088327 68766373 286017161 373740569 379808127 672890825 902057987 460765957 952315275 404017829 361899287 329052841 527658255 434190945 750689721 520354587 570013203 835371845 711923015 394480153 648430217 305017285 266789767 153794573 605944651 404908411 847837093 610668805 791289110 201940525 54755127 352712119 902580121 140629189 258680633 310002821 48766561 859911767 95467795 315091573 178241515 676779805 605238671 772037685 996213397 882708857 196374501 399528223 555938217 272463609 260166319 696994351 765596247 214839121 385965301 705990925 336507581 684539735 629372197 969390859 410872023 957927957 526365713 278210077 813029265 56099249 877920761 864552421 361290683 952590463 24694145 733012135 765939983 13177341 359238837 309895253 128991023 76816333 198309901 486261637 497844899 174409913 391086949 219044983 296548829 86256055 298120451 659666449 930847797 727572191 643054739 59330275 98459885 768993397 619430955 810993701 580557871 444288485 284271943 282973365 9419787 932018883 446307789 233652763 226605435 796239305 346239243 859607943 662070113 619313115 483997367 388719821 499102597 989133573 231324651 971950449 352542615 670113142 315376687 870148503 670311475 304512143 998686319 381264655 64481241 528340945 293730305 91976271 194192371 424945125 664916899 645300601 387365329 616624545 369553529 167911761 844491693 91399935 154719503 516365899 746432425 914405410 264914525 397171065 160272077 856946265 395683519 430725021 558907401 108140307 588240633 511160863 927265593 682351851 55664955 803299851 857703965 730694823 309437463 404638491 532607327 28394031 644559757 459394223 493848975 463004569 190867969 685816011 479013415 978320417 363071809 797262113 601275527 454405415 52717955 164040711 848646395 526413624 402724961 863499133 940816817 992602375 291067875 191303209 872302533 92226673 273765749 386968155 655529015 20476791 398893292 32557835 215182065 763982149 771815303 537498839 6510017 549641517 825735401 486617863 657296229 559659947 226194467 671092363 608755325 719228261 9378981 812105975 531850895 250019363 592578897 867922319 999202065 605818329 843678057 549886007 894896215 6390689 748485021 128973437 56502439 696032449 826117887 105774749 428956457 310266275 240581647 551341171 522006251 56275675 379800497 525828229 672752107 571295265 221745 721597189 199620615 314235741 996595271 575385803 519826955 380343191 240037905 909691475 3573413 188919299 211297807 453863109 889378161 206971645 620742195 37686515 871052783 825767687 838756049 28055633 82186375 181099981 678928293 758059007 463489933 319923491 61691093 975308743 639352887 683665409 976805359 677705493 715634091 668775823 300728041 440030721 808800749 668877845 166856989 699285577 421647089 562194441 874004051 401747031 978092433 222614785 582985145 845651515 685932171 13584583 256828129 975571111 11238797 957554241 345924297 474845695 599106595 731227781 455228633 780561737 560079563 40575949 41053149 896463669 375660003 812162685 685226247 621293849 151104693 878157343 741255929 992590835 121788531 755712615 584934071 552722797 144172343 246607411 857738411 954413781 232837887 766302337 618276783 841791009 993441975 343868799 402894333 844042995 208906033 792601473 20947515 129416591 709920803 9773057 923956343 803788263 277903153 585948323 214092581 455705235 369907429 32372275 980737573 535594447 790588843 345245091 223124407 299269251 205979875 894097165 185189263 799338305 512661961 965632181 613724091 508979005 813275273 259554825 591727551 70676823 634354485 394517145 549412731 21370137 186690243 42322209 168268353 885989293 175851543 358412423 67198913 230868719 920441081 939119825 854976285 715266653 36779291 565255223 258259927 555707933 301026580 90977809 421796575 22508543 305705323 349190117 482415495 328795259 57073539 25239133 803494543 834724271 885437103 742870603 821520155 484988515 300937513 664541613 75420601 562563845 782126867 805680291 550533981 862503087 243007861 512321659 633008229 484053533 207710017 596619429 136207767 863519417 718820431 937786817 166013213 747166609 674979425 510028943 510241681 157569627 687811105 743089915 127657709 259289209 928960545 245405975 433602969 57756657 179217879 626591265 419229535 87341169 523338917 696740729 991971957 238858321 935230167 360251309 600085115 662183825 845203101 146921839 672351091 926926039 56061711 892939419 838375627 352597109 96481071 269197107 431707737 225881439 809680103 904776803 261019995 94798389 197126663 649074559 274850165 963428929 73550153 581982465 510304179 878656109 482072399 705577355 753645453 605183061 494034337 889418987 494355423 210736951 900933551 938245395 927641583 959567609 857570261 735154975 46903911 668114219 762423891 834051667 690846305 152744453 914149459 331705111 537621591 334351205 735129829 887295999 945360175 760584659 534419971 819188937 424372535 784132477 375912335 765032791 185840931 987706685 578278991 526835379 382499091 554150799 950035705 9955859 42124681 120668061 783531811 904584655 508410483 606352949 501517903 961709163 421958183 76396237 383333607 472326549 606161505 948686471 638315321 135976731 392340297 343122215 689224323 622356479 234507881 388880927 565708261 130224479 420338617 291558279 283433829 866960263 117496979 703546651 750272249 304134379 809380545 809258819 400168311 957530921 770625899 678717967 702261665 787746303 859381291 927918135 937008927 2836061 950412795 43265051 672219525 691784531 656885313 115484351 386036043 777855773 688684489 199829205 935183569 540489247 961556939 431287731 179149667 348333541 423373538 729867351 965122095 128029727 323267607 812909675 325896017 817196973 247099347 478044477 253422791 277086605 980468461 942851269 765080959 992815087 317134241 51503777 39340615 757919523 282993303 304688921 543463639 458649255 941560281 555905051 31754453 893821979 585333725 218789441 356753605 960332365 434306691 676319687 419563291 272185901 379406861 731845015 761673521 198280155 797731881 703528509 498343495 806554519 655034093 512700661 755567749 588156109 605612503 852694169 516810751 951487247 582863563 994848949 273327531 51418393 714400533 620446837 993453677 780608977 175329901 446508977 728028687 958966079 578413039 130928617 76219967 630787991 82761505 306305861 879406487 597399091 411738351 526783377 222735515 512095385 146739373 109629255 25082033 555757939 496531227 534969989 466300717 750619541 75151197 750739987 399225925 88244985 406799873 22026337 420389405 744101313 352450557 343325829 161312703 894207803 335890859 810254655 541542425 129644761 450078675 160353269 50684165 987047223 703827617 451076535 620148807 104538391 53430955 715846203 398986373 927286372 142330351 11895011 369707089 612870453 609559759 741811125 439591 505779393 784163101 337377887 32308837 927740013 254009097 697811259 708862549 73617603 374089781 382345285 859072297 698473079 355231907 11738663 614236153 417042789 90695619 31986479 491536329 793813391 488839015 358436435 552010879 601996323 902754511 37602357 158744045 617269361 859322783 353701913 600885453 735702773 870394085 601441009 689800129 154522195 100770837 435853395 234358865 422742613 197199885 979037055 627532783 435989231 614030867 892937309 638251251 840149821 940404947 74402425 649139617 827203203 991902563 468220941 6927647 51982633 798103615 33377527 874147455 429073861 271952463 393593791 812437435 85637651 186147293 751125653 731281589 192612339 347018655 271472207 62386229 337717361 587720117 638967659 924873965 483664579 250138273 962116371 993345653 949749569 769966161 194400277 25675343 272855153 600900893 707160041 355621605 25305595 464701629 970242989 309815943 948735413 121529691 243459881 673623151 177298075 851511939 984724427 314778047 256824269 124966953 314570667 602037887 874388889 28076459 780714123 654433953 663259759 456362701 215574221 836483837 377250287 741518015 396181637 828710997 715926999 589822229 545359463 937190483 108761879 116741323 328095957 784719495 494798017 711624519 163945171 724098411 938423053 33371479 955280659 15232351 244993633 859119663 714837227 137988527 802761801 863692399 325230427 61044107 66157175 112747289 346022923 856903435 540921799 231697563 50927687 720379441 866129211 93265867 367758857 901122021 794648319 752150245 118110959 689399035 27735397 387534993 315948865 372582699 412715499 138466009 800388335 735128087 826381873 739922997 386988687 355570247 4344069 261202049 190073951 664999467 422422361 658371585 236881737 186051871 601945929 919880293 269768155 10918499 259896087 485197759 541656397 633222177 40520239 685056399 78986365 834871911 527781925 266764729 956937969 780301363 97689011 521074059 116527069 392179301 330360763 764139193 513967378 519935171 138502219 953655393 810745365 218355459 683223959 749258249 150171915 304861113 453069045 954397341 666614723 508773227 340370927 849858931 895186099 258983809 978342187 232247623 283256315 218164555 862044031 862284609 911758949 839943937 348441317 175631339 378726493 832078537 813728129 732156477 813916923 741696423 668018333 598520977 4929279 562695825 155798957 699021231 250048975 264333659 515871565 779566021 264712315 94962123 79124033 533477733 823119035 551882887 122307697 653577359 321486831 254613539 251822067 566863783 29273627 549624855 164730369 465500793 491898095 513173955 979518463 488432957 303701701 56674673 486281337 792251279 892736411 730034517 246428191 407019893 581589525 821775491 598640335 397423195 828318855 330932737 865105549 405182997 103990759 143286197 637798529 679643107 518723283 521422707 197848577 250105195 802026643 312416241 692389257 43662263 684717077 49203157 956882873 36298301 443252977 30189219 793988189 20345307 824208999 872886223 57919339 990926807 25477215 783124401 372176381 690061535 687916135 495445645 777788243 816656389 8915125 612742025 952357341 62327751 559765289 919436217 530632235 395088653 33763917 357623059 973012987 132253217 808782413 57889147 234962733 901027259 561325569 207706043 362696911 148256759 798232041 367293569 761680913 281953625 683842347 76805479 941118803 452404689 536181911 11322863 455919381 644012467 618268069 848518277 160214275 322398393 52414835 479073141 263393519 928615183 300319177 71329275 704808407 454421563 261737495 118877497 26679003 393497145 241203313 800469303 356062793 494086241 816941723 279492583 72575635 949711995 975653113 397670947 837384533 155622323 88394651 691439785 8799825 858473885 928376119 586235173 935758451 789678907 727622703 868901161 921693901 723613677 543942537 950368043 270678941 383086213 838975475 234242447 1648453 612284979 181509317 723071389 931154255 999802265 408303361 240868997 923493231 276724665 905950793 730972261 30796417 9144065 430063601 6692665 596712839 538125385 368270317 449716205 9479853 731475403 898182621 573359953 39645767 570090539 616414731 809350943 922077647 432598395 344335971 969305849 398688489 769702445 686465405 511405927 268797023 641696287 360459161 253273819 371357477 242347927 517079453 624511149 355451223 224518209 978945049 301864479 423543607 16473137 849135173 980139355 848231987 551529703 122282751 362170993 427164123 791128137 953828815 636109403 264471787 675975073 222777317 278019579 890400839 941721253 496576277 109840665 316482553 553401973 431087843 986095461 28565045 798613651 59392371 835241339 857223257 355823597 530173587 854484445 604643811 615800793 679964863 47789551 313168259 178767125 720326675 806711047 686377481 929411267 508681557 598653789 351704945 360077173 211124473 235844371 845419487 373807133 165297169 118782769 138399389 407111447 655736671 90169511 580902689 273838893 3177547 419425105 950772227 985644167 479487969 497746671 359521289 936434111 425092571 529271339 328841501 347590351 47733145 9744277 919071057 324061725 574398239 571002535 722232289 21231479 470297631 6724801 702475825 524306193 192216815 191987247 517636301 173843593 114420622 193239327 589000295 517687781 818612389 809501357 660367577 215223953 759908481 451298777 140914217 158943331 780682779 260106893 792424833 485296281 485974545 621352089 103279667 810102485 858129323 409501365 822207677 718694951 307475417 255393671 492081599 136182789 660047407 193744019 687040263 525748555 200790513 668233039 824253575 85748029 967488257 695134225 951978331 278139017 651884787 556070681 728952005 893216327 974880765 82850197 152432945 631393519 978711549 719295635 291249457 341719403 814756729 448526347 114908803 231617031 6711971 632866275 591420679 481363319 448260691 507582687 430975947 898874841 589689605 284936115 313411073 224924595 54953953 249824249 466390533 282624241 801313721 450976561 406656601 91683815 41432577 788521923 126910633 857714263 578740185 374829059 254503625 474466913 90592011 797891367 209476019 382882197 580338945 858245205 276158091 734972905 167438807 10577809 495609243 302526647 263187787 178338511 763100503 406591431 808302531 170737897 562974043 956912709 700074831 640812189 675051369 467238855 669951143 674205081 243877485 396839755 931674153 443571049 653452667 916227125 886621405 947005067 572322509 767880017 662847347 977031005 325588679 36797399 794138943 776168745 652390131 421194851 293131077 273123617 472748295 991410681 600503593 976734047 940095451 687148809 305145913 891989985 832702579 477877351 559989361 665587093 527615741 999834703 971747693 120154951 130802121 490896231 41227635 303637683 787540563 343457213 849211509 192529787 603684927 296673733 267481355 5050409 916416599 58150749 463135601 949516587 12165009 286141643 569695375 377805787 48899077 874637755 466686199 739740539 654676985 783781443 642207709 255382071 130380501 127050209 339220513 449815067 612830255 79208055 686008651 367811619 274336963 499588437 770765451 281170225 823913841 286078001 941132215 38642445 911529031 713719847 771851855 488861545 462302581 914998971 720601209 13298399 375957083 275370205 917166085 305963501 675609719 980675551 813273963 794578943 929196665 806301825 981551817 373555301 612791089 322098151 205869799 539928411 71983773 660378781 251532339 925242109 321317085 302810523 739700167 942292057 907566911 349450047 546364511 589726815 182330677 496522313 405885285 561028839 136335705 105987307 172780519 223407029 249488497 359408569 692738459 519467373 545658983 802584239 743761891 297862311 219768143 821849651 266631365 24411863 364446817 252067861 695637487 361422177 976108805 453616261 563404729 764889739 325281219 618697509 694172195 630600331 73256783 68274167 586350035 914807927 524344707 712917609 588856091 396279121 819783783 258483281 941843183 845898499 434134817 865226477 879227887 911803229 774753541 643612641 854686563 369362203 245135505 955457081 383455803 829229785 587740775 478538093 524038669 654767141 374688849 226754649 427610137 940735599 82905667 899276865 163436101 854255631 139018073 878412245 503511073 492386119 821339349 982419497 630532581 675596095 291428643 859329977 569517423 726612747 487712983 890113387 824015687 579307171 143002539 234609549 428758427 310818281 827739011 772327635 135390533 439887269 729578345 395532123 365199553 879965319 209217169 438367659 678723897 423280683 392757079 981087663 861908857 384944145 629927999 714979261 153109757 147797155 284802801 332610962 275516129 641506353 406238531 531011411 716810987 813637109 616532527 277740687 634668685 50845967 390485209 810783543 414526941 141757323 775112587 731393709 834841755 909477207 796117691 994080947 556055343 619209551 358926849 999462009 739857317 185563187 724464419 448693137 477755575 128444843 261571849 616712443 416042181 264234315 399264457 186716699 758832851 981724043 399902365 7398847 701205907 214927051 921065193 160111899 391015001 55175255 653236025 550020301 37545001 982276957 986047295 603437531 781721767 590158841 159411157 974996657 990037795 333232683 265659393 876997157 272180117 821123803 527893995 853201011 782238619 456693981 427331563 408750657 411561853 820408809 107478903 402182557 70965545 98853279 324831285 95184125 814089529 685145737 500001521 594501691 30044137 294276889 258077853 704914335 816086051 174421161 31242067 584478935 572797555 809300089 978947417 22147573 542118933 405996209 165932057 635724409 931764707 514778469 307269925 165315143 157559657 718078347 18769723 692815531 96611795 489683977 932359483 997874525 758278905 873941155 630795571 210457465 476336731 883866893 637306197 492614275 883906079 920093665 726205181 102620011 403336215 496703901 72678317 471145861 127886007 30676397 645713425 306255757 66593311 245796707 930010875 358762153 792298775 282671351 753682025 257848167 437328399 642646153 880427132 936154299 155841053 229423395 908445313 24964869 623390209 473381303 84116457 781155591 507792161 622338589 256007505 945198831 934669965 963798553 422656379 180510035 221127675 78265425 811791443 207386671 346749133 496897369 248553453 811606507 8566025 417040039 898692481 619662417 694503517 671463327 219730551 880434585 722963747 461212809 166439767 178919263 621524311 79832983 895492823 71518631 144443811 321923553 802251471 11599329 291366485 244815979 367702339 783614943 273566307 280855323 621634911 616707809 415280237 962241475 672632951 906625163 299315133 336185119 729420549 226581483 630436671 578595275 192196013 354075765 145399947 719519061 699666489 367825671 318123745 733750573 491409567 303230695 891063847 716839853 71738359 547641537 334877167 672779539 435925381 725075883 313684077 95130251 57861559 660451873 355270529 322449189 257644829 210118921 153093043 270828763 208587123 193690289 253252915 3179919 460439709 901014991 61020375 141305353 776236453 804799101 930846493 282719483 427166657 922338117 572599087 866494461 766250825 297973775 255539163 619914385 640728771 257439539 672584857 915286817 221578713 858897007 894236807 270805501 820915293 552203239 594141549 857325665 678461771 100895527 554129081 91604841 654438855 153253415 437368451 978236707 997440541 61285955 700631181 318439807 920344767 152110401 485543737 284528469 788113223 909749325 290219675 370612583 614134651 397823739 303690599 612554079 847489093 259042891 220435967 783487181 639219383 312307107 860191591 690605611 949199629 265553869 433427025 284613083 221939629 411188223 362293267 815006499 300980255 187957975 83424685 600327993 343734295 201717595 404726983 593920051 210417775 174509559 362519725 163454995 417409069 41212801 308533081 404325827 837422971 59579959 766033513 535632915 723832491 666395325 631028261 752361149 669826875 101227807 628952189 379794273 764245709 110002133 74703879 794926219 161255979 816643259 695763201 243784361 810417225 446556181 860698709 248901399 700730689 651781011 360226961 351612181 210981721 350025543 944026349 764582093 582637053 903233713 145153095 30864975 581313211 304508341 17821733 396031123 677787219 848581025 690288571 937863807 515724711 139673129 92965083 279330775 870995649 292383339 683356423 513808977 507027925 308201453 424027751 980953731 913434175 999562139 78018249 116141293 794823553 236537547 870747811 203530493 870022727 52504633 658647061 678709249 835355493 398699277 180669417 523703859 289474261 765428177 578332299 444570035 982982843 511434107 994367251 93369227 841846369 464714859 38457409 900564655 761203005 242813795 672038267 300803827 602783207 190867601 39657937 466718749 350669091 511089805 549187835 557967061 934157533 703100751 7974999 23532969 418725161 787878721 57604591 642515991 139409219 26336303 318164845 207491965 360219273 169188429 68066605 335153191 177689485 98124601 920245035 625557059 31054077 471347959 945550865 481901291 693785785 602855670 997496365 4026147 731109567 556430605 816755831 91492049 222808127 608019573 692407693 689409993 276452489 966840021 883609781 780346051 32356377 385117499 560309987 138007135 171413395 523414813 919823785 200319015 212340931 554877269 498863689 368622477 145574299 450327339 962793131 115754731 57496885 552172363 760693339 222094463 222016215 85172427 886902165 252175733 138332393 251162665 93807155 183930079 365849091 873089097 487584449 361106099 281169883 361866103 572257131 797832405 854385239 644296811 607312137 433563151 206383235 466680129 296893977 449282831 794554769 9106045 108835783 604003183 210997211 345802255 733880541 558125747 991301607 983727177 964400853 637206849 745055583 970973931 630696653 730359659 140667415 914146329 13203085 403971181 248259846 876212577 110367621 970996581 252352343 626921655 233693129 432489565 572441935 63797625 713705245 607073095 825343331 601610093 926873573 282598651 522953517 625380287 937304625 467653690 281609331 960421893 103766199 467022513 218098719 256683837 317258201 519793135 10272069 162316489 774804125 634892395 815106591 334944633 612355505 501273225 749648143 490948739 794601581 687094673 901629859 259794049 27388883 434180789 155764108 815388285 410674053 926815245 492368809 78505183 325569239 812128155 778622201 78784639 366268349 40475209 143701931 109056411 554651607 596653287 65158669 306675415 598308719 527932721 662517151 875396673 886312049 142551235 92003843 609073229 810884981 715796011 790808579 131278553 599423673 562826201 620759699 210275369 603425065 572045605 444661199 703485421 797502287 375154513 175540731 786486841 597896805 50181767 886712447 476451465 258858313 288586455 405345009 554378947 578580867 497233211 951022091 281001525 546320449 476720789 474065073 594644117 43921245 995435693 737365229 109327101 224297045 897831733 874147573 889820405 929347405 920281285 942081569 379060075 783370777 500475359 929481205 57877425 823484719 17489389 58726687 909919877 774630061 633695807 74997871 963476239 758109017 815719183 561080801 337384409 509560743 955963517 366586265 999487963 712267433 554408341 388589795 180829553 396547873 816052549 606163759 498730847 897096309 771932009 818442525 321064405 496994743 306598337 745501035 992658791 469114523 346615031 879553033 492796945 502889091 198526363 633070855 414746681 384809843 860406055 240783267 717788589 272256285 117112059 855231805 665819297 161788375 724920675 843504739 332083379 49364897 649343119 14065605 594230761 916754721 931862421 508195651 110417839 691668135 276576123 884654813 620658139 805331243 900316713 463359420 420482473 804400971 306115439 25553723 413592769 312311887 439045639 661048269 525951021 677913381 557662865 521110043 669323621 837046119 936189593 273143787 46614339 31624787 421470093 681912629 295816977 134902221 159730633 923266835 160952695 231959913 161097611 258155207 77500301 936339293 365569537 550150333 979123153 295787909 574692409 877712263 542470439 876932717 14343725 29742819 875129309 342123585 968141245 94123699 751520935 529312731 225342387 235319297 160960931 47447991 162372801 558876161 12455765 981360893 677122689 332016911 958284717 391367807 59673715 124406189 140018943 56434097 895514367 370685831 154631431 194280371 364762233 446790767 642721261 167182415 83946009 587071843 649123131 91191023 26773759 405806469 327000807 437450671 572347701 552735 51845713 931392077 614950061 358426789 805790523 735791407 97690177 814848435 805152467 352704101 113733297 881552397 704428207 838101159 588725669 390008987 101886413 105136211 278641327 330342515 887950735 40558705 923174987 121168847 882118343 605967793 135379671 865816851 142082215 616883047 279248285 58761673 112020429 679273111 999437263 221207461 616894781 712575205 784541575 924133251 611058535 775109535 815879875 748562023 88525085 18059969 690081393 602631289 632010399 464033767 296004445 114308111 474454673 985997655 363030853 271565987 429330177 701700355 141086663 899268057 210633317 19385731 435872109 397875837 196872343 734522131 30842537 78956927 446598111 486985883 731290835 708665599 659584489 605975725 594533679 375781691 171210955 96012413 589437411 154317731 324844033 595625707 995022593 68408263 313770867 267198335 844465029 407535715 606282347 522635625 783899211 145711195 47602849 765201023 799508771 434765243 831796527 605928513 842104759 859115701 106783647 582289621 396678823 445892259 486635737 967646219 803501167 873707275 826361399 720616539 342184571 837342359 353985649 756142563 368222747 64469529 85856433 215339883 28562315 679389069 720519555 519368545 346999015 898590489 951640539 438014175 249457469 467700227 757330967 46429857 322104189 201575363 867131645 144258577 478055295 764007155 645631161 478820413 635342087 117140053 239204321 768174299 739338427 143427029 749896817 350727501 381388589 462849413 389906639 145222551 607680471 807326371 619621065 195106157 14822427 430755983 518801045 341116705 447670337 868489175 336598989 700094133 128311417 918468909 467626617 459565263 705949151 363905645 109405191 761315265 132027253 582925209 890960457 468283007 987764511 429384669 194815613 648202153 791545525 207618701 596574795 755551367 135552747 651254817 175598783 743477769 525486179 325464897 276215629 259687877 23052969 821487029 951588561 910895355 746400045 944128881 75950229 527516561 25490503 724301201 534953795 961539351 847908409 522440535 878234095 982966725 408479277 87549745 434717977 676939641 995071795 587344301 702317479 255072443 131001157 513371275 129384417 83122105 245328963 652151213 894184579 628354381 981710585 536821277 29768101 680345075 611349525 594807569 348190159 151545045 983928115 801704161 561669869 577829055 751034835 870750225 484575573 911379757 119000671 13920333 796720323 567841593 985501479 728286569 846864223 424206511 425671013 295789151 236577459 456333563 892752441 627926611 611628215 114840629 552598447 960161681 760940231 694413853 836558261 256538249 278666407 550994203 549300519 84113625 179755911 490516795 284138181 389854789 359166713 10530615 430924855 507453877 759821821 334494061 401705745 745046591 211864567 600479975 580168139 680491551 483721141 894803023 744430277 711122357 637437035 52637953 345596235 287557773 821358775 533334523 776025227 377269853 949103517 439672035 39686305 953233405 648520077 401177353 597335949 505542259 621078363 628570213 211702327 9343977 740779845 263458965 226260851 202750129 526307309 60732897 628921081 851904583 691430243 626344503 116902505 44644433 394815517 640815665 347788877 921355157 794108917 788014603 295195929 483453195 647817011 189294255 451356705 978635981 221514627 771430569 850475691 102950173 187698941 666875189 394031837 870648677 617537817 93332269 563381963 639483709 963042241 404565021 877144941 494856027 581811265 211910961 243172259 58996903 105514061 962724929 614235959 816326953 693154051 608489677 389496283 782311189 870170087 510022907 786928169 407395269 7592425 831921309 953545375 52767423 526166107 232369191 815753899 641450669 443685375 98636729 376455065 238473827 319725045 187828251 477884839 325229017 631987405 571494333 185453811 235324215 21235067 456944565 200987783 337948613 260199005 71620289 237032789 448672503 818586681 369888331 836994869 299469673 546302267 772406625 320021483 695259613 625069561 297994683 348418077 140984383 420228209 625605815 347311199 918482083 50906375 258758237 277181479 340092483 540420999 151267419 811185369 481250947 37990953 895933707 595532477 186413549 450460295 109484649 727635461 206153525 810060971 698190623 874044873 788376631 426698749 729647481 996256525 138399989 553963095 688897139 90002359 445184669 954723571 266454695 591782809 548604541 418850679 756343137 600222575 847911189 632096495 321272717 25464279 388342535 400840405 955506371 713076827 974735391 911523841 566426179 263386219 676369485 658678713 325122547 55040613 206299823 335180461 657808741 647148677 960927881 815894001 621154509 482317303 575987267 468243969 516906507 61598155 496934003 168899525 679664039 818110461 858494163 823511943 469374417 246616169 181929287 384523775 548084575 835587549 664019675 697186119 258226383 42402569 897738943 832729575 151588683 158749573 682526547 372688333 456168865 674366163 711437077 766209867 155266377 532964189 108938165 945918497 939300193 119232373 395242755 917399153 746445745 463625809 333125115 416839117 541427111 960091923 828824003 9362471 456675675 75377095 640235169 186503389 898372239 473401437 405334797 456401843 74652581 234471341 860614817 72417753 869646001 259256441 469841693 225410275 248615527 193061483 95702897 207301581 191018281 337816851 299554989 608030716 180542971 837159147 424767759 608422465 744476047 472434773 865403639 452534223 860045115 957419159 880125427 416806209 348261375 872560871 632197045 376516511 462867329 659942747 647461145 908049237 517978899 115306997 957487391 559303481 548494505 790085535 447504887 370435977 876058083 216695593 493106163 400181479 282168073 714534477 98210443 39805285 776276491 416088235 175714663 973967731 458986879 203508943 639002959 784602867 941484451 659050791 253406007 767094313 922054497 852442383 98286395 701324991 673623367 500928455 69378461 998397135 261685389 23883129 929050057 347279827 253772305 984347189 625827155 104186801 854400857 10180341 419360499 556625845 250096025 234890393 69951889 896464281 978633379 970790637 604610357 237888629 756005881 989517215 973359635 952955855 202675651 794000715 517642119 210732695 551255501 457295985 552248085 482720801 820956819 890918009 554015589 267718443 392051759 29518007 580568397 251695831 734252397 446676835 537252551 731292085 31800505 395420829 572932597 82363067 735804715 808874353 486385703 955960901 769740163 965663437 148244683 523770135 423878439 54041229 683933823 596321631 28428583 815107183 618125829 737195443 42966843 61110049 295438667 871324689 924267712 117222191 370337377 537826013 957965249 578903063 551227011 309453797 847538155 653461815 540851989 994115933 941248405 638041307 78945441 33134307 917599421 307010865 698956253 82339451 512675853 3053909 118246049 720950677 402381267 402297413 233430771 607861765 773671687 849396207 644236795 804841223 813477447 329356319 135302927 604092993 382455513 470496659 325119659 625110721 958588337 218030825 892517743 800051195 235975265 335459243 180962087 118504655 881306155 589493579 940551625 543655039 835932407 667417635 712018541 216202169 192034897 859765361 830180441 159225235 219185269 964358499 258106359 352590987 18988349 738079237 618804185 150065539 452598069 730051669 351427515 847014605 269489287 56118321 843597187 516288795 586446353 793840739 569156151 38173833 587519563 587719581 731391247 384512929 430435427 973199735 95287397 910159435 43657507 988906357 515518139 826715361 298614277 29668349 609533885 773123357 240362535 691102049 5573949 474936101 340300625 498227421 628763193 680325767 485254899 104921999 569005521 150780727 118269729 357915521 416730195 796877459 63038367 304457381 410159153 475264609 184764625 205976019 902497543 426015693 913687751 76819405 25168535 705950317 354857015 142569533 107137485 801553725 364947843 311223989 938593211 11291557 510831537 182334891 615511711 26980463 404509551 819718531 987036379 754847955 220495381 512187269 518645241 459644779 405370019 642509539 870576045 726560575 689424065 631557045 681589459 469146301 764403645 426722301 680793197 546415287 210964877 55785125 750590631 725887341 19962833 563476607 714927573 15539587 275859155 634477889 993693041 315558661 881772669 483739279 880904477 520793707 72913261 859138799 707929513 571291537 659909083 712597207 375790083 909937853 679921333 712674205 711469641 704115611 136610949 440024707 194590397 849694785 186452613 14398387 263126733 647112235 972713363 323505983 553866247 500581695 586963255 805686301 137238315 781712075 777692831 136868655 925122843 530054275 877765029 85386817 861921763 731681159 256924101 447994115 680404403 358790489 335241513 737505805 198533097 864892647 164999071 356738529 135244809 832137607 754757535 148642281 647934139 268087287 89730375 285048693 633090261 758420827 797782365 483865791 223540307 819120191 761664083 496542695 615125845 811648411 407243073 89630201 90509095 823297995 191234787 490295269 719225663 126719891 519968929 780291459 935352885 680059683 291534733 151656597 513494223 144037133 932225883 133036483 129628405 191911761 569167725 579972001 687311039 212381267 60397511 438449575 261538147 947494369 435016731 395041591 623258695 19800111 75534015 661368983 518199287 156242141 968680371 415073789 247810853 266389485 976081821 207228543 449000875 441295053 850551501 829433629 689158031 502683985 913596475 285715909 158989307 672536763 639617669 512793157 382201409 857488555 535821555 308978519 334935263 716079155 117332595 320448923 799815797 673495235 766490271 905326237 476258513 135994173 653242035 297075147 219679205 331663075 193285273 188744577 145117899 452238949 870747103 732955647 593952969 209701589 670095037 608394349 186614345 841719475 121233679 763741663 754253279 665234659 350191457 506618957 327785285 811474353 405927391 643948951 398250077 915444693 515809123 862927495 373387317 589517163 978317417 136831441 318405119 193941753 818951705 4436233 970853911 294477419 152566085 550985141 581282047 917540887 155538785 127939643 937903203 949265849 146521485 281172207 255983639 233065847 65579921 916848393 60143381 598385375 410507997 242126249 206991487 477143015 68456839 45176537 456704677 72045033 281138511 934449803 605077493 375596205 951456923 474001305 188036621 66412897 568866171 241453251 757504175 194130327 905668775 762493361 294277831 12987980 119476861 884416503 865292649 89731819 266173445 199875595 992563919 830317629 508474351 463053393 293175645 172722037 609936783 724522515 824016541 891573045 822266857 966483583 379117637 185990785 759228575 266077615 811940653 842055107 292931333 663416231 621727833 848291797 44184337 246955341 220478967 14644977 96839263 748256115 787768919 863292861 270443323 10958293 41177333 390396999 255989649 309286417 325494645 460856579 924811259 248702641 983842465 99322321 902893237 932023335 916116847 993425649 393255591 385527243 999729655 155150869 548367457 968539873 418168959 447963473 879950109 107557263 394501743 602352675 539008949 394751463 149069661 367435885 124376499 312873701 363528197 168995713 789569095 272285031 169069895 558678799 259637063 491390263 238585647 212618809 933935667 636620807 160835571 944182913 466318641 972793967 68884203 852090071 677447185 151715569 335753117 803509389 564455243 855820023 976111283 326575715 89315581 396747731 68127487 809532797 685435375 865596347 161601663 168191081 596444815 756767443 546065747 526453787 847250935 206088739 745003209 732914929 812774115 568646299 120365651 471577519 576522429 163863577 1361035 394040965 451701395 256650329 438357559 935171591 189464091 855560711 395559233 842093617 935070903 219960755 946377659 477166955 37904491 909670103 820487395 777406335 389484777 646657749 10501659 559237795 122530953 17625077 124559853 912970359 680811847 374991975 901804813 26166525 456026571 816431433 584650581 509786019 538279015 642946967 115697867 978495551 73573903 35369277 41646233 54501903 548560739 578795019 722959379 105859767 541586347 225619643 280252339 478079811 584096727 25914349 511224347 861558571 747125629 514834221 826396953 931085643 133278685 526920171 93368481 24991465 893480157 340623999 177145803 679851695 813551117 681325355 957217755 430180279 590505381 545620249 103778109 351416955 95412099 865351513 142854789 14826465 511721005 445533669 471965549 279861303 775132119 626985629 685519831 848695345 223230291 103121997 127550675 309707759 75321125 764753315 550779791 502221811 203327089 787030075 168886889 76780075 697803269 402416533 406058467 83629805 604516189 492037659 795735979 138841589 837822355 466969117 503496081 537080171 616257139 654209237 374134417 454520025 233991017 240989027 881240015 223203895 100310669 997733331 234711445 171891423 30334367 794735635 352365657 967131803 620683527 144727295 583011251 540664467 576406225 83530071 268072295 116022369 191124919 801814725 48876643 102495999 341968919 634536663 841564087 451661267 954673915 901692427 215520671 52594089 203531533 656685249 651372159 615500729 868164521 644274239 765922787 956378271 768868813 892503993 490817915 674804577 546472223 851429193 391893031 18977387 529510639 714566383 464320743 601746067 840203061 407295379 88728549 575477269 312392079 940739593 359908215 416754073 567956549 91858441 442085657 317611305 467477317 519886643 85927531 159944507 391716135 862610451 901429818 445099951 203884077 431243543 890666875 916149959 654864185 711572377 175832645 931970609 100905695 743565021 518999775 841714691 597040213 362491145 64927411 668810171 326961783 897974833 746012499 441080125 753639633 856815949 281670013 821912021 733930639 901529917 706300433 483995451 377174921 108608459 605055773 329401483 953378111 354378409 590560979 325997899 458987479 282946673 658229391 33731685 965336355 177740705 494819795 566154035 595935639 545281959 188507979 207953007 912619859 325331919 286491593 894899007 699299615 673558103 657599307 671761969 64961899 339079005 697740785 986935867 265984333 707525099 375260937 747025847 462824835 835394803 159642631 435213165 585300343 609775183 827676033 415720329 390963255 335056829 187469889 62072993 341968763 965852649 133768749 763932339 712387745 569380197 815542617 606600225 665930673 561510311 566582019 23114429 520445017 494976019 713334925 508455095 758220019 265491697 557784705 177062321 317406075 917463155 849701779 666364845 693013147 777163187 659025823 689286683 254367903 195658671 252917417 449239757 582353539 189608531 343382489 781768451 267647713 798847345 191304837 257543265 10414341 126878655 511721767 454541813 778679259 15162337 215819363 366010675 870457595 822450527 195233283 99560697 897144229 314853803 271874045 478788237 566467007 622202653 409331049 67886235 694932187 14516215 12007819 444901944 130829101 772141411 699621073 959298019 256565909 6373491 914699211 301792897 491525019 949548317 867477557 186524253 957968495 499066181 343051763 34576429 678203877 643578289 650371087 238167569 257093249 594291991 569882559 2390667 593476967 541480205 266607451 931312009 868633959 632806167 87245673 240860515 408514553 633943451 823440785 805865937 297461819 352278763 962513835 662570749 800993779 450575425 786006189 732779123 727761557 839604415 168484285 683559975 891396659 204403819 25442087 659932023 762270351 83052859 965068635 211952167 40592401 991299077 574357497 57652583 61580999 820307338 886820033 948502731 335464295 447171447 231087773 932544335 944984659 707162969 169134757 677866073 29182095 224858539 592248591 688395959 841908429 310661839 26676291 905639837 608886371 338957325 994569159 89357227 219131473 893310101 129703763 753738211 280155709 873071235 474309569 474072755 35866489 175479255 492669971 395422961 215310841 947983227 695560821 998914265 616112477 265920575 449495865 79535891 875571181 672409053 746624477 872571817 8441241 919143413 665313793 16574227 214510325 287265555 414995059 286604077 950694469 338825127 873612837 447638075 763063917 807243015 759152435 153951213 430538749 589599865 833860575 471039573 434900525 874072613 313725845 15335155 574278105 948747803 869273065 259490219 826112653 318972245 944532373 26367947 153470327 871505587 829269883 831352583 718496363 233365505 69103531 622752381 625515755 397712621 26080339 863380403 530250527 436459539 443859153 674854293 990852307 116718067 894335655 201613689 558931587 477075957 855728257 877535771 525755977 557777773 187521331 887815843 753582321 7106195 416807095 976533403 969503463 864318343 2208049 63420411 997325123 339861845 854431723 658074653 515695301 101665515 723571289 654852809 943200467 208971813 109827351 605024301 846607997 546245313 916419817 107916507 580360571 799644525 724540855 440812755 454932267 465523383 119675799 916864633 433580949 519301655 357944771 390501273 901831273 903622385 522450335 744992363 63718397 870737295 366023095 705246859 894699599 769762335 349764283 994724863 413577737 472693181 915507337 233655859 591660921 975547239 519080229 328449787 883372951 438248203 643139001 254691735 549416705 82161781 849175447 322894253 225341181 766048355 599236411 302075975 504926847 624729971 703632713 511797979 225160985 453093679 176818061 291017799 554801677 633913609 834435575 18108881 127715139 688872795 842013607 866118695 52779079 670858341 451312091 399229019 616419157 182111567 114492163 813982443 55513671 976018219 237124527 439768767 848050599 139594741 126483869 177966113 988639653 280288139 719138989 454548425 905547031 478360247 150646765 596790227 65973373 693617195 785411727 609121475 653612287 916016511 222272237 492743817 519781737 747440183 930320781 295663479 224031541 211958457 240406553 177722701 483506561 97716569 327891043 337848369 202363925 482981197 961354089 919814571 476066399 140532665 365143115 14705079 602744441 178140325 751858519 710294957 142694945 394744323 433740543 883708245 755803580 592406699 656132831 667068379 363767643 715946849 543763129 500662483 816847799 381334987 160428409 667688255 3974445 383031163 348772915 879292031 656207557 833664235 69846815 984071013 288535341 741673597 864589989 805820193 261011901 373107577 116955213 737446997 102917493 130581777 317301707 255490563 792360957 492466013 502126587 812758169 85258913 578673759 710559199 39602927 739579229 666638593 610364323 707257149 401791947 725752853 333088155 118035501 264306743 652872017 135194945 961906123 114873483 597685849 798056505 9749131 917026659 716671413 587504461 673193035 804606205 651257813 997906801 229239633 79645247 327282709 710350529 730950983 917366203 807076791 769915265 117281863 665648805 164905185 920993049 480755659 962964445 241003429 610359583 633491899 406815979 897953533 625113165 149200737 974929149 795495369 20436871 826202227 674286573 368558037 9843927 824904209 595221303 877208273 981131379 256727997 321209605 679886165 233772467 540528229 469005093 657054179 794074139 192935263 757219343 887626213 897160281 662981481 707913183 637891243 860558653 550590373 398710625 701850735 193796802 298529445 308386049 438296913 180500239 489017691 909833689 295715421 265869165 501229091 928574117 935926403 556931917 800451015 309426381 18850203 182576975 842557551 230419811 918394727 108491825 56494773 500396571 626868367 717074403 17946771 520557141 92961191 454547061 525788783 364638747 276741671 460847395 486510615 181419801 422734705 597524819 957960127 4635047 445450699 77432203 395435269 582780867 245676395 228072067 638707695 546310169 312994151 775428629 160120809 715955955 269223617 410986561 702649033 193982283 207357793 329920567 995846605 838977983 813882651 137419079 293782167 54408087 692928679 983005167 877840439 721425345 888245413 792018639 273643555 92926423 708572321 243668405 355602743 58972949 393462281 538689171 120354487 325971301 401711929 303672965 815320913 289271381 13400177 585376461 821065757 446027293 585808601 196375511 196234643 585319065 210260357 877537333 324790429 332760661 591449197 140641189 281106311 636097405 706803057 660601863 219203845 344251113 619197277 365829225 148792117 718797595 8746207 676564479 329180829 761604405 193582481 762025247 877703977 738149897 958620919 319297617 427319085 11159825 381405049 725385537 971904107 917940583 630279013 493522877 622551299 176854229 545098745 333660869 283722373 858153163 653864019 847059323 235030245 459744607 551102077 976155177 988104067 171077713 220188779 708742467 848144417 222542343 424788721 422906981 80430061 45485201 870281429 197126993 162079357 238049447 673518525 615779061 553413327 688875687 50033469 490353247 130323527 186237849 9037771 404591055 427803569 263595565 913174987 758441894 170816069 45438903 705853063 591433586 68776607 291820859 130465069 725533923 824330691 799661659 667582935 796746965 131446305 77686379 43180681 518757965 445697677 466543969 396622377 571442547 802709827 387905241 899664267 956599965 139015401 399226143 61753957 315964229 683751309 586683423 11496539 196441359 851714979 128748145 910255093 1539783 485996297 111322709 482112933 876065117 934145541 279918771 450569411 57461999 165365315 95339543 992491667 122275777 124196313 515184573 153071931 725160765 667268165 868486783 833140941 301997813 903183209 215065575 588877893 13597093 218187413 638638373 163742849 790469681 86463359 211198479 514103627 813513381 679729987 481350181 462848597 730426673 777887077 126374797 544680503 142575925 688874707 370198039 585274227 993625137 64932069 867460155 680321907 750920399 663466581 903739415 695990153 533734375 959668809 207296115 39208427 382372719 86572877 652881341 735262397 391925133 517072473 815927055 24601863 991383949 673110473 862828837 562447291 45862625 302318179 739280233 294341809 788835877 430630483 707007209 314467755 786786843 284067375 471746395 435635539 829483181 771803635 950649377 222776377 444135923 662257669 7640895 901989335 771756325 450371125 630269031 138635663 776631717 416955571 329529329 98741673 918766593 336161057 637187545 195177047 841483499 728820609 185702599 804032177 829038143 105559361 518761741 438203833 855561215 539221047 154743711 138617177 482291543 300214177 436694813 965666145 156317081 922432291 369765071 612677771 50106179 520951241 710556581 785587065 138521335 718363915 709226293 857146289 37216383 975232453 908221631 799813289 861956559 664430907 633567785 759967415 893244931 778484253 301216003 982664221 974702173 58924415 312962435 469513221 483702089 347245021 844625803 22034815 682768219 552997917 162506657 778936453 850904141 456176781 712566261 792750327 632404995 702060001 36388699 703494561 22415751 328254519 945992279 610928435 871251981 50195477 539554827 315048773 832139761 693816679 165521227 834079065 538632119 506173571 785315213 162515415 886810887 918429991 926786541 53409043 620748215 457177973 914228791 457303621 86220992 284108031 577952727 826013837 317771593 764431285 991382757 189134327 470730651 981216505 230936353 457294961 579738151 911230093 532366579 120541911 936763531 421923745 44263015 780748777 483533451 235442631 735634487 239769425 844421391 367490047 733543105 272508575 31446317 35504557 734635279 768162379 932624673 349474207 470292939 264553147 602143051 777551113 528836689 425453875 943730487 383619721 83660191 356318441 585101979 496107301 382478683 793160177 507713103 8507721 524822741 343832657 438749017 217072075 264942597 288447217 476976099 782068455 635686025 852053151 823838271 612022595 248987303 433620249 696584169 438333165 489098835 493518333 181860485 793914971 441977375 235043799 7570143 498166631 600595535 189810965 140663273 927499865 674527685 184739603 578333629 330968287 63214869 89618191 46001313 775762699 563329395 603490103 332548095 796719709 41321409 412247959 244871019 612222137 503968645 652800813 840428957 794277227 200060909 352489687 480301437 511055403 497938641 415212639 726739217 643256853 176226737 429204343 715468433 620853421 355831475 990027449 717125975 207730915 358293929 292490917 90591973 913866251 962413831 264610979 153582055 709284577 490576109 218707975 343771951 370956427 747021347 267934471 964357307 41248151 977272089 94302151 285279917 613527289 71738597 491133775 512411727 1970961 745145413 141823121 853870357 503876257 780566179 805474663 370999707 803698135 646044941 645218703 353316003 328277321 347543867 249798581 718599705 230614258 461979787 503011947 321528337 117567293 703112453 70803751 655539141 972559345 374690391 834739021 387333783 534883655 851321563 685012773 115751703 748102363 185898637 575392481 54422003 446375089 328814615 409186715 817423625 409965625 815242693 310898769 328583259 906680645 931860115 900409583 417021205 73388309 146595611 386128711 265443979 754564429 997343913 709399055 689157431 582164731 628031017 2762219 548511677 14794131 244351795 373647971 538640359 613267955 713673991 995605225 190152107 740954465 277786507 558506453 597169697 810109577 918113359 115609961 318579343 23728255 923680139 167227599 623565661 631310789 114584351 371040537 758053665 453773627 267800463 391491645 957076885 403564337 755981581 147819039 400095389 18914397 148645485 575229831 76070725 571861209 442928691 969018149 947267261 581054255 83104131 557400727 86524261 260860231 128100141 340037465 70933947 563956601 575060137 293701079 160367983 758960515 220115221 467126881 402571857 574834057 429378615 656609329 460664669 221386007 442033539 100862057 721148855 114897445 131780875 547606801 25030059 208092687 450462353 640810521 924853163 911663259 970737277 329428573 190354257 25320693 511734493 891036829 570382947 493349041 109501543 382576771 963065803 558553807 606580093 261559199 653467 651210932 729394979 154924651 927922449 739903277 337542155 222734665 916786573 52725613 401600395 134379393 569000861 933638163 717985443 89095747 385113331 537342501 735920889 650377642 465089129 614850063 554360799 482235833 191056133 528539815 957294409 49011543 172902129 890434603 522013399 584530261 799444609 706707775 726992081 449356653 664714541 116873199 699536679 834551105 675774621 341679283 324470893 273675095 46651801 333590887 686597863 881077797 41533717 445381711 246486393 522843905 219727149 52922137 252582067 919190317 374547491 978623965 694387147 8294097 730509667 444260373 745534883 449868801 528638079 834426279 61310913 548312500 475286069 468135393 578063187 974676173 699196263 151243383 288219187 235788565 54484511 621218439 136979933 287544891 609051281 620361623 851914875 420918491 880176665 418620051 490241497 277860725 983160377 476738769 307855987 486710129 222754207 761986317 341279331 389769251 326949657 893217901 419733621 303749059 252281511 703948673 741430549 252108401 459243627 585577273 447575899 608299321 787827119 977002487 104847365 361795849 133064169 568267901 446476927 860586941 881154481 176772345 160994259 707399957 819196875 588664835 386059195 700810169 550946853 284063123 754339733 117895741 809299663 33304083 427798377 545899543 825847557 464743759 104912615 470905005 895982635 434678139 608199269 776845891 703289547 154026037 382090209 999252749 331379611 954196865 857197573 277765157 848532595 913367247 173387551 2744971 34555223 496205811 303653415 588849191 140438389 942154793 166682041 160585419 373228573 155619095 587316001 41143603 685319115 133429195 594504011 453438973 487681315 792638907 121862097 469164723 377389041 625093569 931784175 950109897 748492839 21915429 679812495 158507155 322530527 36590227 584595517 816232023 105273695 566625569 519314483 988442939 731461137 483734349 462308177 342208593 288054151 177107963 362104347 665897877 37430141 595174775 356589251 447565541 586598361 405658745 82012191 916177163 61438881 106777885 307989167 857858233 160799757 943243751 843589529 94784905 219347319 970505415 225559983 157885689 777722977 734416399 473317989 489749877 253085813 965385599 611522267 618216783 928097163 639812411 741303513 316284349 789209241 938180817 992600013 47520739 149774023 38129205 77366737 365902281 989403229 949674181 991194787 141154145 871581135 439459911 287616679 686625155 515189943 807891431 113123313 240383219 542706395 270806331 445068599 370880855 497458981 176814911 119348951 934416961 754271913 895715675 63900630 300166699 713757089 542186585 235989227 870447991 413468783 156282225 427523941 163203437 612211361 341872445 270636615 794347839 984547819 947800775 128495929 806997253 737144099 741031543 917275527 687657155 54095187 596680997 669713709 643000671 604782753 777427215 706273221 86245803 305952609 325963993 870368153 406486881 495519505 331784849 180863129 19916835 396770643 170759339 376748891 746069113 687466737 678123269 766523423 327478995 558119649 475188195 264328651 64645775 977702203 408150773 60863217 777874665 481186371 740554319 36004547 255097869 204857189 624821613 399045671 695535627 432961077 546799669 397576351 949613533 285929325 533543413 914653531 340333669 904758769 468834915 510692405 484000105 561075661 982343321 444020905 237192863 711151921 703239711 332414177 739366045 995769723 202463713 19017899 875323877 187660335 523279159 653026431 579277793 382653429 785725145 140894329 519017953 838203811 626657265 161071461 577468959 856246067 568343305 679585199 891623613 670247115 401800985 478621297 94631617 867979185 740186237 565745255 266423073 226443613 42064889 592520441 283113395 210104935 597523389 519168313 593827385 924270485 105508957 398316763 755350365 381439183 373082581 741624639 77401519 597982763 583783051 991721071 475545767 685892837 230616141 674054167 892991915 488615517 732393807 900655759 282050305 355514657 387825455 3107797 657161945 874609635 517130227 827342997 815974479 300768893 48328967 66765081 874915427 667469045 49778753 744030299 405081341 187525237 476537053 848807673 80480241 767009871 293569155 153699899 854459383 974590719 968772157 944734990 56900527 790706987 833948547 530191119 142253221 692601499 976706351 652213623 928662599 320975171 510631561 144435249 878561009 154363453 425128511 779529419 393486051 842222799 92137827 755173755 149736773 852564323 310169205 946969123 239093035 186153613 264570969 624269129 934931597 420046341 455189341 19253019 525917003 56056755 10409013 541074545 803590193 92145311 282389759 83856331 868999661 137023997 209054783 584093777 906892827 983113257 235101157 911939791 845973561 120587685 722750021 876607169 851004085 228928029 482515227 759931201 319330267 518607205 957144719 292215321 516683497 831183989 48635947 694624953 522127613 364701301 599966181 600535863 161835043 831900589 277384477 289028947 735387209 216774291 835954069 76169587 724469321 720220351 776874619 368018855 436461799 85603317 4840805 790573223 90259913 192589601 685151569 698343633 855077507 428536663 28544417 525065517 600668043 833530577 720098087 252953193 987512647 583223795 349294869 844827615 278381307 686729799 772685833 229502602 806435291 210342785 897667847 3651607 397091839 201323647 290792063 997749201 264268651 436920383 919076163 942489009 319112965 827730159 591811475 933300563 361002913 725702883 722974739 199707395 219172597 684292503 578467025 49796269 902859941 954839723 657897539 144075497 468139321 658574059 298548291 323015159 168502563 500129101 746596633 770500799 36471741 136850409 604835441 757921741 258401349 597455619 880898145 771151451 778863335 389299209 346899557 454007113 255096245 795394187 325795941 898702875 488317861 159735109 545082283 717812739 465622427 445110557 308179439 885998807 446447455 69174809 637570123 503331351 142310563 802198641 607885897 298068969 694216703 605899645 613617361 720228381 457574391 949145283 804731195 622618923 561554416 158008557 825584709 10616113 733006143 251642573 712357651 381099767 238090267 726098017 79489075 518022891 282302119 334154697 712805017 893072935 165684715 160151635 873284771 785884519 536601305 504330609 822129431 660097557 153388361 16543165 834813473 501470525 214912253 607418877 960855125 720094363 697250975 184747035 121076661 72478603 849360063 38431273 104702625 577787923 94967001 397735781 705125609 140299749 474005065 730179887 984310467 913676121 605456221 505411093 295034313 989186667 215456837 67330761 381533699 668627395 346145817 81189671 259055839 772095409 276122587 129395505 171278895 210361647 208178549 492375059 216022321 570023127 113703607 872915745 258536845 595005939 141187163 431690453 482908751 876886899 609390339 680213457 672091371 901115629 256379959 41490915 526126653 118475679 893689703 51542781 672177551 990478197 252869871 867264059 604753803 25054713 74577167 475139297 825394501 760992611 193876209 611031383 279637309 593571221 89452453 564777009 589947479 536740629 87755045 482305837 599298785 693136915 821388115 239543341 382785937 64583011 691239157 100916795 229526145 868092297 590570689 940276877 902609977 174237095 290567757 999755131 888702117 35251857 609414939 999391625 105089563 236769212 145658259 132753509 976351319 846893639 481237513 71352797 214404481 59004411 83454389 735991539 68843299 517633605 497902009 496857285 575389493 486830397 378381339 190374815 334539539 634225827 838297297 905111541 13928577 933669597 131544239 295804261 172307631 949862397 632169083 801803693 123030831 539137207 812733917 22613437 516793089 513844587 284627557 127640229 461568393 203397921 540163725 128214689 120397205 417484425 710063797 714211861 354594393 66671865 573445159 45156492 932651635 268575601 4054039 729625529 898382055 416954775 512147609 554175097 428671013 675478715 913847219 426095051 565641985 620391124 625122893 5519327 315010999 110820225 631227701 109507333 893203695 410541835 657447465 305307323 442286771 56261473 692940487 347033761 382508923 355692823 102633371 497709445 135084321 941353585 40213779 304452183 40088557 120082001 861295755 611958071 42666891 408621899 890712897 733943397 670831635 395430547 750807395 317542733 119023869 576676619 940527357 532915585 830924339 434092601 71901965 83704765 828851969 78401867 373205105 987031271 684047643 1195033 864575221 261835015 818001823 62764579 564151367 981277777 234081809 535138191 429796609 711924255 616535393 43974701 472211367 292606455 12563681 333829239 719605151 942977155 237775187 994408071 924666941 311246487 334055895 162254631 650219447 570533933 652794109 768993479 160493105 826637671 50056121 303620733 302950067 352009619 901298281 807358727 979346479 767171619 606968787 983251407 109019263 930131379 968631331 434645987 7325537 637788933 209225199 931399931 537560963 874259461 222454581 848883829 138300785 390091463 572500057 944874073 956539561 352604293 754852135 706648149 403657865 923384483 968343511 117764803 879111003 164943275 622247427 605245343 217434449 509878353 434504629 454797713 217313667 85897841 951066197 610258667 141590771 332539405 695259069 134444705 842627467 98631251 523718439 759689557 575423773 426694291 190561337 883143245 500767839 519354697 493147135 794188919 553915893 679407897 891239921 611156331 273573735 362305997 313846509 599280745 924699175 651956569 63721523 61518167 243366541 944350425 626201205 697676741 742512349 310570385 212273351 979138539 980780093 680316393 931652005 820204457 549733823 965586551 138078711 646325635 510551389 489093367 654834183 71191465 110733561 938003273 233793677 485845237 529915227 410553465 560974243 690952677 317715765 824011197 179732945 395244959 749225503 650055533 598021381 887808755 949387163 803487759 199847313 27830103 407844371 306990923 484274485 719419885 969996759 835381495 500669971 142286971 30741537 882201615 115582397 235189873 244126739 935574451 532874789 295705059 296313781 152116785 87188649 650767507 349642487 242106361 278633229 42395881 553846453 379683499 614644353 446713075 916726705 4685319 795234969 226571111 67222415 959769847 346805329 479918757 319824871 616095891 136818447 424598455 868326189 188592913 799428513 603961161 940617667 925745367 825311549 348532403 707350773 929137521 369152125 644728053 894588401 758377617 613727337 880322997 639130323 242057491 31361901 873433669 574868381 178568697 57239647 312178327 33966899 830578543 350155133 881305681 714895979 477022663 292984169 852699061 449645821 901238911 220765237 505063603 186230411 350342455 445130321 574120421 159133083 631000253 47086495 292268425 533965987 819140611 878425699 834053765 638981881 504802085 483676743 351296873 201329119 151493221 432335205 459767659 839167869 593237295 111551287 697742701 381401063 572637463 943329699 347574005 984358933 462913751 322452469 61264689 722583271 405379409 294125543 465522171 727689769 880445075 176447121 545557711 411246473 785750737 523375481 912317399 38807459 484116323 238526863 364014303 764438775 681310157 41805351 479820897 665684719 129800379 150913023 940272253 163379929 618374401 315340345 503715319 324783347 377744537 287165797 107636545 148543837 781773223 37114489 36615027 775388445 129301877 190035919 545590087 748952359 774332791 897622577 901021227 873681749 408671305 150858183 467554089 123792231 61896367 725749033 735967227 502939653 122215057 803256405 386926591 483536835 341646853 936089007 44870461 348894745 221220421 427960069 808277861 527465575 961968821 844950155 5610701 390420215 685821921 777886685 141399411 571745275 452983417 5934341 564083201 976047245 969845851 661135725 806827717 361832365 917829003 419710699 841606325 400776515 458086193 22645435 692495987 376358691 363134627 562783875 924839749 858831875 961738333 657604433 972311577 339099783 118548735 997716121 520298121 991090745 550089813 520653115 885967313 525917319 373793877 412852857 274530779 917014987 668879385 432229121 678453299 337128009 102376161 672015849 17881363 696556839 612339997 347936687 378679899 281999225 9668445 225133365 923042959 325758773 736515935 979356365 581115873 176323135 492198147 897099561 61380903 776468319 710715223 430844005 778721505 880876871 241608077 596864779 424441397 752733073 244477951 879618819 625326581 13831611 130307891 137005735 419400595 177753137 664011475 465371057 927017525 648243525 36736177 886533703 707040157 237599277 936915915 617646583 115484987 966409741 320440641 621384373 650975529 822080749 521977697 181283807 706422563 447168703 501229725 755038523 367578003 442917469 399019153 77641717 789388935 487400069 506153215 122498979 374718647 999282915 786362067 691950401 835316353 164583687 977074975 968801847 757710571 822810989 945195041 336783695 840613545 458650737 784449595 438267839 291656461 467298657 48720119 991910439 358618905 590010221 950855689 638674825 918820469 521905327 538582093 586170965 898631789 191422757 699631301 86038877 879876859 455350203 274830237 881817313 631016895 615467841 858039593 710864261 828901117 599077233 354508515 983829845 915111591 355248109 581058159 577999561 597070163 303465789 404329623 597026237 269631297 109034963 178652751 826136183 96730967 505135367 648895411 650322594 778645541 183664667 378392325 340248663 237786851 927792953 7023027 966871311 680587375 42073201 58788685 714578097 696635985 887085757 921679503 315899531 355414457 889312511 704764509 126137425 362647677 181342975 954925761 18503971 929827355 187676781 113813487 168632963 293373117 18468325 902812485 757775199 788853297 15131623 358460481 197140237 365876461 388564445 339886483 935451211 430959379 865802519 775481355 392910909 256901481 380308943 74639269 822320495 644354141 335696423 913062533 39820505 363150087 527963431 38168053 826498775 991524905 474758079 83193707 665037869 696302885 267044811 608562047 955080971 534129935 763941643 175624951 546939907 901890971 256815145 470281149 420265749 677189673 352555957 609990627 545887909 714159811 305956649 732641957 674562177 435246867 268417509 767882086 705774813 484964213 624324149 307262133 583041881 829495783 575606855 296090945 476518389 138700559 213694775 428246245 527615013 511031103 515412997 15681959 382336439 541665129 199622299 62792369 108229615 627039283 705214151 816066901 69093997 880091359 467199303 329211409 586673219 592505437 871421627 379317637 589935329 722830919 232890537 950210943 279609129 315715545 940838023 487803889 249693277 430983421 289154729 152247287 346012461 301780289 914454869 503971539 913901739 157862107 673635251 298769137 921341271 926388653 834308817 46832355 629037077 392234557 972967085 588054119 574177585 173237433 447290661 570585437 116026211 103032825 614965509 902153427 963596487 649227389 158287611 793388027 683810275 401970029 866950819 321765681 833553571 908073877 647780733 817614071 627033949 595125359 603175409 54905081 450619853 684652827 315825747 151715083 493392409 802732893 370551257 197430823 655731151 539272871 637627303 148422001 211516133 120314127 68703175 435517235 974931125 493642837 203657767 334862817 62123271 459451103 797646755 700728087 624137481 343970493 846555897 256901271 247635021 518570151 200279509 273739085 720892369 862060283 789199305 612406861 913792253 725559489 275987277 335672273 43171485 549644967 749768385 747466813 879799779 460110855 335455087 325042971 841907057 315599837 540531337 801506337 540672075 130910163 691807273 398769191 472427739 332447031 575523405 672969265 17199611 180583935 885933537 649943149 635893733 840700877 785222583 720623915 506840895 287127783 135754629 536583143 351768599 19418427 759023855 743935045 794354913 115783521 988040829 102299407 428305277 561427353 640376993 859318587 737786411 745836747 962840245 364227809 217337501 747657603 897001463 312800327 219188455 938818299 857944211 380762325 348938887 584621075 434691227 136694305 228964191 193062991 587799813 664187111 599242433 384613089 766170293 439537671 131246173 831562143 747603315 325261711 679486293 425869831 625183985 20526511 904486699 435601477 233477063 185667015 713263311 350653475 832452217 535219029 115467155 62153241 134802541 64072457 641745463 562810441 334590197 782008243 115037663 567789945 560998987 466594129 239157017 242372633 278087825 671768067 963211993 738298173 661884111 572504343 320280957 539120553 834781686 432099327 493787081 785643201 126442977 615883605 35816941 441637267 654550095 755310047 152105085 210412507 669188075 99357575 103186293 574546677 209423175 691953761 152932669 982140647 930529241 194907045 335907231 962548579 824921859 881217723 283200721 527049407 981887249 889635883 478453363 737671419 71459379 987500201 88849543 634386623 239783809 343302159 161774715 266070615 136186365 84211813 183249957 337969341 154723729 172689617 367406787 804936849 5470221 357596327 625016824 673768727 604393515 462600293 141620435 879293761 303097485 710699693 676855497 36630181 439570619 487018313 444969143 987567745 906963493 943132205 265747939 926386879 779642663 494896245 633076471 636802287 647605249 187943267 269873933 84858179 921334237 629354339 945776799 62453151 162252747 446059785 629874323 272258185 517441989 506813455 769812279 343725105 639795629 972260953 726876991 124697451 785859657 233516273 867192011 836458171 674945615 381141259 380029531 172597059 965853013 829698307 479021539 250684887 582265053 791630173 523708851 811160555 217456463 790124993 991677833 430433953 8402687 504956933 245175181 791466943 951993125 558098723 981396297 493401267 286597859 286357055 765961397 695492501 696549951 957088675 8708395 38601253 210000687 115072453 288773749 941649097 302851721 750315069 841103803 810259347 193651981 56851153 705034903 36318519 118335593 952099433 683225601 696539157 630861867 62709787 39119715 855079221 228468941 328898081 300305801 717176135 126209199 719252191 448981927 352781217 451913501 105469409 451118171 645051715 321595717 592864473 716812459 700060627 545080643 374695073 841868035 730236065 204023061 603495999 275723833 144795555 588315049 975221211 889528457 384190587 161409997 731882445 852481179 958309231 287225657 557134731 77014137 354148463 783221139 443282107 259780249 645741583 51709279 648743977 896479451 659680403 530095377 914323143 261437313 444221149 150781443 121628335 871094841 818987905 277581685 162497063 327527193 614507443 677455759 193625753 52966303 452274773 128232037 398992279 501969839 852234475 229445869 62649311 135964309 25960617 311801355 71755345 270129673 144019809 155111817 530034939 787758887 568664725 110424341 451467279 156634997 741556331 285673801 180528873 167221213 816325299 420999849 562423563 936731065 813748709 135484059 252558625 673454531 525766177 689106547 48557565 960290593 176400939 928207975 689693597 290093153 149853813 7787675 100183075 786344569 450408979 355389977 386084057 141402563 376447945 161955791 416772915 378097927 110342395 324951959 325892557 870316657 842667705 187233589 904982889 780907671 378479291 866958671 299006963 312465271 446574175 353874551 103539071 421370739 454179245 309943337 435669317 684874845 568327763 963823043 792838317 282087525 928217257 300942735 180819519 317529389 686887601 778703295 674551473 196576951 151248653 699069291 457607643 504087667 708747793 35994007 181600705 763817523 688676529 336997929 498043279 398753079 483965327 588529395 749831321 187843875 243889137 575641263 952543065 845540101 791948485 423182335 491431027 239910993 385221539 839197803 553262001 472562661 966398411 619652965 929254665 313905415 229650723 346645829 957145491 400642659 385871163 945502799 426946707 652361999 668624971 415423913 184292983 127822215 42416691 157746277 784411087 28851379 375514999 751666301 65449559 918749 521441351 655481811 703512051 317273275 216238973 416045359 533319597 280334445 567861143 380566850 174101691 657711221 64552891 788323751 285997941 589549249 621131961 84499933 177621089 911480745 549816839 171466831 878721833 532225253 807535303 648518989 611103647 166942367 90667199 1341457 64111295 468421731 837159261 59221437 790200237 747888677 72904891 752431705 868605621 852909379 221836437 292899799 2901065 865128833 851980117 19866383 891751427 345228815 922291975 25096899 14657449 840660609 231937639 799249565 820042789 490371539 569628623 312245805 819371145 153507179 728526923 486414829 431437073 622045207 243945607 597302845 375160867 846393611 541951963 762312297 828837191 944057063 210216775 736308129 447654961 117562541 883139185 846335997 408509371 696074443 160945833 241827711 512727787 909276695 527247335 22627599 259901419 922468045 810702795 848688513 48411405 319969685 568446617 496648333 796291535 983004281 610205249 450342357 422197203 430785009 946655581 180156385 486225891 967717337 381097515 656226081 457312499 335188085 748263825 625449713 270392605 489477493 57843743 557710993 873023655 103096555 252205835 239706665 724922621 775226967 249635127 987736013 808192941 769825181 274535465 143465589 659081079 680030219 251044111 242193667 83533117 766390613 935622083 348119869 456611593 163196057 268201921 428546265 80936719 623626077 46041393 802714731 554348715 742164621 825220581 750867577 450345311 219570047 298010193 879480939 913881047 624859375 475599511 235086737 732530919 270024197 416798075 579031587 587657353 449625931 8045423 553442887 448679649 189264825 433089929 463610625 11147065 532289961 846317193 256107845 412875527 114730467 804716503 762350829 522237155 786564757 492450431 662819769 218164113 304711761 555288635 833786449 767828221 990507799 446811753 312419657 269342011 75191627 937695505 199382041 681693575 826115769 234767843 535908385 311377217 48033689 677834547 625896363 798118133 265692039 302144261 942998763 224270679 835377801 853754877 544420085 33372229 548843531 381444203 32292559 85716413 287040992 585735493 724448351 226557679 181261131 273698093 471923065 184117547 696380911 523540841 892741843 567630573 352783575 153145063 556915985 299288793 781657977 13801281 754944957 52269755 710242483 230812595 270842949 32632965 408437707 924372517 44324611 747070801 596741487 986087465 325114939 591136869 366262449 672447475 628695315 481613865 254986767 934899045 69020319 229977397 498109553 979794691 84760789 125150015 271478817 169483519 33719193 841012269 575967703 831368751 78223795 508545803 242788783 284100371 673686485 121441035 710679597 461391057 151164825 386339463 677930817 552192057 229371005 239640581 155800381 315589315 641893103 439296303 518544865 381899663 86006587 13006809 625006931 11288161 384847005 699378939 361965851 464070825 927143991 625385917 583905077 962092160 738003473 42568807 841196281 736963493 105690653 708245357 74186799 292613247 977363253 38951017 935672323 867442973 192727575 848968481 871409161 81772599 274233967 916428927 235336003 866056235 33499597 240194455 108331281 240792575 822434989 69609635 293767237 484030055 238246253 418757637 233483791 835099829 529441623 51684683 526167313 448179691 183323035 756046375 43679309 871831985 45224535 740818805 979867185 948916563 509645191 542894135 426392981 87670987 984231447 31948955 445202609 472605625 666883287 85212911 984537135 327005281 583697281 111620787 315769883 92736693 319074743 913267593 266037481 261700939 675705345 876409403 850911351 286172259 593896145 340581311 699670283 38584035 578936703 568852525 381111887 872191323 206393677 870372809 486774365 271514883 56003173 372550143 214596783 977023673 644624599 756043875 721479469 962918405 406593437 284029359 236279585 834602007 39716249 325971655 415080513 597807301 919768211 562300341 945836461 897734541 550182459 842528943 823728871 358800537 38819117 492805389 2959581 102140343 190640619 588165717 307078885 307860317 232181721 635556143 521871803 679758765 325170253 642612849 196275847 576826733 218165631 233372181 263257557 543644427 171361169 396867135 142057623 112450463 637295499 729744955 46496047 624372203 554791517 234343289 661828193 238273873 535953379 608835225 593616471 181336805 415752157 127677017 747227051 645874779 759016181 903017641 861163095 481623315 668397499 43195289 400795841 585880855 30031273 628145767 884958903 978287121 541298207 445396083 429683821 819703901 677156713 408134731 268920193 173386233 226573749 301697183 792247289 979772299 243801631 570123087 840692545 768272741 359106471 492057179 888398639 974876793 501650999 876645613 37301505 509419371 909881247 239748701 901003865 399593857 794711703 715686177 970491463 179532203 786881477 141287393 85653057 504299391 297454253 14107749 116474147 452874811 118337221 840824991 665635377 18249161 192776801 523073455 761940505 28403639 437679047 300036821 757350899 334037051 180259871 858447485 6802999 261858103 500621433 398162745 742518735 675519793 961587405 895886535 527824647 715893847 729558273 250410761 63535251 266113409 653210073 675353865 336530065 810775343 27744777 20671483 313245575 999045769 736087851 756078651 439432033 199924315 927434943 722193995 954333299 958744607 482311981 579494871 196439167 644012788 655667913 743007409 907831205 568906913 654688457 326278615 38444405 882791573 499737683 835885163 880076771 427404519 274127211 760515255 208292431 943056215 187706884 319912239 839684731 549695563 769438459 454611823 252403093 738666963 886620939 776072507 517223731 147174055 191139299 458070395 622624851 833953061 521918735 854910789 455072345 290874965 386543373 788324051 742031889 645871845 701710395 872265353 804430003 522278447 51832803 670296561 824598235 760970031 818638135 388658879 648779149 761279887 558735953 121920463 778361657 830537373 585526575 805069349 898018483 957795919 166535357 749009897 650180151 996623431 424246221 336713073 382283883 447559371 215768597 281332791 392346973 90798537 714486585 587355615 475523969 367844312 346738115 10639669 415893685 679184699 975062049 905026345 906198335 829451991 519598509 404647387 797862091 805773113 500304297 138429321 820055919 548386715 323579457 523451299 971012777 659959005 316831105 833333689 967144027 466621059 822781029 748049031 52275669 816691135 602418639 918502641 122307277 253749863 757135751 781848835 629021791 564377081 382290751 38823151 368193039 574069407 555432847 530361871 894888651 345868329 3940091 333023721 251493867 289629961 975099113 225229607 393006121 961459043 668312235 735314587 693615275 469085693 696626299 569153601 289017853 466368327 132503163 532947519 48563991 20250197 264336307 591816667 129597013 831444459 280017173 765498509 309749373 23865709 607983225 826781935 993437627 613408745 989172129 564872131 3098277 457839387 98817335 432479989 189603127 201159261 532294093 777458839 786602455 804307387 919004889 780255719 699774549 439473377 584700351 401610309 795917025 301082663 142470853 316704831 874767643 293569421 459064865 111686791 776329994 582369723 342209769 138217209 5215257 480084733 477233695 166507415 173276189 105425997 418605485 784934285 439465045 459106891 162249059 445900335 413985891 772064827 975411707 793578997 155137369 352189711 791211543 232520071 968181417 59802717 493492031 560316589 122643249 458501475 357151971 679149915 892854837 573413387 899569503 52217517 517737573 497745379 973186293 543042021 214056661 365531427 674643145 922380657 793033217 980514217 454701041 564691935 817239247 237090813 24542821 867124975 848433037 462043215 45327367 936145539 552261359 153233267 357046687 249387429 915052307 597655019 963973597 748729227 862383231 429026527 3235933 120196237 51276575 695257885 196404895 936716591 756063049 581930011 162938125 994982173 284630715 399118587 440610807 562169898 165774743 32368515 730523285 676616019 835586415 645249825 452241933 844579257 455067698 16656365 206313061 302065577 329216325 192134055 176400781 176076691 357322343 913482933 178685025 450729749 357982921 681229097 252141985 552961523 497637373 763405239 44650229 821656853 299094275 106385599 630030833 649601939 307621695 12965193 654943501 411982755 105553279 32400389 125336745 657461675 863578871 188985929 55748113 929741621 358522437 893376277 504380019 244322295 26703471 410611215 299993579 351409353 769210337 617721479 582820473 677771441 625772399 615123059 537923333 157262297 810778971 693014901 694522979 786827411 210693701 797978579 445812809 671656027 260888637 637233021 539120221 485195991 880287161 977758471 548984611 428158669 903875219 608201395 317678351 41285941 189002003 279508329 983381883 173425193 140925159 325987255 851274663 210819563 246968865 340696275 325737915 23932389 195659841 957167007 749435851 359574447 638151977 357065631 112104141 989320703 797287467 100771845 235880359 630953405 365627641 12657321 695676957 321348337 846388913 119917831 128779747 770411983 268885719 129800007 369733523 131162033 656285275 588909369 851991979 172696605 488480401 343945557 87280535 608247741 66296373 827449787 919718057 285805413 707164269 569507119 380526359 176549645 275558855 289973281 456134919 114481373 782532407 351582123 809655165 507692061 718164765 861834379 572044653 38490177 519273531 18573351 728133295 978077157 878616255 596273039 402153735 890337227 479054143 913472123 856707355 852007391 902826935 280767049 259444605 424561205 132227215 524187903 111661481 760953863 419172241 2700881 208035069 526411449 737247989 584943761 35775427 647878357 873512023 30660035 595340845 827940111 957640123 857304713 711717203 216160579 131874449 479528247 383657017 842909043 959657131 982545601 413808325 466890957 162431305 236066249 937690825 890527391 607955983 125975955 206620415 717793641 237142539 66815249 825512969 678597069 5884081 630197211 276910959 459819927 70234335 389254445 999011491 62930103 229667291 504238319 8524799 100537931 87205457 353021105 576915905 687570839 354595157 82149547 194428693 638822147 487321961 271229627 298764043 272733477 40356205 784679787 771895709 47946679 502402993 503416037 639670445 691630237 745618667 447159301 132993283 554952931 883097397 188108105 538902353 611787705 916450073 45671895 507858223 921233279 821945471 852656255 529926687 325281971 932122559 993302711 890241163 362318085 453230231 555985825 179744963 250730565 899487531 195271427 226974723 241046383 913854215 47160395 576090471 623203753 579373603 802415507 287157501 926848313 522224091 621292183 553933493 583758487 753986549 747630017 451578215 627832669 385978781 575143197 251363797 84454219 974977127 790482791 946089385 322596689 591503187 700468473 967706739 261632639 300992455 144335583 959710893 3193107 133658253 809948613 805137591 415809901 287613147 553484035 363443165 773686043 377342287 385187737 519243087 1804239 833704687 33763629 209711397 877150821 300930599 516355343 22405473 600866781 773171149 721131319 255276269 531537511 322596895 487170373 468027033 677877333 798951361 250241405 533352991 108182305 31515327 499631055 991581471 795350125 273846161 116749013 33654309 239038215 567707153 326355149 615632287 898404321 892480137 971493021 2367209 651869463 275380385 63121621 598423875 289641195 381448307 311454891 373371607 539401417 622334841 390777089 623844277 443253829 787985817 569521501 21341909 746163735 460748321 154221805 2136861 40202535 475457733 536491403 256774225 93638013 414046371 509744819 870518311 28405069 630654785 407800973 285480757 158460915 136095627 257741547 941244923 152853747 264386775 345346113 472935399 220534517 713154529 938332337 542263367 49706191 104193999 939028735 935054677 745771131 403163441 83094941 47520561 998210587 610178295 485517217 543719141 215840511 170476931 374273483 167570789 275470485 613077399 194166145 492930693 333121915 103053665 372798933 389825035 313887859 572375417 829479547 141234847 535858539 529408471 439066835 243937999 665654387 38276837 869751013 188587033 703748295 794223727 726840417 889547739 535176139 766340777 926248347 927392865 925703689 195726129 565700759 227996633 463460407 667575307 345219065 660278109 391121965 758952103 574579217 62898673 214910961 927422169 633582549 760983419 477355691 812650973 877258727 438879183 500887473 888271705 310196621 106950565 223029119 107213915 471930805 501708189 203272885 688513625 597618681 667631937 770960671 3848237 849071509 531572739 6015155 566961951 411644017 99719741 952797833 115122651 578336287 821434413 591418343 710293367 93667539 89024767 732030263 882450545 459180655 567723973 836355851 140497325 280774007 609001077 565133599 361295735 850114589 697491187 559646553 859163783 337514807 720816649 445010113 157047545 989794117 36721253 884865161 614290257 378512749 422729121 102383376 431298431 470490751 658344769 998435033 134645205 244362739 307459499 5445517 803979282 177235175 27660593 377901311 761965149 394930469 296976143 320288813 634257473 409435159 480312417 213880375 684873651 700452313 586408759 423145323 356446225 360571431 379940219 569663035 78713633 120414059 133669389 525167171 21205519 564854195 373506473 584989509 623654001 710467511 443548155 675409453 649343811 36327379 620749973 176708109 512991725 246498067 240521196 305084194 168210745 59467299 812544103 886272977 344795231 799423069 353559371 955859873 663632377 160241853 479274443 598278215 947670801 508008173 913644031 315925151 143745551 886177337 541354473 862562219 425880523 830829211 879992435 536740247 473255043 818070451 911518317 331608247 748204251 569855941 234933139 875866757 656043745 608473283 926278017 707475619 910589705 874482499 919435461 790667745 851750193 950182277 201051087 995298093 163563933 722451055 995076599 393588901 685957629 262595729 677308031 827247243 91316325 897586467 983058833 664059981 904858705 687984899 157646653 732675961 571259302 435356601 323976829 585037009 975329204 829354101 679277619 784476977 902307889 781771021 47878183 942125227 459229237 303415551 34765835 122570093 557937993 973858933 73772663 303653077 255158361 162891069 465687021 448915559 936617661 992610253 694200277 795583691 945661229 639129671 954111877 520399063 622910675 421538673 480244529 486644359 384399417 727445433 988370683 950356987 308913751 215300663 464212463 964421759 506638217 301849515 158720763 616222089 605790867 75167613 894382075 511101361 703122853 238166201 844797615 234455485 782361427 906172699 299772353 428234645 498982809 18848253 434123713 680417617 77834461 900044137 47519273 39716903 647005933 654670607 284817497 932256637 86925309 155925317 884666525 552695775 544389035 925062155 716008227 529778175 979813373 600788487 822923527 300455351 188098655 557121417 95030601 525016333 106742439 141206921 640941011 70653227 667439633 753366693 326343797 223410019 231739461 587770405 220176873 563599923 427577421 40741625 198100687 959539259 385795489 109077687 952400561 122024265 878184731 946442909 559574275 600791375 26301443 98604181 840186907 302796647 617646343 509593133 525044793 250281175 153730873 364670875 872235659 615822857 244120345 493713089 562875423 777706385 348449163 342156325 857338093 355531561 957612253 34869237 230326491 671438003 89967555 957779721 117183149 932395837 365439067 914037729 687870743 741647353 478177065 380292005 356504499 964662083 280387101 312077601 419160065 265761693 357016971 630840271 854338665 648305843 390007599 830039759 6870335 112962649 747455793 502451685 899005883 862445449 549315355 515361923 309234429 695978341 844185827 921094334 559369487 928022589 952261097 915022937 1081827 488191615 191222767 634790839 175027283 832819145 480762915 368649449 933536029 177598941 698565659 451845799 241363439 233847207 813617877 789481295 842372693 798164027 200885683 535260137 943108813 128158675 742584199 24796963 95947701 108396243 345153923 123599959 21376087 638142149 430710853 655966337 426126821 820145503 527490257 654472523 465277049 854455161 369966999 130198531 423504401 728947223 250052969 392754847 41462683 366428519 759959687 517781697 879810018 88937401 360590741 697270447 573034663 318000265 918061729 99306583 185156997 218281339 566028321 464351313 301392647 539986777 382836719 109809373 231807903 699224345 319605843 602695395 526352549 573349075 859989241 913615599 79425373 363565261 74040823 130058299 758333421 520762991 339916489 259520423 735841895 563579215 954156375 958310071 589998533 453434921 524575467 260988573 922352361 478999005 778716477 409637679 934226331 228945527 190102887 754909163 244191117 800949804 768798451 637990651 62093145 238141017 775121097 439567405 86201213 205147259 895306305 237784569 708691301 697083715 88051225 838782077 860452961 381269377 94501237 975613057 752767149 487462195 312251107 959102581 606132325 405613689 758169431 988473197 305074327 940314273 878010671 270222381 335598131 731306269 23240497 411368471 282935057 710180999 26323337 213265471 145540853 19816357 990853323 977513563 23957637 172821601 773469945 217266631 987049043 77767373 464722035 517317263 621937113 650263078 231226633 982821983 515431033 711494609 594684657 597405583 711194747 210863701 643157957 247677471 133518351 78240359 599733133 532610743 211201105 339476961 442156471 312638371 177206339 514255561 680134677 900721629 500428745 319322697 716266981 209055237 26995387 212603317 316156623 175522655 808253389 453183879 112220639 391267037 819253665 709494369 619800713 974918165 154217411 848931347 420349865 754803781 453248419 840087179 111790217 423415639 572961689 644472551 323087827 969170649 853327847 688952937 428422299 172377859 356941749 633698685 789420897 196614067 881576473 577852087 595989257 170615153 984706309 874714577 195232225 255869035 246290529 57802925 625652895 386177915 423790323 429058139 816711005 257099037 188798827 256262153 320422051 948496507 654982501 619148821 542669405 13174371 6189153 36916481 744969441 101873739 407392969 713437819 935309803 474658645 676071661 482573395 412618659 923619653 547928071 215616901 804084115 233677711 315226935 919766837 572722099 379291717 808550025 88236461 842714975 893222697 419821035 994327907 643186267 556162209 3778617 68126703 652615639 88864447 183630899 175317269 615993189 205409847 69688193 999932355 796705797 568142697 242102711 410815241 55696667 290790237 360042317 613627683 590699381 965937347 660569251 499747957 119839815 556976369 748614405 202541195 613087791 344023781 398030241 352474903 663238705 119411273 604023955 618182387 132837053 377140845 539204059 116506917 244055719 30386499 875136609 732888533 323668523 384202863 721723641 199374681 149959665 355883575 947542875 527685421 621835267 671595145 146350375 214993137 569045719 745005567 830976231 513877363 988346445 220438741 291381519 636733349 411200679 207292405 68123891 962971553 66251667 740135917 724448729 868647341 999566121 813750259 859114983 862560051 595571937 670852841 458595633 383377349 174823589 556295251 655334063 145067041 672448961 779973475 382988097 509890855 868922857 454117873 346479793 485149413 697818171 561617783 330160817 61842317 41141307 324900899 383471067 802242171 810934489 36056511 649154733 174920497 41782631 908369605 201241749 876741211 595816613 600081749 903688415 164042955 870387129 513609779 396380105 5432447 982819117 539341263 556567409 707266455 417862647 966235971 297264865 89246049 738045045 101080397 613538571 859101521 903336813 316406611 713040839 997955069 431794955 242643045 717428441 757432367 199786469 692665915 553663719 761202125 866037753 745067571 604983941 956109547 454527913 798760531 743367977 475125959 862560967 352225359 829094455 604492995 696498565 749060217 946830839 640552297 98675583 47490261 183358107 898842477 702620863 3065349 52268859 713566891 34963629 231166045 352969947 523727655 342199587 883397329 983728993 105967113 610429787 273411075 254770335 103427239 201862395 994901303 648230737 193476987 496836879 193836895 386811925 594146601 843787535 50882065 433365621 388114811 668576217 280282765 571254241 735015527 549168301 368101051 608417975 709968645 570371133 361440807 908189491 702239897 499517853 489591563 400802433 367361425 577137993 175633733 178014641 677666941 206474793 861468511 946888383 158124313 510320263 335472515 920906119 358646089 106561819 304014477 870580439 765019159 103315455 888193275 3221855 410542777 815233979 343572979 339964086 704689031 112795197 645688389 798732897 558287623 375421399 312111463 459774663 373191905 277062217 37183099 890025531 703395565 425169333 307561799 246589939 7397921 334101933 236270905 995509521 2958755 256829475 772945003 492846497 669131199 470953077 237467801 515580819 361199845 668304487 145888301 204295615 217716405 256499497 161555763 732285159 628940527 594750031 37405799 506396853 365760637 852310741 886104099 955727545 37237879 598092832 926020467 700014445 200272147 559658753 494684931 517244723 87890105 191069355 595015211 104605009 508504303 507614137 730311659 310174973 490328941 178234163 972291049 736263245 611014925 597238149 278354293 54865731 620122833 37956997 841628807 902905545 527246565 85896049 907804861 4703663 931601819 441730027 854099553 143897519 886556785 293709573 128328029 705212009 732663559 308367663 768111181 956143721 917174315 917364811 450984303 770920989 623491279 958850717 555407783 708957409 194668815 55479247 398804873 496376821 981016877 469023739 458164811 712147843 440584341 480183963 700668107 354248091 275704027 702080917 412100241 843893559 125126841 566410805 179533003 659062071 590970641 278418997 243795281 921872231 470954483 333438125 345476517 908498293 982082445 14768931 742244841 709245437 484544317 216816775 865589233 48706431 70526597 858750509 665143345 772809059 916457489 295828179 80307915 441386749 659738805 993942939 242443907 311740549 227443819 811854613 691812299 510978075 208735063 370573879 554020281 818064585 935925443 390926171 189067021 365734787 478316579 334794571 686870317 768422941 141502483 60121647 433734955 932084317 922713431 503189663 663613115 44000491 174891991 301494425 167362365 277224021 612891049 275316865 654841529 288118297 913408007 407931941 917401821 940408725 343950933 311330743 643051523 799280405 322880287 137235161 342996521 643263687 799864597 187967375 938892789 291464133 506571799 662829893 446526903 552750867 213189667 8286161 843455077 130603671 311273065 371716207 239952033 319154725 379182137 709551813 160370097 64507509 126435343 288498145 24361091 389315111 3872399 663359799 224820911 345607877 764025733 963185063 324009335 577352129 744889568 225559155 578016445 633446261 690791363 941144137 636617237 97524255 533148521 415223359 431803827 879142637 917242947 977183955 491860345 393403115 836682977 596243687 283946987 154511383 478520065 480223437 199563067 384984143 463240323 974681397 986637887 13685341 340243573 967037505 881601911 941246707 745101833 328774773 531478025 520205737 600902041 76923835 323912389 154593795 428060075 777123437 758517027 249928807 38123497 752474693 435762753 80966951 661449765 33310057 718467047 342103935 923719005 607191911 870413701 955345549 253270193 214042163 564829489 797858395 305479791 402340139 965579433 873913051 761490185 21399573 147906135 36953317 888484379 964425757 527332425 705214779 189333351 425098457 617161015 685749639 772725721 186411333 940692349 535602523 198535301 21732553 909206055 497907501 247516067 176467503 948547041 24087905 98538395 814301357 46699525 413896511 506065909 952463587 175093135 134580729 607306853 185832915 936874023 244749735 107317191 820076013 749619999 834880075 144296733 362956291 647084651 843308239 670963859 219918421 784124845 121940485 573472380 483470215 803917609 795259811 526060629 632576421 827373777 892253003 696862143 504934695 409573691 91303817 4010373 430617577 294155943 528470221 384644251 515786801 610063867 863609455 138858269 428253099 281019335 607523249 128172879 834863211 535624003 591010493 465332377 35797491 632204621 936109987 385541265 447542307 781911917 925393759 216629745 964534859 287126227 45542605 335611292 85173279 282193747 605751227 645175711 271646399 932599409 942304729 906836013 242595245 772617809 525338047 223960735 310868439 354986691 74051055 573101689 519979667 422151741 990801875 396217449 496914591 657121 699038907 498678591 429805343 262560117 564788961 329430775 388542623 435167335 256860773 761966517 389949463 511179471 340747347 815124677 202806243 442415981 330732955 284776855 968739527 114932649 137836051 255798987 773079283 90005647 807896451 650502943 207689465 497409499 617416333 384452739 325840089 963880167 289128391 14030087 565696247 530706365 440608425 823575015 155968289 797817357 371645077 289749641 408949131 915510317 870841297 225443187 278180821 205002781 918772371 490028893 844274175 911203971 389220849 851636257 42743165 836329903 472472299 270608319 585182749 18580121 348293487 155673447 564124451 325851614 56781643 312143979 402200111 371398345 588054841 242285379 26047571 91956807 850600409 118023829 324860159 251002349 104634039 690674733 425941781 900329727 422328129 740184061 668825047 573971809 910285779 366465313 797611509 917728419 927345325 674053339 643325057 229194491 763280631 304418199 191242235 60747851 415205317 662772711 480709959 721455383 335354127 328790409 223611569 167110035 286557365 828675679 252485361 174785169 325361025 253293427 913030691 764944531 878847527 921265145 148468429 200866497 980466747 404967499 712724187 137009127 566731587 631479537 59312803 873760127 24928165 517899153 180714977 494127273 166101429 321293311 448681659 463867177 480658603 519939385 351976639 236202609 916192679 767392865 794622947 111250071 115757747 211035585 924320129 977745241 907002817 276474317 139321697 901083427 968699307 45148705 178635441 690720767 72844593 646149246 657656579 387915431 948579323 499398613 845795157 451862393 530660253 836010289 161013007 602131837 596717709 531970259 90350333 178621281 535789871 16701725 74640465 135186559 488133323 443717531 217440685 151194067 28751509 285086717 901409813 860648199 888754849 218630945 759317491 740953961 518169333 142384651 351757857 322680047 562091127 213127395 390007513 572103483 113388537 492263935 453048513 471632531 920345399 935465177 906651111 349742821 75337167 70405909 980818623 789528777 318717515 188395391 630526759 816505983 667809565 373174535 96109413 108195565 622839197 936413643 838971173 632541861 756059407 157813775 482262653 624100059 744770457 606663997 863855851 962804847 695993677 535380199 193756753 746156779 4778791 291889097 346086913 655923065 493199877 556226759 777696683 565339125 327991217 396308973 366142065 252625373 262603739 421599085 576610261 192144727 155467041 547422881 440905927 905052723 672754175 903598351 941520025 79473897 680415713 116135263 648199691 706495383 848386071 330355817 484750913 448315653 118627037 135598115 392036297 941909922 928989777 417948851 531523479 602062981 825682813 699961189 671982089 384492655 824553297 855786923 97036259 676230851 545776043 445753377 504336213 617557141 590026311 146030473 269689075 164956571 243193809 418781645 547415737 486791473 153716953 265121029 945787663 995226979 540616921 242045545 886294463 336079837 609400627 991773531 111467263 846937847 251794479 936993385 882552943 720474801 311344637 576725061 843471889 214695347 353320891 469923019 373649235 422998089 916101221 864401917 422471691 931977069 960163303 917936903 53741431 201621439 710926865 903312187 654352699 990788739 366481821 520299287 90024547 160620715 432231211 434611005 346593895 665757131 29165127 470977911 609355299 169291559 113797729 338172857 259687645 189409955 769168337 257288991 933608767 531981775 208767193 226435307 214020195 406500579 580920483 147018121 382309571 140509116 247078975 834194829 709557573 821245669 534347175 771766449 161243191 753111177 510357179 32755417 244335181 401181571 595015239 11767055 835902887 510141007 210107641 107923591 433561285 625398807 353227885 834334621 719570843 618441641 754879523 224177877 424207481 333853307 726811269 371997143 383553309 79279023 691322851 906776697 592953775 625206537 763286903 999688629 119812025 698165243 845245025 960676527 48938291 182685853 395102381 128205235 395342199 369293995 14574665 946347313 579015247 397696141 193698321 462491335 303972067 79902803 894680261 228204089 166219469 787979959 970946063 615451247 248628485 446176787 366793597 979427455 302163189 251074417 875182477 340823205 492741993 309474177 643740317 457140033 320116117 378190745 115336185 498744287 523738135 377795767 18113743 576760373 812302325 885658757 284309307 27468059 974504347 706924625 732082493 336073623 289411551 47936019 20106685 653149651 263037693 634720105 195448719 783977505 271500701 537713307 325339243 934747133 668161993 241390487 619792881 766881035 600744951 802024695 594593451 62291991 451285511 639466231 699362061 352571923 935554619 150584961 395444843 685003035 971747393 683042851 97126411 895520623 786952239 554833171 450085907 772643967 739236227 873345587 910168215 97453533 534843425 39556871 136255631 212264001 142608213 600955585 940343515 724664467 236079831 554645815 575739717 281765081 174627779 790072809 424623487 380198731 772877727 71507711 10306083 621094723 17600341 481395781 807034287 551300163 560543295 149307957 232269713 583960311 662689559 996526829 357232917 892725811 206949123 788755767 194143353 40093167 734287505 128330109 838585819 66972755 71578295 433335515 970382917 272074919 77307343 512645135 49214121 105385055 463381153 339931775 365628129 805320215 190163289 286782267 239689387 951259281 908516493 470433275 696160435 766139321 304792123 874229787 799690123 840743331 367927493 391187879 895260841 955049865 791202813 609545805 469474673 908499661 411933715 192261729 238993451 154946047 391434921 438754277 948186889 525608397 877725633 968302977 577987877 703751701 276199627 802796931 693219709 781133017 279390617 299866337 966468093 557353797 727332203 152904765 171630197 454268589 121555429 196545755 993204129 99626379 51590677 37622189 152086559 351198851 998184303 600346697 275718521 566841185 538854609 812683247 434795297 456712213 19607425 432713863 106636655 831317437 85321771 892033949 989602981 20498844 318889445 861344107 586983405 573751325 545153835 775320015 9763415 647352275 671667941 115061585 712545247 937652857 675190109 405257761 536664673 280464883 47199561 714267925 357348523 103270733 734405833 183598251 984024941 894167479 674627167 852647949 66589759 144143761 638534649 764048905 675469477 769352025 175156717 478142487 374647043 398100671 793372665 502520661 37308849 490090899 360272449 758355851 907659747 717435601 252535891 314288679 107301563 497839007 9756195 494359875 970891845 18637379 545234191 518948507 491389041 121811765 450797787 104446617 702622231 152611853 416144055 88005449 604618745 242850449 105582645 329064293 257668545 838825899 516193879 831677261 945828095 797340269 63626877 286288391 957332013 429664533 355634039 200420929 55523245 652757507 359627385 67339091 930360007 368046789 583544355 216324669 783895723 872153357 166203765 167984805 953642869 683713973 797584611 675055579 819135269 867250115 41453885 546089943 846059685 608143713 346692289 189319735 51416773 563785955 319844887 166093123 561719103 761070017 798539593 561862379 196049843 257765795 689421519 105097157 644533933 27726673 728148101 128254991 309997211 54283711 541821103 243150515 325592281 444226825 863998717 575923263 911984807 535859569 645783937 812471787 889814063 961924195 346914747 459321493 722825089 283296625 986183567 290363845 7857559 768794457 326962763 813153449 981085009 171037437 963076515 544805657 973426811 318318183 215232181 962153623 382084291 595381707 356855047 964853061 65952453 591148165 591917957 562327287 547153665 955372567 496249221 259427361 953107167 937636655 363489219 994138853 279895987 352981147 46074215 517155847 586687925 195912795 698626811 765083641 473316101 208435345 969311607 897181137 447848623 253365895 9649461 547363407 964076961 658257331 553750781 430011609 555164087 7434413 976416509 42570369 235323055 789118009 274686919 863276281 588940087 194280517 409460059 366966183 691933149 483807457 835256349 826248333 188173849 88564553 33336793 29292891 611488079 328669921 405415623 198911595 395229129 814921267 308764803 233866171 234493365 632599029 441732883 774427121 124410415 193011711 742424547 904825693 670239285 646666837 888540871 432511733 863596469 990008869 953619711 209131355 624994939 73646271 21765169 539558869 849106757 767686303 374818151 444848465 324108977 404141163 950759447 190141287 986225737 208945129 329836831 178639193 446343039 401606417 242007493 906309897 614853293 356744443 959287479 992534539 895139857 735676141 541980423 366801043 12766937 1858385 216752947 582311553 760323089 118333625 198716451 318624863 567258039 116531425 808463905 245737561 474449321 187951023 398786021 706201414 155689137 193363497 526428043 945322921 537510273 376652167 413931415 934295717 114963889 629795363 81691641 876277515 161893573 950912127 26052355 701296723 774973731 673387077 43103349 289258907 932014877 623878477 165905523 893612203 529496559 744322189 394074763 218084083 312897719 602377517 391872689 954510985 24959871 133399925 705398853 889993515 679998009 70313433 915791111 732267331 342014909 629149683 823658539 691035871 274283215 486930313 861215039 236538549 418596629 466445189 979359047 2882343 336997921 348819195 533755299 741109563 126010989 243643429 783162661 514815391 715421275 736013157 223708925 977722797 885211443 507375176 402098637 942825057 234099239 391356037 533984407 508075875 156127567 377514223 820418505 467871237 109382829 906010257 865888315 594815035 114461483 95221137 280799269 777930663 370203547 445389381 431818289 995131533 79011251 691857445 463227499 704425183 761563415 144289497 664536903 251198771 768602703 424557353 308009123 281297865 414245323 289181195 173925573 974247303 704655079 469713815 402988887 728940285 478472421 643269137 688852083 997239651 633253865 420399333 734208403 329817495 634471435 332654503 934980767 421386529 146301503 229959441 423262433 86083889 206113127 765275143 111217167 74740635 881737551 700695189 616696647 31407587 34069415 249767147 587242001 80622637 505075975 30867047 77165909 412121673 489634289 62546061 89473131 930247853 867850703 663892485 184316431 737336699 197838833 367803813 912670057 879937913 459976849 514903399 768932101 307247893 616911311 139747185 174473173 549117287 838167223 4079369 711777851 943886127 603408441 937103271 913963771 804237781 730082861 843618787 712068159 163531877 121231957 820810371 979585185 396003481 339701593 700127087 94616091 770576337 983384525 887105725 323391251 540831249 489431337 356584361 897559383 750185227 913684687 348077459 758428955 460088597 259668741 491771657 39541757 304518703 111643137 701182141 491060739 700856575 449256665 926376585 365929113 914464213 479952527 166292595 973075861 105565609 124313355 753143717 702901813 963648281 733057057 871174513 273929755 335592301 281525897 480813651 304335959 557524885 139201251 209215729 847923807 394750757 780676283 838174483 31011599 197286753 685395839 599372973 621815723 756340781 953319307 699707097 255607521 623133975 736149279 411346653 876996041 299028571 765571427 137111843 714641627 922401237 681941867 881371711 394341121 271383051 232564015 827651049 907052167 200777009 276502159 468860425 557923873 862668825 758013525 586836903 713357293 648781125 862389045 362680823 935132273 585357275 560754371 285287253 613393305 899819181 343607429 660847171 64290233 641327919 779108579 734397037 109940883 938883201 220477995 478926247 927279687 194036333 408912795 422833899 969799269 946073695 880239185 37605723 490570465 406196847 535647319 422158149 90224411 810004571 398886305 710581021 706565845 816330381 985123587 2800251 694794557 530459925 612135747 776457507 261379561 381030565 380731911 323885057 741397975 226751907 675404515 910051369 534142059 404710671 468721741 346496981 301169777 779414943 453715113 628341609 214858017 178990247 156545345 661011567 894739223 507837733 402845507 622789787 246870359 788818115 356820681 698125515 578103889 1495759 768551383 932070397 121849561 395883839 917488979 120539231 255547179 695405493 777932303 52621893 431710189 547679861 482100167 233700139 217123629 497608051 621066777 466843825 994583903 206956353 874463631 693154211 990038625 532282913 51868827 818017527 722585721 217749753 979365013 108567237 248387923 123768411 541321921 100845905 135775493 731544955 686473029 844289545 780205323 178480441 732126259 145592957 630335821 129346335 934176391 125656425 308034837 8314967 963459871 166282675 796470811 977929917 697098181 73948513 151513979 654347727 507322923 673800875 602711225 271628723 818460393 5149929 98805443 646850105 177248385 410581921 551985393 567564249 636136541 948053373 252967421 136566961 99167695 142730063 860588301 8015753 72832269 548143893 551300781 773817551 571211323 159415023 268513749 709536157 158194785 63300651 216943841 72069807 90556015 75270203 113529495 564607855 781945923 794955705 916955427 732315883 788998553 816646507 607072539 415689945 324027165 458553659 392976507 274684059 311953247 412789051 389323177 711065655 425494489 642018985 560756853 841704795 140306413 243480804 119003919 812336735 439472099 671067773 470722839 12309827 817078765 655556131 843173525 238592175 326346531 522714547 572089585 889533679 862308487 253378351 707980803 476603133 768731651 321831363 846537481 583645047 606671719 703381699 598642085 733687719 33277293 535089321 857179369 166008439 435030199 110923799 33385543 726539139 854408395 843170523 960925853 404847113 745738015 394159847 74708271 482871279 628369929 175780695 713137325 538427589 371194315 304006511 751395369 927713475 249718159 195861911 668368421 62086599 645856869 170767973 482274177 236883033 929497159 108988817 217116301 940389031 114237205 736394499 875535869 373979531 69580699 867976645 116745711 812897665 759044233 158083847 513327337 935022003 460817269 333784359 109117655 104048879 296316901 810317991 616977423 360347307 726351937 765941557 179778639 344756233 632846041 954744479 852747193 638778061 104455399 623222247 946402783 598697065 362688907 245233707 883019953 416060661 447746257 704006071 833235857 119260205 873181351 289039103 247645761 674758265 702730217 14453665 131143665 120184809 641664855 15907675 185143347 466445621 337013403 917243165 258000391 394415293 383174981 177423351 56802001 88448901 740818893 590494245 46110047 546174015 908355737 210097163 976824549 924767809 929644269 203432757 929079808 145297545 791150589 585654611 788433337 879130817 868500963 542299461 96734329 765895735 359971999 804057097 509724949 385373923 92611865 39039439 344110031 561280099 478200357 337013479 406734663 359736063 282956667 181720783 437859213 232316069 384394427 463974183 899373335 182339567 366801521 41774781 123767231 418423065 609907979 149232257 539388877 801314061 15146979 526104723 71506159 366251609 791516221 281175859 119284535 803698227 852046401 38477773 564540965 563247997 578741245 889621491 712929179 884877243 379746927 762708067 828158699 621752863 496193141 471240189 75031495 690933887 13469657 141466319 852089165 470507611 413559373 678380299 44981505 524334555 361799275 236203531 482845139 428425419 919149235 754358101 137322775 530065829 225714829 15704979 266561929 708370055 37856075 852140953 593457231 96664123 941863209 365441377 604105719 936611627 772325957 902679309 404332917 651724403 50463145 299936235 731832617 994343121 812679239 423222125 302443989 116714411 679345145 921507887 652238247 625685009 545885821 626360563 442001205 223192505 902913151 914891173 801139835 172438021 482956945 570835033 930408417 535265019 538948649 637841993 990297393 646802507 351658667 149016793 426096291 336430153 946316383 154912915 620522451 923903735 755651447 397802027 827619524 602220285 76847885 119622013 637016295 802473129 802992671 61622413 199428113 628980465 793340569 751012483 258488189 730938487 260767821 607761589 818513617 127116927 385486833 805574557 730286363 813480443 45839913 533190623 303571919 683903617 540042877 892068677 141242827 799917392 517217375 149286851 789211221 710579283 652399143 680408181 825062937 195507987 493621783 961696415 122797099 568827851 716362585 871897769 68935437 619661913 598210303 129416489 769303455 3425093 615346431 928202715 706896945 159783615 455131965 32991903 624694137 204355485 962988161 559787137 809907089 239991389 452577147 327097527 405128451 868316201 820384199 577431961 45917623 851941327 783781095 799974829 454014981 154771143 931493185 342904987 31934379 254606383 67562791 550912057 21595341 168919503 740094931 384653699 722209527 191011605 531345511 155573657 828419617 964919835 203069675 736756425 771074471 563618973 744578383 541601667 184302927 800613635 781227119 993018215 204648515 820332895 484477707 940021301 963405341 39891557 677914829 819990743 314945495 841302135 247789893 755914341 306347737 248939161 433912045 508426005 37423597 254333 23282727 851123533 494611017 62725243 545148987 277002905 324122251 173701261 126804057 935370411 282983865 491135841 99053213 418019423 653277759 626048065 393225991 929451191 942499571 252630823 444638337 374578143 110657555 328811441 279192539 140611113 854648387 912042023 900637903 610536211 763864975 284903545 999620861 103836733 451575407 691800381 925276401 188366965 711514813 681110193 361401115 381408429 418716355 795939263 81943251 945979649 205481001 216085749 736746329 234354099 113362185 605091211 78869211 277135407 349322461 964826207 904676711 503149577 233983883 512535288 98877943 258000891 423049825 403566215 266003819 497013479 215691027 705636065 870619535 545355483 592523455 144617865 342994961 102612491 836772075 239377569 48059277 795018703 357382275 842416125 661329027 379531179 140788445 351382033 640076891 40189515 155018421 431662335 474520169 509720195 496933169 54818187 439550693 736087629 446145761 473029159 285053423 305362893 836848821 474095593 55552659 966733 312976143 748004753 195691455 751622465 861376689 451155589 957183311 692374341 631865801 814888917 816238339 768157981 331634415 533542201 394769283 462227121 836382747 431483409 68094307 61224471 116853175 87196769 450296857 675372169 865703311 414009305 545259275 379787627 411269079 126289619 510058109 536511305 468468269 349751117 817182883 189948115 474050709 461790699 126959767 272769511 479683711 899190529 164650839 833184905 406449599 489256325 990249169 204290529 13262737 461318677 168131281 530400581 336642459 904222713 724311573 755348785 134804203 68319263 581293371 277964357 85723895 667808799 735624141 463068239 904752281 586160953 946511167 307497791 644916505 298447701 4252133 406602293 114286371 126991873 785205253 628929135 220782541 979631475 692522693 138502749 569171861 169328523 772170039 509317775 792890207 552325331 513338199 491155651 286985079 196415863 832531203 719749337 18695829 501996623 345687301 644636127 98953941 56177115 96263695 163568903 370193595 771806017 40166331 987290283 92355639 71275857 534084999 169256785 396108187 684862851 667622367 577862819 576983207 279565557 958369557 265535091 886615423 960735087 936822879 556358591 458024881 71795809 582913249 419510695 277033777 208531937 459040931 848164473 812274013 402529709 171994519 573167783 964341755 281002543 883523221 897596877 528574519 812253557 148179553 671486893 268317095 634509365 299968673 765476147 759979847 517973713 915614439 739992945 358326911 756970575 75351981 350643365 85032473 370090333 88826197 300174641 495500109 684762453 840721191 414159519 380826293 15070515 554163285 499284643 7178075 981325471 594532087 80511513 887042983 80136939 383509777 504709123 33262193 391622667 984061833 810888845 20420599 96070559 27847473 43223051 254722269 689448433 319624643 422902775 476435761 125324525 10370273 543703541 664085351 663964971 606952211 559401167 895896413 345130219 336729801 941712249 205753687 747050771 517688673 401909263 533810437 527453747 651084311 542141651 872991867 411607427 863184663 292909875 588166453 419687905 616739441 252282559 807133977 431807189 263820063 537598003 843250549 473168783 688983555 499630707 7475711 826552803 805336291 538954633 369137617 444933973 370816373 275093929 652120179 881756169 696406095 313490993 341509841 607598029 416534515 549640351 899451971 518924061 789800395 474343331 929185665 610043413 277306151 627678733 939073973 265839483 555013697 127971801 138429801 804255683 299424059 912395051 922110869 288209919 758822683 493632845 858602645 335298289 20934359 919596469 604753197 51031553 56562245 685316859 300017037 194832955 951687975 899920357 293656649 236710233 204960807 533909085 446725469 703887035 635641299 492530805 100377903 804475493 165596585 785412969 58006413 333587465 544371977 168525981 327207083 31672829 486229563 356823709 526372903 463706177 49865583 271905307 315165191 929528187 740677569 218349297 869800375 40725499 806506033 538949413 347919117 979060409 409353383 903604705 547710789 813596243 567929079 565211767 998920711 56429073 273704921 238452069 380886109 652755171 399358957 397448523 319166399 553645661 477366463 571172343 674212103 240710083 976873917 560904539 162154877 248148217 519533379 407766675 876115919 388124045 283146641 491061473 86503182 553604027 782246863 718771889 662715837 978747231 748181777 791195797 902065853 920222975 394934095 513400907 957939805 352685773 237636713 467383731 943828305 718697889 733616939 93937115 670415287 841795063 848994883 560526325 877322259 727642359 948605773 763586653 629148245 843683699 663880647 546064789 425345745 495377631 132104223 443781449 156243779 706149467 86285473 235508557 200562131 784542641 932268683 276099227 285005323 854259277 521766651 545308247 521266657 324838983 420431357 433359051 185532595 459358557 679700351 927798891 86370889 267391993 49931355 206020819 659424715 464286763 586625877 992426437 744506577 916203685 835962387 716214829 863443033 837367243 347152937 653365023 749156805 676348067 390024205 48019157 540181479 10854877 401818661 684027315 397840369 946253007 90791349 975479619 600699009 56371831 513649137 612309819 288476315 79076991 516742897 915196531 748465327 430385205 423493817 975655407 488082319 560164751 979162671 389527005 721101691 474718767 355560487 994529933 127993623 660270169 201287767 501584763 716638321 327057919 136713315 80522827 531312639 741119929 306689235 151290311 292447131 280596931 452273689 745912037 497004429 444304133 235666830 856404413 412912513 248138257 626197619 62781077 15054221 692146203 456453873 517933269 276012333 66943491 798182683 12232211 87779913 895457107 613134823 585898251 620747307 146002741 579716153 334301341 41944203 143719813 791177177 701172951 489378947 814207937 99357305 82313193 386698653 40194575 273213105 20571955 356409537 288074815 73585411 187658291 211252551 114146505 740821209 939917721 312066541 991413195 29526917 728361525 278489559 716170765 13626173 229112325 873224083 804814845 712484389 357166889 228766229 790633141 53746501 43006703 380122043 400712433 76252047 616534217 236009803 274896411 565791451 407778131 582828785 343956801 558640875 57552205 387518785 14656025 894211177 971433639 113360445 34801669 580507109 603078515 373955653 838376203 897477849 877234409 39813417 731575513 579790503 767136369 878426911 334587335 547514775 496557203 797044673 824558549 977824731 713849347 754596119 513756073 397607051 20693149 118397581 781577109 294797481 229223523 665373691 42206861 366486559 221733505 79238809 202479409 585326269 457391177 881913873 639520971 182782269 526111289 781287791 512160325 573171777 82635507 984990759 391745339 417234767 912793153 446841621 745249515 378193373 989566998 4564867 376554299 230494785 496154513 716986395 358832571 321598653 642042865 862241777 816988835 386090619 574005155 85929349 580009937 702240907 645777723 468665275 866455501 426188007 119528051 312857313 725994181 86368623 625008431 636669357 771642771 327756527 527373945 932012089 741102771 225977367 440095109 188808461 62206287 529502847 796107951 707876885 524265013 65238953 508181627 436927911 434665691 601108477 792093841 473375615 812932195 938458575 677151431 398218181 414768785 520447575 150039063 816265219 955650263 717633719 931746725 304466993 307872075 268388597 628242875 412599211 301258157 549309703 518541519 201344565 334461029 655991745 164895865 473866493 906634623 860828649 243741311 267275163 795109301 175583015 333319625 86296841 417486183 550701323 227815277 928366253 15620505 778817037 299313573 877222227 638555389 186379923 80227543 901868085 7566567 785400289 301548169 958167531 87582811 442259757 568278130 897132923 149987581 483222667 416158061 960386389 363063837 432481793 227276925 294029901 810629555 733962359 721990603 401726111 50400093 881266363 83001263 917649139 317575523 344280715 778644383 148786515 488779699 745484677 159069505 140647477 330426599 263612981 838913889 717249401 700383035 91307273 669583089 221186913 501594521 106574685 270946827 280135579 10343565 528285295 314835701 438317631 261378387 707812973 783448857 959047365 20573381 888575331 967830537 482640151 340227183 82031183 607429763 939428481 20017021 878017551 415014247 242869943 709992391 537954413 453234883 562783445 618847437 177855773 771593417 208142949 17964727 130408115 545211605 224324177 81157457 518766005 655720041 736026605 632678165 927441289 398410289 107594233 717644833 2548611 832640767 735687067 327960893 28745177 845228241 914687325 374427353 648054447 821923785 684790325 460881419 989155597 314158897 628211841 84250515 316897253 928811645 362656519 374833879 509949201 946181193 8012787 455831783 401873999 637792599 175717851 945437561 630843981 545978259 338158269 973932527 704243607 929205521 891429115 524151887 945526185 19983625 355623527 977284679 408568293 917012707 230314803 432615985 812404373 645595431 64735995 494763017 601118183 854286987 537229257 215299705 295533301 253823207 9426693 299526607 551192769 93103679 281350793 848664321 384054581 598828991 8612237 325183153 93793315 219578555 334150077 12878371 908772929 749944237 831236639 326655561 993462323 612979513 824644141 664688825 662925697 412622633 668679365 415185075 737065373 794258291 895627047 94582813 325633759 841840943 844907525 34177161 461487497 255246753 82748019 711090731 931312837 884744503 5917933 847967459 448069029 71486593 643842139 95104313 441006111 842275643 426791687 166566237 13270039 81553225 845880745 771030565 236171861 134572983 294067803 453237263 29443465 213002677 856984485 174390341 853613393 622911393 801828725 972672405 157377833 662487039 735710237 714924407 915341181 523530873 833613149 664450825 828670109 236019937 366198103 699238931 1433539 234667059 496690077 246555139 707651089 535498643 591619105 104556785 671156111 566802253 395639361 999933599 178630701 817221587 831152065 121249647 795423943 889369279 270272977 294696309 747853855 896083927 343625221 885983589 655211481 617649669 911068505 739737505 591384971 324879451 336036147 718155565 789826479 852584727 650549345 275806907 792749217 714147993 108437017 152798625 312637359 680706671 567954165 573177567 4654087 920314955 953692669 521586717 469949381 896581383 385942941 470023847 266102505 103480233 488979115 909049975 399316573 178627163 512118629 622862635 161112305 416278383 937810541 467952907 693577310 543965795 817610709 72569351 11189321 123673305 869518349 92314293 794766645 726318491 288474359 252623699 113037721 727089565 177954517 486598859 797616331 715681017 704085335 420256683 682290701 536554487 852233361 366224683 442774407 739801597 605164541 488157737 734128973 203464351 739685767 377799723 752925783 804804251 885130869 17843813 460916101 474416339 123550849 282848425 962052771 753168721 349107401 558981241 561538399 738084425 334892749 600915453 877705813 325536535 650482047 218391811 464106501 385459517 55759923 344060417 879068633 570168167 131342247 614145815 192829215 219794537 633192189 156122383 388189205 711719485 68300997 935442005 176204505 798531335 882110965 833794049 101864567 320944145 296787175 29581011 933934045 874610897 181727845 786905649 69471974 555864031 815434903 417488683 841714005 604310527 750023189 770446201 208858575 787569949 283929309 395668089 694400745 607318349 49434963 671481909 165712923 460760523 510361923 584840279 144074437 198851575 700602597 86301499 297437489 612409949 415787989 700551389 907343249 101223857 970361369 209924583 566441215 439518161 946489629 738187431 844637307 919754939 220406453 581548053 11166701 105237919 645808163 323222735 990491433 243323853 45410055 710821405 244133605 869708225 645610609 400531181 786772421 807751199 842498517 81211607 680576851 413426867 258683923 949970715 996401405 563699567 891036781 66418593 770991901 765740397 769977745 811341303 39158263 651873267 93454485 950239827 641679537 411399529 601427447 563050645 44236895 957262439 892001945 724425031 539231991 844576931 805540557 968927381 368050781 634540547 592086851 310524759 593632089 744393107 718153757 789898253 528520349 729138821 757359583 638914525 138013635 950969141 985865843 963176343 415457353 514528291 429080627 842908339 763229851 477542143 152803545 8776783 477344011 466262939 401659019 660718643 573349071 534228719 142544087 922243535 205401867 452912675 449725873 25665847 402008519 612190591 278655095 780941871 962936053 655612279 309252847 151289627 487109485 774969765 828975173 408040459 952054771 448316367 752521743 766403509 927493165 38465247 951542601 20276859 360075181 885517289 813752155 699178339 647151343 615767847 956767503 997535003 396911695 181033723 851643291 679191291 155697947 851622131 907122079 362565637 470078595 291044545 30532125 346530779 557932191 248632129 541060997 874782161 496038771 57278325 553598121 165175259 222074341 769016715 624323529 616023961 756860615 890978257 663982985 972426581 700210131 767954887 890060789 54096635 72658091 448414991 427568517 451199779 884158423 436278899 25354261 628726795 954146249 12219625 319306219 90719903 122316249 301011593 435839155 888103273 777623369 823564695 879364225 419508131 932657219 145999231 954663127 771763755 528333015 951347157 768271253 522424457 983210495 720379731 443865099 96350187 501503645 674391773 750658029 914322987 716111993 429318781 361550427 479552199 202209091 336743017 608050903 91498467 620954519 738392057 549696591 256006995 858335733 316075699 512794137 291747213 92449735 763556671 500972787 121455279 114048605 538973299 984596479 20442495 248142833 613283913 280729039 165600881 543451300 567830757 823198549 97618583 853849983 6010771 211020527 44149427 825442677 348455363 512921441 11534381 622330973 901200917 325891291 320137233 594803193 341861703 995698671 714537497 849985267 104702281 126011549 627734949 466189275 502546987 765731657 384602809 150264363 76859691 132060609 590995719 255993667 281811369 128143929 881313509 773483887 74901043 538116689 453231187 249450717 831510393 472345609 976991223 470560425 430265179 396042963 583931937 971223507 535589849 128872579 847185353 823635523 929007645 13845079 312983437 792232397 750441855 918072305 460686005 118603561 944785525 512721507 712574001 906277113 685262247 564047645 252616597 631291587 827914461 207706369 203799589 395176443 435466249 198835025 361382851 697894139 176785483 193804989 583023107 729196035 633574115 521681495 73893147 126511165 852211261 713030815 779159273 828190390 929806571 959437945 56651251 317730159 278410923 436859441 231641707 737119299 400150879 57295487 379887401 151544319 423898129 407677823 518692521 348650833 198340596 406181815 93972499 797314517 638092647 107256595 552554041 611588361 419080425 256127977 509350031 150353755 892688423 49910261 817123381 251668249 821584115 704944477 625568501 299226491 443042891 111414191 331836985 100915621 149322577 46921441 437295133 722203553 467307599 457410125 314140255 422730589 133817785 531517371 431576933 297277875 395178795 301682775 189125439 953203558 298855529 733799353 419082405 91767327 644007003 644237017 988850165 44594031 468832791 705258785 620713015 311145423 974237143 203607899 374179867 103027103 44087295 905808063 709113589 765115945 952072729 464374761 887149513 376729759 631674329 741794271 191650363 85079833 353521691 902092555 366314393 91578267 569893859 899742278 533125087 107011851 791271257 382277581 607653545 107233853 713338067 613438019 116120125 551466727 548643275 614016951 784041613 517541037 995323365 976273053 246561329 620827671 701119981 839144659 734204261 527246743 757550291 7783583 479786769 100771463 204716727 427021741 687512519 952512037 632328151 911666707 326553787 346828957 280664995 588651343 36862157 949647361 113051051 40162115 753739653 258521927 304663211 724748609 426507283 930215251 67341703 71722745 619270733 949792749 238822987 673597837 149158835 39211207 710614313 39141503 293705323 511668857 320500603 839383743 913121861 766376839 687349959 302330271 523301305 800586071 327201207 525657567 142488293 926650683 347920157 435192483 753855121 39765869 33216757 261116537 965787947 283337231 199638885 791523925 693870541 963988009 310977971 396631701 729514803 595632301 715394903 517187581 963316935 282752371 284911339 871818429 648960407 65837117 142907185 148298601 997637977 282013109 356194325 171000317 151711599 769603691 798679465 358695137 550701535 988427739 324556075 99625951 638598231 321167201 563773947 632792877 835571503 80293195 409566375 730250859 577186407 318631369 560785889 742535579 60221093 654562291 546952581 485483051 707180603 381958347 418303893 833427441 777544221 783715387 178828605 197708843 914515691 919901715 641143761 374749821 574813677 848363789 563211721 741559283 534002707 301728715 352286157 565589509 314960115 43652053 557839781 937341327 363698637 109577883 36623173 496970199 122195591 544892025 213075913 608479111 54997169 92183983 440276083 86842809 224588931 183625063 425036209 492427495 653717979 391262385 506337297 181967863 167929153 400068487 123896147 910078775 437321443 694423499 274502489 654187867 350803355 807636035 99655469 656016003 990107109 411341221 927944709 10765103 140577515 811550599 208439353 42985299 113228153 804907371 219520589 57072447 409090827 656753593 56828397 814761649 265770173 224959685 193962221 66809809 394575445 559249863 584595527 893031977 739074885 640537569 468972319 772975537 957921187 338805529 772884417 859953091 193041711 185675621 720927389 453658153 374243921 888151963 123616593 791493643 905092885 458733179 515476897 629311235 830842421 324403635 112710261 156786697 639634449 179154129 353615589 345739911 286585261 410014799 644075303 741152073 898950075 610804877 227345825 497084291 898725775 917614805 657527773 159159251 884939309 517578331 73489809 443902271 697174841 356639541 501497749 367982643 127569411 908006755 73318639 339884421 151884419 534254035 293314505 450595697 500204119 716821843 536907893 815531165 837565383 213066139 194266735 9765657 486412993 828524111 756178269 428425045 630510047 811993081 12016133 62806835 328933725 981651719 993672031 578404597 883989541 599913173 935283077 811729481 817824451 369763489 336937145 74339653 757561459 599949977 710954085 459616103 354503695 424837323 309833761 18563219 354978595 639845423 198608547 677707797 452755163 683101097 632335571 245986725 108131087 189272323 57407161 190506079 370634559 257624555 432867977 792034249 707112337 418655483 496088989 328982733 233538519 70748343 117973883 559794373 31029381 382799493 488193741 595498603 776188347 668039609 334129255 561459941 253655105 972649609 273914945 159277249 791766663 875654936 952888451 513351925 290219939 118493299 567538293 232643547 491274835 435223941 959510923 336990779 159931395 781600297 220806241 866583105 743506877 914285603 149135801 305274499 553334585 388089369 168752511 437645055 543663577 573261469 758927815 940195863 531391395 505705259 428011979 672380827 63067205 862686497 513007343 67645889 13280281 452207305 282322877 703387173 870783771 640859733 294179049 42695883 7444469 851186397 629196879 764799267 363289333 926340963 612522481 543291135 227290897 349794259 21726973 552222623 321712361 72372729 364495041 119943335 729393095 716046481 182451135 431595813 502008471 680222781 874516115 506477709 657566449 132168325 614507279 880823741 771434005 602818779 13407009 376502267 196199401 86651799 411822567 619271667 188431359 583741181 331077797 149091003 959039627 15355955 516645827 333153487 189479277 773604939 421189591 149296405 18896685 35490623 931093659 895459293 863579643 298881777 882437107 648304599 650280621 846076457 527259371 450622757 288490433 925123481 935935669 880441929 656224353 718029529 738033579 843470129 360380251 290362219 959154257 483704371 600819239 931349945 606604885 467415821 915044835 527364627 665379207 79655395 371607639 111007155 170390757 518451779 271100145 887321019 685343119 469489697 731661257 96161331 450033617 274104537 635328673 466831627 915127329 174695477 243663323 59237153 931846681 653267295 438216075 1822513 654558073 873004011 122156645 787185895 890897713 326804187 360779979 825115091 547378769 470996879 846392257 436875375 749514007 420402391 510241785 856653083 102159331 123587559 968549065 527200547 683716675 743581023 855807281 92237751 324631529 783317567 28087001 833216750 552750513 208167675 435095821 156925645 266988189 659861091 53080519 950377017 911088343 795981493 359018149 248585223 777099959 580618393 490355695 344805871 541714357 878150169 879846805 775318931 511735155 337556397 630610989 300614521 968804543 880036145 96448501 513578007 272916107 237122281 837113303 463048899 528963315 564867717 100493409 759733439 441235001 653965335 916522187 633383987 643254217 412067615 147535859 95834931 301741879 977362305 793352543 555645111 451318587 333599371 714020931 513806753 649025213 594075121 763714673 116973495 40291269 9041105 690599275 458209455 445658759 551720625 904694617 828246301 610027103 148097149 885228553 360097671 374465745 153854859 760132593 125498197 993241733 522303639 464257841 680720855 683621969 442037449 472460435 121295173 917269551 247244459 912376963 616905157 115609153 945620789 45951513 918817371 755654615 67542721 879841301 172664827 664066143 926365719 234631133 466376831 179490935 537247589 756401793 197223335 452118243 306358077 158416825 59989019 218381195 34663327 234022115 560946799 485806725 211628783 392908295 434685467 771266827 923343609 3860693 280603263 676316289 525510645 910894499 81868773 697946481 609390975 987642991 260219519 175607441 446161309 739376611 239866215 985903033 334341561 560438349 49420189 762939631 99384749 926545573 657150217 613774683 15708851 642196873 894769023 859050579 360312435 724338751 91239349 719331411 376381431 776410555 634852943 977966075 346029237 545213839 548119255 417370391 423664011 443268349 523596475 681413021 8977855 513173485 465318485 419786405 921422335 227000299 398754281 414305653 110345053 949532979 362348701 263623287 760889431 432468383 261106565 819860029 460643285 583338427 610522775 128531075 5612065 950919091 767783351 397650735 355990515 649183839 688317357 141938505 758341479 832799293 925162795 38311427 596507393 130526841 370323403 199441853 289359025 504706525 549272331 879440631 229580489 437780963 308104023 458154845 901878537 318220713 55410433 226409665 258030997 725407991 807192383 571809825 919789051 568645949 730952501 270957213 549514287 95648399 754741995 528530563 540614545 123114673 316042835 394681925 844453857 229988871 406545991 301122943 663568977 243723425 232732037 711639027 839049333 357354805 779180473 3872397 336167243 223971365 339900019 726994015 319877173 172429431 902508591 934400423 914207235 949602521 653052747 409750215 984424427 242185891 723489553 265097033 110040713 324822741 48626865 144663265 89416929 953338135 403147849 784657003 934807905 420695223 636448213 40341225 55164129 93467563 409557057 560916103 46965657 44438931 449427549 195098009 790504499 970913465 274335715 776659353 622475963 786503945 774401141 181538345 220637605 287575835 546289819 271834649 117392079 275161389 924717255 443058263 992422015 466986539 329106001 601877761 913103455 731984031 219018363 238040665 577864841 841591747 705646447 563447245 11708023 794713205 742298429 227732203 112596497 890882109 640957663 170231925 536975521 723214409 121340727 305655111 898370013 604164723 782797837 212124019 178244323 99973177 870414609 378575655 574640953 753984447 151047903 595203009 79119821 860846809 818621943 933991621 833153009 480939005 231214531 697715419 419969123 322895689 235374483 311143129 626358347 324821379 937607585 304021179 518243381 151338269 929708047 524684961 616717587 645990703 574899173 323690967 594081095 378319477 830924307 980140499 211823509 593694807 121352821 611578669 509366311 796177383 37592267 1690795 161702295 515455193 594004415 161092661 244206559 397004943 533525473 580358115 197565797 684952333 834146475 78106347 485818359 745250821 860967293 168322739 362119625 550509517 436895395 770763207 832926329 94086757 226409547 198216409 897201677 982896755 196682641 555283395 366352369 152135751 312439157 3738763 803499003 978313433 158213089 340210779 846654311 428780231 618726053 681509509 593442268 723412313 789336697 678698375 168986215 952290685 944197122 536476673 836168317 145247949 559421639 615049665 911798523 319120007 867886139 144324793 188606757 279378575 448712883 1428995 212773289 859566201 46249077 867784933 414290335 129775227 411054761 681018313 732059519 471983217 845784671 64961859 498797619 899399911 718263695 194033933 694844423 353946633 213453343 433001737 725291439 262094001 911168723 156734021 188879689 246169435 443201631 189858803 671443803 997842735 539015773 366256751 814089169 970119935 100823629 292225083 789902591 646106687 858119319 466333955 41871527 984478223 402715535 886800027 56711401 628828217 758286443 98952701 621696341 998156327 647630417 427060299 947221471 501703669 871525701 395972565 751994855 532486497 241010491 115224329 543945007 186707665 381963021 61483397 790473445 470302805 327981945 170861835 934347423 255062181 326670893 517197447 396469595 95894047 437247669 998570253 711714941 791287754 524268431 310982871 986270417 643001433 460136217 440195145 960729487 688496413 773380765 105414893 854055251 31159067 418607437 630769785 682129185 895287799 879931203 455489477 80741737 28358399 192479357 301988309 814266111 142946351 472029159 917083351 373401631 390792483 625650771 544144155 899330415 230984225 466588023 483886109 717053693 353228571 8627447 884173185 424284989 116542633 334806365 448708113 281336845 916561671 524945175 274642627 442313651 666312477 675695487 399454127 324940251 883630973 1698263 979092763 925704859 164969307 581311561 896133743 716262767 368249751 439949543 245933377 371620927 721968569 45916327 494009421 591132757 617414897 612241517 510155379 682646377 71723797 461295105 835759039 408096919 803780517 328276245 972883047 149964131 16043719 636350529 253933509 35700923 145106507 558692873 481796441 88610295 677437097 510080979 686152147 893387217 571825663 497716465 911375363 977107823 721246485 839943069 824208359 217260893 136408665 343840249 216040863 617440403 549175525 810886925 580402297 313568109 15656309 821538763 889078759 69138097 657434995 36857867 657242243 982955147 733228013 606125967 116674835 273927057 350091929 234803457 481038721 788207551 250102489 928702195 662795745 503065467 21584561 28803803 250269035 234945683 785613781 946657819 104744839 573944125 386470551 772374271 373948605 78821651 681121017 475126711 244780993 262236189 607572897 364541275 34399853 864845257 325610721 983657197 377695943 580087785 899773869 50705495 284871673 306148285 447490213 361877353 799732567 118563047 175894801 233332957 674947931 114634361 147358689 15521621 323443367 540389349 910533803 460695641 135659787 404205065 82693807 157922649 346015861 290085417 82998227 421293745 132303363 382676213 988208039 963425953 667354359 76061055 770206307 144432723 842216381 394597449 3415525 866934487 110139113 586773555 880680629 987553319 64791093 668338061 462017793 685429285 560268163 976215819 997635491 288975255 584825827 612744395 665326871 926662963 116264579 479630675 226321031 319992463 129771457 581327503 643796671 189293869 666217503 360863445 767128891 968763767 355426635 763391971 65242901 408634813 564889365 184358363 909015577 640193847 341413497 819691087 88965043 990513419 314705051 48615215 885112315 260390205 651048389 320921565 243196081 626396099 563166317 207040027 741219389 54010739 211881003 313181977 752231595 811370255 126362307 907051113 8330421 201233471 264323363 730945291 535805625 527987863 196939867 917676131 105012161 174867087 561452199 453225279 580324983 674360967 92677227 385469139 519683639 449831883 776957747 251044285 277906943 392412041 470279345 443794179 980918133 795244509 51799999 480896273 817207785 275511493 758553443 856453307 946871635 553900335 353360325 145690179 626378065 107247593 204662587 701602377 115843115 131787947 177859905 887955677 119950799 477562651 518162807 857525877 466814167 179168701 717473451 171383531 336569727 579425541 354302415 498946183 230361777 785086029 474615037 700512503 718827257 796496597 55806075 118404685 52645267 871787717 764511667 64387593 914342233 440956465 243197495 734519309 356971479 869029903 158367941 372941739 157871161 209241923 378534973 282249365 331332695 316025751 333927085 669379561 861411249 303556793 776896583 446831915 396678253 329064259 207637095 832551755 389066845 578680249 192614543 752400797 547275765 756756865 921555819 319856349 866034005 911450607 27341773 896168497 644755781 752716601 985570227 130606631 658235957 335328643 64904509 919447475 338069819 309229527 892879289 951074101 642913045 281136419 41584283 98287981 370917677 59607361 934980729 307362959 694228625 79173109 895829533 966914347 41377529 323047397 360968557 562032959 36002243 139469731 962439805 715587891 730526455 601159851 648856715 126796497 16411715 467065947 228482809 899735633 449090561 79647485 79275601 824311631 633724973 570756291 355828039 98749903 717278065 771902149 119285175 85595455 371617305 968172551 476441509 763260279 682532641 430398575 461274681 155313585 157814050 999199695 288117961 447502739 32607083 591515361 532680143 590442539 674465509 971259463 491171823 893121773 196503849 573264777 666164979 39904439 451929463 332508697 788251857 499680463 917352373 84671567 675466913 511992289 130136437 302652015 508538279 32940801 753385195 991247775 680993873 608591025 484019191 369980145 946283311 89351633 642833697 945280095 736327165 293101745 758087833 639891403 541231263 89127943 359503669 392588797 198243359 22662125 731550067 520948135 290014643 565868781 28340861 66926177 721025459 347278063 368820001 986248109 1793701 581449803 996475607 404809205 728183857 483759807 737137341 370380169 189150767 119027311 525880985 436933027 537056661 250613479 883996127 699272037 583546249 212175903 125903521 540758231 830278231 953121651 798772387 111635435 502288497 357134505 755228743 218428793 561332593 582788331 716732833 982113859 570943773 486827475 523871589 731717619 948129373 395486811 769309685 789331481 535845449 310945257 657449045 915513647 135886615 212635467 896273719 877668757 755868975 121769399 192180721 253017751 261049367 689609159 1364355 566915941 98206599 957742723 941179795 486310423 59111513 871259735 440852851 904473263 716729231 562768921 922969367 268812309 523011413 557852679 953477663 323216671 747080701 674741957 364294867 567116159 721830149 282959967 891919139 597339357 830370829 471153997 161232293 209019327 413879779 308237161 945592983 930796181 569253241 663993085 829859043 906884795 291001067 421025201 7059735 860573041 707935867 618650015 85671531 924738273 511908245 597340737 812908475 234186009 476249037 950769021 639275667 14352151 828705245 969745569 559170081 781838779 336423081 954673505 123899961 674946251 537507899 456120027 145331805 204343805 878748359 436918421 374719157 840410085 186395049 56789883 936359181 472503561 89520739 398978787 2651617 424715985 936872865 627035529 83648843 576082573 161872439 578917523 604010007 618008693 977254943 706417297 753823409 487356591 735479165 116172915 369150001 128892479 267445147 202020507 246927191 974146587 765869549 959093707 462159241 233851415 512731409 475690033 618043351 579332601 466123717 555985509 433751033 584951911 23891447 661596767 510981965 897060853 898613691 762958473 314439643 109206043 684269131 590361775 184359763 117963833 112701707 248666885 551632907 487339673 687684231 738140457 511374337 272205679 521766255 886377247 779732447 294946767 135279522 125187159 375023091 177585855 270516001 771068581 382556469 668038693 641786649 508576069 975146051 282630101 641263323 151931357 401234531 229705861 623224035 284653947 300687497 400738523 381083605 960496021 303334471 254193755 942827389 320258309 469449951 797341817 752736203 856517907 950701113 466646415 243788767 522391659 795507681 144468955 756219641 392634403 546876435 158696585 69845891 425637561 506824361 47109803 44737555 532695825 296583215 683756087 364043877 537719159 59720399 179783953 174919769 137372835 933830503 58798595 417286397 782738097 589782639 86625211 603794307 97622053 730969365 570258387 600225349 769205999 270779939 489884621 686390217 970621281 432342291 916441621 826589113 802766651 920570627 129498871 306201575 670988449 195172283 767236015 613306193 423709985 792146091 78930271 151569687 805898927 937383911 579914257 178704775 554869417 937885491 134796721 756832531 601566933 394922739 57398559 266751831 372091999 135843639 716903703 175805973 924465373 892375733 443620165 320792633 816478027 604002767 635188027 478397655 75389713 509047691 552709999 524624423 592808185 838110871 999279173 137100945 586129467 756464203 18340613 349077405 528702321 863540135 84217057 719578879 198885285 561459283 137185777 182188947 879843647 236437405 643515959 442127963 406349591 184550267 786792605 257253763 413635947 498028941 237854195 60483935 876657375 890084381 36204531 497774441 831288705 457402645 900284479 595870533 967281093 266869009 179676511 794319293 473402249 837573199 726796229 595686341 942173969 618993079 137533129 250971513 409893389 270639573 866767789 194409245 170126993 797994467 944585883 69668889 586610201 238867135 14633891 169769987 613669003 545916913 412640191 449913237 931882293 240964775 786040785 8489907 67582413 973284539 464575393 267314279 52828013 612570537 35161823 925349863 782963613 904311195 209339945 550483339 136341833 335681119 881873915 855910615 243537351 899617901 131828159 793703033 395373013 196398049 878143689 905371969 151031959 830368135 12613457 405597483 224600729 581774794 928330105 91009115 612621011 63253447 843937865 639216669 473982881 276912183 210221233 930850785 873786823 124564611 409385101 47337031 109725045 58667965 746425245 623884813 337976125 624919449 184388747 41600803 383360287 285685113 348388839 927888281 435787137 648870753 898403115 465503403 15058475 728745219 292214711 119542207 272190809 871208117 519555031 980122459 509730467 96686711 35473337 582232119 155556881 737082607 596438649 936376365 143059215 105117293 759309079 270276413 201023859 589603305 272542077 587820183 731235961 17377793 449076091 543769485 66443721 1581565 660046795 759196311 717282925 186186955 839536909 654145629 191184349 55955461 648016587 170310309 348203251 50319591 14061689 70026599 689762039 622648155 621721709 858287037 877754519 399170799 985098983 623621865 714678501 392157147 539016469 588902743 568199264 477937659 476509701 24671641 655567855 606948827 681735087 391874925 322162141 517312935 413666297 851393205 295426783 182201911 31480231 522645627 277755667 839193613 172315501 209582067 463990013 34158667 545592549 156371319 396399757 630005701 284913551 186867599 670000663 578060783 851522003 762054625 700620631 339990505 36609541 661700161 572661365 715073915 147883357 197070765 749288187 523781141 302434555 117726535 571283679 797734861 631584489 322406233 214910847 682599523 798787865 538988119 137200291 9579069 138655845 364406237 55467379 645004651 257784203 322796461 152781703 268893861 548365881 303405237 492195293 172164681 715278331 456551941 197409239 981675871 99530575 395956697 874326087 198941335 135820435 442230931 365469791 976671045 589830417 590391747 668598971 459136621 544270331 98202903 654216293 589962673 138499947 765029741 916103623 165274725 574012767 468692937 620687797 567623295 553731269 307947603 939379823 821232027 872285801 172746593 697471641 200999941 180088841 476575853 883869761 929353641 795685187 241018139 389271517 205605663 864124065 822819383 100285255 790873769 333787797 478778033 508629703 756061481 789082743 875473575 320761865 946495793 494423435 793325149 438671139 147659771 32914423 418436925 76090257 350157409 144704461 328380121 376360251 749515757 311802887 435284973 959910251 486311887 743723911 268773725 372068825 476744157 545631765 862887221 405840287 784960407 326795107 633111463 69856839 122689827 749781003 428065293 451409593 68423761 35014283 733071853 183297613 859102617 384973903 542691823 225995201 851393305 389649575 388948715 310524985 209484697 812401103 806613719 935415875 26404743 184260067 603845083 975179475 554877949 516410865 822664509 66560071 557979063 166934761 73915509 115403109 974750751 513033891 714368541 225848921 673623107 46905059 534425335 531871159 767025625 661746254 274421997 837480321 834158659 406748025 807416855 445945879 424568197 760018395 91489709 631999817 634697041 508801239 109672209 424292685 519745535 957297333 685294801 711489469 317093771 253770149 865464223 59390625 355714717 624041667 536446295 328366437 5685639 208032015 134793723 973814241 206951229 668061811 700020407 679589197 187476575 13433023 7933149 555794259 437944373 191187631 931166443 959591679 106257839 460071647 349347715 333822403 532564579 755139293 123219567 828250753 775948689 741258777 719394723 430595709 990054175 820011243 709782075 283797603 749948061 87145365 633588601 61655879 714682435 991783231 729899977 820705705 67896815 813840125 695258559 306898541 642545191 145188039 373304085 758799329 247095071 207441023 758724527 848822459 169285033 380698861 383029911 185549077 103261769 752245953 398145281 155203447 812801059 956393879 957303627 679208909 931005445 662173935 270668787 692145773 61576043 252877107 994776743 459618579 223509871 337366707 310925115 67662311 698972125 541462185 844052649 239230579 565305377 309112373 737832469 1147567 78667347 404339555 134703563 162287095 729475123 963860001 131331131 603691535 252957737 988237131 519870723 678153765 384208961 235366817 790748647 796546513 103034165 574531275 575908815 522489869 640310115 906984029 451118033 833824831 503738837 715370191 757920809 459991347 405077301 278956673 527512375 858280995 852130527 736679103 524275335 772942758 827156433 372776631 127636431 91730629 760929201 27202693 799901671 221266413 411819983 193904681 750566869 651873779 323258915 263380107 434074563 672550675 126532171 484335743 191166979 578111989 177714831 795163069 369004049 172047523 934314717 49144293 759099795 642386835 642666445 661021569 453340495 865016485 267392417 722720515 711904829 990332955 583339835 891764677 314761847 861092259 215343919 170300679 632010301 841435989 437597363 986273521 818349823 190605481 919850147 582351767 335609423 404067721 534811787 585424879 537859813 705775937 22568343 574368991 259643817 208749957 567382943 377396267 602486433 703330161 107102755 777436551 576709125 343357071 181124425 153064333 226798383 402873289 161819875 46145723 271912353 516985459 584470373 265495165 873717255 501472589 559149807 730407461 882499893 676671869 32150601 57637867 885234467 22434189 314786787 17855983 705257465 102450803 853975251 474294075 141949695 189449869 547558871 617411265 410847657 579641505 463499353 148513369 729656979 229896923 204991335 243289543 32416383 527076817 915667129 773023153 631978329 104464769 135002029 922645163 792879925 206297677 295099979 512022571 709568845 384453127 470224449 103414165 663445251 688230113 272507881 548908849 281717479 406820983 904065855 325922097 258480551 390831827 245217517 854692013 246929697 753249117 923524927 255143081 302189399 710231535 192314161 126472459 137881973 982337985 90906973 916201893 65222863 238624381 789045519 98229043 179001823 85444911 649270578 321645137 875552073 519587659 114954593 303185037 224431321 836290993 450002137 614483799 159676543 773126561 261506433 690069768 728980825 407550925 990382827 659461601 807490731 205290825 123885387 352061707 991694557 99731089 280960641 161011607 64712325 728085645 185647381 836471679 680029533 270238599 647803191 483840165 403644745 175185973 134687163 194185169 976698197 384499895 58663716 326903221 188974769 883128719 475580057 41990121 20300733 960006317 471363815 619521007 922353399 381829219 463727495 171961393 973997583 433062513 73597847 854898943 447943893 100598521 893904093 817645973 348159045 216546189 276451533 514223887 978350981 828019231 806187897 905826171 358346459 159211533 998214819 306972361 194460351 981950235 303572147 407154129 278074057 108123769 946787767 235551061 889274559 881147323 46458469 487461631 568056715 669040093 909702431 273171039 632908863 994316869 645443305 457672175 308113689 543088065 105972853 468143633 817015929 845595525 925000985 673885195 397646317 125027889 561481685 813032211 29133095 21703367 780455503 546816319 139463425 707423669 415921625 527392401 449971329 107381201 646384231 654269939 135390161 752189785 813403033 567639605 122598213 521916655 516104119 704524561 774220373 240861861 473838769 782580263 103208617 964103403 487505691 696245763 98319113 883507619 353196345 843045651 258969705 166601999 687333871 640206003 477940453 887679199 821816781 226121251 616841919 837341477 104388107 139522957 348646755 578227553 653709701 393573633 653524579 244558199 822764487 953924983 389143677 3897525 381129725 733641685 843155091 941933775 910928385 95152607 514183343 923952869 468786511 630501707 681728261 101055095 866216977 657868975 173441777 103767159 105478163 565674123 992184821 54523449 594287569 822072396 875768511 136660603 753838437 525839683 864001565 740570207 962041755 695676327 215819279 819447413 809770719 607507865 85809847 473524147 352419913 312394787 578541407 815718515 438718617 682052665 287182205 922556799 685962549 655794095 846724521 530306815 198893869 975056459 800869543 455279499 471325753 812528309 782742629 276461857 790984119 162267515 398363891 461920293 199553455 169921051 55987085 236363875 67767761 468573683 799489943 541269011 139950195 838351695 57083291 499937489 682673043 288481373 358946895 156318883 830381531 229208119 770227595 91422453 850246041 98038241 709112149 303917467 567766981 424820033 229814485 698928087 878975227 315619371 236596577 982324553 317585543 923096407 121550195 788357889 308288343 419884901 480923569 921423987 120063 406218719 466764257 690050687 440949441 684967991 408487419 770790503 870859397 915156167 863636759 346788057 817897943 419085261 296450171 710802155 933821683 942899829 572628113 752593179 916388787 326063569 989587435 731975755 663788193 904384473 203364933 701680845 622726125 171210861 652832133 463713617 391414381 784318039 210703025 234947577 987282593 333986377 210667777 110950217 35147695 999122395 951546575 892291371 684441705 681069713 666297501 245207033 609584707 884877521 378126357 166651245 537537629 77174509 526117135 358357421 400829055 701980193 953622657 887229511 511579671 30120331 13824403 918697263 360225087 888983861 306027149 757492163 733204405 212100369 357819363 4203977 943016927 983887863 822290223 413897325 541203915 730234537 136065081 354121029 497627701 288243409 7172069 764529485 113784697 744627713 671264589 99108333 142898335 428658863 982337193 738606063 846736981 158517567 574114907 818474633 152502259 505457913 668514289 481068635 129323129 823500047 504398111 364952167 750736783 168080281 344008891 998821149 241597569 655506073 448813519 645487951 505838923 63493881 30237825 439557949 383955847 723876745 121720103 463411083 746207615 809188357 980945721 495124549 662041379 515516425 706002015 942188003 243621129 831928355 220376929 454142017 339418993 18605763 831562037 756980133 418536769 777269057 153467379 730237371 305548043 911856351 152724447 456756375 408852481 402871239 377098853 806164923 512893705 479151625 404513049 565692679 966583205 224677537 669940405 530389451 67374341 973271147 909572125 935518139 467665155 400495413 914581341 869096951 152886555 637590191 750095525 352625665 107258231 787774321 603417427 328952519 64391141 752189437 543393003 297787295 360902365 659771837 636805653 417793351 14444155 509412353 531115431 504514273 367456651 751786755 131577243 602597631 336582265 68818147 865303063 370021011 727605855 112616109 444617313 67765243 817611257 76810575 127878129 662100987 161391791 522405 98587487 436577475 954276243 127420015 773051761 190445797 497816665 248891735 375195663 346680929 558725729 559210989 678658895 169601947 270031797 204063659 676167277 624597601 704067585 362153457 435989705 110451943 205039005 756029707 307093745 847326925 162407047 483101481 511328151 112720915 789265259 946195297 336507029 807083563 341377171 710419641 72148465 279327465 129297145 367741209 173656277 951659915 216577851 145341009 472249491 498106803 470242977 584231707 546574249 455924339 440665113 816285719 211640503 763079483 108641085 34177233 790793611 198252269 390729033 641668791 322745367 919817419 95170087 66652709 742025077 372716421 153058149 227248987 220433643 834474541 540983609 413535105 300349667 608567619 55947653 464313259 876179953 173181867 107581647 644045265 704052685 849715121 630032197 135112659 402061919 774536717 957095359 591721083 401133231 938040539 163947197 387640957 351114737 753684129 678208871 949693805 46784641 611521355 406611081 247895249 696235745 309557039 438905247 915589903 874618045 747406345 425502147 351046267 376828393 509340671 35253951 6965837 552946527 846729375 938126339 915403173 679115841 139570143 134741413 612810893 528642781 802875161 443260773 487937783 81116583 743932949 787051433 982922173 975025719 325821439 358940801 178854303 58945105 24901743 406869669 4666437 11538657 773786205 632355443 257757507 673800443 70581043 925228787 748218127 4925145 323362235 225676499 332361741 371802847 641483565 264879469 979157893 502524055 447126053 911622079 119986345 873280949 254005161 206218093 867792787 254213399 620765731 475493835 15591491 357724091 597462125 114692815 223624609 84857807 675818689 725237269 90024063 823664039 199017925 641407977 695210137 746302143 512193927 757852215 542894989 38272183 256500859 538236311 436259813 339584091 947195519 90148937 201931795 501218465 394122201 321344821 541949807 288790433 209477172 668547303 543344445 424500127 251171241 685209753 173622691 730840585 384863667 972150059 727406771 338144367 537490997 383838241 641825641 520417165 331857537 980653741 212395169 59807305 706633799 612052133 961470507 759516329 361716393 467474825 206103473 934647013 208874793 657778559 843903955 781828181 284034231 477020247 19055885 722867327 610549925 831089289 290746059 473068557 2483635 963224627 779057757 981058001 602499333 390606365 645831679 314501577 318891817 395830965 214480333 371616789 645011731 250970389 771443925 161017859 822319905 194045433 385559047 915786501 938889239 652381387 686654779 207821749 269848101 376177817 93778485 440122073 76449759 353512217 609698203 775378523 11447617 348699565 193835519 955998797 586094259 232681561 982848731 45213165 75987967 879006415 520528785 160486555 675167067 195998567 839946857 298420453 197500519 306097693 589675923 241054589 828477221 34232217 571737643 815167551 67545859 645905965 574173491 836608301 442804695 856870093 956520079 516029811 593063647 161697305 395851799 630969445 257539007 817422169 96070271 941321341 754613123 566644605 210068585 833566813 190451619 484823579 183700833 697999315 651576059 966476403 658514135 667961043 57689807 326183531 410907427 870887539 85745615 770793875 34266247 658327549 883396879 318858785 338367021 531161559 628187403 806600695 736693029 619388055 666672809 22068123 138042217 701684727 951599159 470648637 938196185 925132249 89935977 862505393 682693697 613889357 228099423 708814203 508655183 268218753 58561433 306016189 33272991 959580371 974345483 277395275 847192241 344691653 284185093 554780059 294121711 770160133 283027525 581899209 448085417 372164963 153137139 975645601 571807257 437744859 324320921 368342159 515699551 786083729 929362479 647425195 473588103 156070863 410056719 40211893 511614591 502456841 537542147 266636819 405883171 488467933 226145075 856800215 457415219 693304585 823017785 549639093 332372823 227206269 382830349 77392909 875083299 458779465 642687001 395985895 42296591 930919849 286327593 225146355 678088315 572048897 948581233 407439239 671504307 704552925 743330191 84320675 594743781 824616173 213857417 386854381 589203245 939032081 691101387 79266741 861702539 346113095 4600619 339423987 252789223 246385599 575569381 177632069 39757077 11388105 755833247 629383409 445666509 696840419 780414569 225267179 917001391 221206957 48659123 123187909 74965317 76522997 983818335 683578819 590403843 128451243 350534575 695103943 739555133 530842095 977880145 228469605 502291257 645220865 334487643 442619345 525971741 815986765 956027211 839947756 503480061 914635877 611860741 777619263 194805201 549142279 227313877 284750581 965701241 291758867 112776819 82395367 533079231 353608343 595256571 243251349 108796501 357063621 11281907 565865509 394206165 852243447 66640453 55295849 357111741 697810611 937070923 75348693 783533435 91757731 729928639 957186185 130686555 519124635 480090823 67231565 995208347 136145045 37556465 829329 522027609 762895539 142118707 386966635 544692383 857105987 814996967 623671449 258039391 294079159 773509589 866269573 913113459 905011883 13084969 652144701 632883609 12925153 370276985 170697337 176863101 439919429 646990273 285482391 451602353 452172267 632101225 988589471 320481195 696564237 170298171 647346239 575110863 818928399 906382191 204900305 483979109 894791035 849330081 212351057 532947359 691700741 24372693 21362281 486502039 5289609 249707899 268213349 595904331 56908043 992271973 854177089 878368679 672986291 838010323 747186071 225045371 650968279 654338409 464206003 200264579 841449457 694271029 171415425 416648797 781925029 450569131 467530649 929347474 876851901 122146473 468534331 896971415 809713709 174235765 840136525 52064705 156964371 550167483 360653407 455290195 777480109 967190417 921316265 530618999 661626217 253943411 899480843 531796029 253786075 680276807 625948425 854517921 303871167 587968605 450055125 218017151 455648245 373706341 263032899 740173221 852703369 689291649 84799191 254002115 606803377 152785971 772716725 596001137 733572549 28922473 12729005 933442611 733164363 519135865 965436471 77199469 950420459 464713761 236072047 957458551 852171643 341167493 516046113 792094597 538864375 289434163 128068027 242503865 438131071 237995551 701484113 783720479 478066017 977746085 691279013 726128039 838481677 71726991 424853279 570661417 112887843 868495879 774090701 788312679 384153699 281697697 705499493 951531531 649008823 699387743 86072393 56732837 121833527 10247841 843212669 493226671 373699353 756768311 152184755 351004299 855480259 876772693 29083201 255009663 248393153 588957337 456568359 196854465 247166661 340952841 365878027 662002791 996073387 528219411 698994239 744843891 943337845 880676745 581189047 568190927 870105679 94216361 816273683 823711563 427657355 723364123 22303899 640655009 688278439 559650025 110275135 166053745 473493827 791607435 874038419 519455303 229728813 846987741 752780763 908549009 302496087 641891107 101465851 961973931 294442205 358792717 576438915 448390357 457175809 281476781 793321897 860302393 267819311 472485507 189186895 48585447 212349179 222223731 643004155 950969817 234112799 936831691 477168603 676051439 604421245 643144255 390913481 16643317 810653987 826017517 976374849 617570457 978328901 304886363 303705965 802249079 708044347 965908853 366401305 753772559 654597513 614076817 647645121 362917833 736877531 170442603 747308415 766852089 580361733 94050859 898461471 914334935 377096705 199196763 720656651 447494787 875680243 567748849 245305441 382254089 761869605 784900685 574188505 819925591 164333835 108699441 813989601 417130825 711843393 190577101 174789251 449737373 491281291 789782707 786279545 370471681 593333969 42205155 818334241 175829761 468391977 468038081 221792643 827673115 972836557 107829273 277953103 684457901 746752545 236308259 747027675 468444163 180062385 874093691 211952933 414992203 615947565 181548071 501292503 908951713 524168051 724032913 175056191 859550467 696056711 56839315 759587925 77398623 999295633 152245351 680393141 505982081 429377513 773288117 819272363 845039655 182615045 716375687 14522403 497178095 980539787 482413907 349407159 740267363 756595783 923924471 231480483 865785845 920633897 609573817 876085457 480710655 34761809 449924423 835326925 392499647 165438973 886542259 679734225 618097251 385875869 599191419 399442109 363447543 482419649 202943879 373115669 228953465 248416807 728913441 428610827 480053703 886648495 691661313 428754293 174314155 991623271 788770115 959883987 647549655 252022401 76673131 637967435 19760611 411370839 595817321 799960751 686220115 121941871 687630991 522304371 528122253 829720179 963052957 710963639 464909539 535803445 466105015 373709635 449859729 836449715 483018091 217641349 384270773 135646733 937540013 772497047 463213145 22587793 994620637 786825271 811173999 744994993 254818491 941000905 951392975 348368137 198011001 695448673 229613115 896702043 114516395 957609397 140873823 602488723 493011279 748907299 148831943 819055555 110365383 277650353 771323887 944725289 876478179 357102611 153180729 221382183 844063449 702438811 967610093 148097095 35942213 392394059 581529405 338428221 492091179 400499403 143099713 883336677 342534393 664288615 981513979 57665857 871164807 945767195 880971093 369638269 259058445 469119873 569483553 64604909 852501045 145486051 416658965 155314443 472104715 64958769 515361237 254150523 179926019 841290497 978796263 167679239 531835131 743903379 48303041 991498915 504613945 797667021 657854393 204614763 669125991 586973249 586557971 282591907 298610847 314946593 842936051 600086707 668512602 896806227 140121713 909714481 262871427 760590169 653675905 983006679 662442081 679581027 100446981 324484745 59783083 984643915 750253257 353999953 40529023 856463501 148521597 266991461 454448227 287343443 578808505 300947741 163000389 661054315 322573311 978643709 79425399 157266253 450330553 453458355 777325239 768105237 366040375 269174287 793608493 407609743 672987827 46225421 555544421 936581415 402204749 975749073 139505745 179040503 132070161 453080743 961243731 948558267 184431087 396973055 449607215 501545691 870139071 406282359 988440591 679482729 467077443 783603411 624270989 299472153 525846051 799884029 6666659 259918667 386282483 735107847 636861879 611399177 252419115 796513837 270466711 783479551 233901613 708633557 539062903 503566469 650690111 227137157 714448117 600634009 85304983 495199477 403807255 48899557 914309195 688582397 831335241 709088953 615571549 966431395 397317729 925132809 474097845 548325137 363855003 182257781 399635239 652304281 920806815 585856325 945071723 778941113 342447735 239558503 500347681 792398097 206482075 837272181 633845973 4680303 742249701 43230635 148607733 224775365 556681887 197840115 572985821 868466991 762009713 12197339 514454477 498213615 663775093 657226905 946787309 737789041 300534307 525190415 493778257 977179207 85521253 969843651 852188145 142555183 47639943 318985443 996165037 80016393 809718077 232827207 20946767 612332259 903786661 505715567 529873803 818640367 451024965 824385155 413650933 254826888 225824777 543112015 903861779 841698355 232285765 430735695 355995723 221491609 861300921 552658845 442180337 562214799 72968587 39802883 173968701 479560463 368100933 621307377 516480591 389153597 360936157 510983037 587429425 536837731 541894835 571579495 912455895 818644725 267110281 396947221 869048085 43775631 470954125 129166231 997753777 794172659 255797077 923805861 403779153 300692751 553931999 481094301 443756681 274355697 631459471 355297927 301234383 885653977 968835377 814380305 302369159 89239337 600673789 534812053 125159419 5735277 618177423 68903183 521061209 564227669 266352363 332934441 5526459 56904895 655587457 408287025 586189605 155256749 82408739 851570463 551160445 79246669 827624211 860670607 180087957 712377327 295639281 559438797 535837481 291496207 930464973 904290501 726417879 590011985 10213659 567948815 227478313 607636095 123460025 957460971 907216785 523552911 396760813 994725697 942809703 65223833 854479459 90497693 168614639 281457379 334642225 307820857 927663439 67311317 751302611 403661813 603279257 192727047 849730865 804504149 142273225 911137071 617816469 457961355 145222077 617942323 474143415 333695853 458441279 905590303 988689331 637052793 805799425 812313123 37325325 596154843 611176859 452099231 449688755 113628253 694270863 203191571 693123837 517094775 563196231 584100393 563274661 188839245 783183893 367476409 208993233 164275359 148543535 552398521 570485261 295190499 904636857 647538255 826310993 195521069 258719675 147743943 516476409 333276731 120571173 521852819 831540939 607313271 952198101 327199567 604431859 336858861 323695495 808438459 974616071 615652441 526543591 912363463 892159235 247582487 459040901 130596485 672969037 319981357 788520411 737462829 163202739 100233805 444444747 267259431 979689323 537625295 864441373 338085115 644821263 948481199 528537475 291312477 665889191 552580245 13678485 624488745 154265761 905538257 710864213 220085345 46480847 177268315 655919277 294085169 791921265 516991955 832471917 204896747 735527977 660208765 511030351 493848589 396983817 512744779 241229811 539406649 294587779 112371155 423088613 217348409 154485109 117925203 546823061 283812865 328632099 813440439 753266011 781116589 963450173 342742153 247057785 881050751 482595029 271717889 377771289 920159203 913711725 829152769 439693131 830154605 639725797 767663887 213109769 70958807 478153869 639942491 214656819 635396613 936587801 612770233 812922261 267483649 884513191 57717933 987287005 529640959 519306685 899844441 623026599 234314843 352725063 498001041 118834291 200103321 259667867 320181705 398170283 688978785 664419191 622887971 717328543 988190601 467132925 300049765 509411721 315853579 589295295 997807869 169901705 728346379 53722029 220869379 258436011 757950419 20947497 213926199 823328477 472167897 740727797 79182335 371814139 327471285 826574401 276994925 323824837 257932845 613226655 704502837 961806309 416031017 145301007 31551159 921936361 332357311 123847157 206580731 696101199 786925865 797886751 933760689 654047351 667512013 947628225 637617711 309448871 362096945 530495353 918594421 553236243 400525837 184965709 848601641 598832085 91448889 51774377 919006107 288514285 542460091 542901857 422520769 573503299 741343163 390100663 896391229 136013739 880806801 416884555 777565525 778015197 450248627 170150445 546767609 967360377 628626375 299817427 182023613 947077899 854879385 529695255 719164901 439670529 264886043 527707457 27385939 28446389 318478695 614783231 89364891 324228459 684146627 218296163 307464433 304530249 640688537 487448045 364713783 978415203 368095355 652102271 402654707 273777073 764011815 37304427 421555795 501167635 200528509 910786915 142483503 422125395 616536203 339533445 225530119 169486115 61821315 271614293 595036417 463536669 442007745 329901763 863441389 335293121 742962631 575535139 833029187 817501815 811150145 414936625 692363299 810427537 607951361 602135571 640624721 544568139 3080709 378770007 356801343 419520707 955935599 588525553 76008963 972074499 991657353 943213377 298747739 855218173 918056903 552733447 505252529 148912779 982380741 966537079 351786259 894194539 692412229 33785633 13082681 641676105 3695411 292303875 351366017 476314295 193455267 981691013 984537843 306668331 166576333 440362609 419917373 114564105 166283545 576090111 727514553 389228953 992928783 430636747 628732771 16367117 883773029 984299225 254653411 934661247 507141107 347367831 423800203 629164013 657412285 497971933 646046031 6822979 98090479 997362661 794135505 377723219 401540317 846637141 694417495 460671443 889355777 595616571 636078543 600764007 212830719 520563723 258516945 367694487 980776097 878288803 90791325 868320213 549050845 441169225 555165977 541033081 465689803 824323497 901721045 611762373 737855151 89119191 706005513 729544675 415273975 48280149 179401621 816215781 751579955 808975363 892020477 955964353 739457055 606362929 372621425 760281179 743464607 272421013 980528331 750056827 936842687 191734345 326325385 273510353 457235631 285339349 224208081 870646009 838937037 610845735 945643123 662236789 335978397 996439185 45360869 186962091 33630665 428617171 946271049 986334189 761032739 867084305 833703781 318330741 302536103 702200023 348643497 33673317 711129465 381156381 390948649 246151875 11078629 306077503 27063975 42388101 930490717 948535299 347595147 843105921 566020987 613706131 655444451 486708089 470446085 495109513 276455525 482320663 960659941 790181599 713112945 228639979 464865837 488135931 804239377 134490991 458223387 70029483 587362545 249177349 492356367 137783077 135417193 479673589 438493079 929041667 187042937 204267631 650979429 50160973 986841543 838876559 122544211 375403119 509145763 395605589 894610535 501885759 555565317 259895723 857189579 709221371 87840909 573551713 868701139 990885191 138396543 19010097 872500983 97445679 157242827 643024059 374920159 287719979 995503115 145361035 425780563 200583701 586906237 665911825 471355975 968726839 414369799 392308387 626717909 389235001 671376697 427916679 398543173 571792437 682674505 960089317 272308989 287292837 998839577 153164493 660158353 707651951 408217647 641457721 635922879 98493153 85190585 436548617 636318313 795780015 170744209 308665353 516415385 46109431 794601267 996110311 942607747 347888191 841900233 495690303 319069571 259842675 923140639 929803665 529281307 460647657 676356527 793116485 96448247 898859613 815895961 356110511 571622891 695835637 312933025 501396487 845482993 347948097 135956793 998097773 712628013 598220849 126519415 679541229 719524585 626092583 670768411 740476533 43205787 381325029 113040013 732469985 818330331 236428441 861827033 810520815 221583981 815355355 364068537 416217933 153924415 181138083 567534219 277655177 780939615 60452699 665279319 233939995 632699919 819126223 166411469 449379177 835906221 406009907 905326401 402632375 762277829 729341477 399562423 397945401 811501069 536926121 342181843 592468745 160063837 675797551 8720101 680839717 497977785 458032011 346009315 946510203 871153743 972728569 46883951 426215639 875278447 685852191 662240975 669164279 346582677 85609483 44764401 558008441 643238245 878990899 585676911 43627239 579736747 173528945 543925381 156798899 620507737 401477389 98498843 542724407 272473993 605703091 849342915 917046707 392086401 50072697 865586353 617110095 713429673 343512029 496319943 313274909 180412825 99098819 882531721 623046425 450935303 389553527 993676329 553853729 742722521 528564913 281837693 837711615 990247963 297875083 664217349 228776805 812424703 614841231 843885799 654242795 777925089 646154663 791223029 940073493 655588929 130131239 543428257 511586889 156521167 751427023 752494353 430147803 565804381 900964291 264762375 669440257 266243811 144512145 290446579 221652959 675345033 562244653 863935471 194443645 20486295 402841077 547333303 655630285 4432257 786060207 147080117 863872935 405484769 3916935 55380727 121600975 642385533 551002643 578351413 839260139 534754111 544809295 933101773 116293005 153820731 8362403 56720581 1542959 298134443 452974041 151857105 825812275 289931761 294929705 798029635 989620961 823094427 972564525 803358237 784825195 120341339 885803501 851355655 69250793 292887821 833122519 433137229 750765919 975504563 361834941 801946857 709703089 37597819 117043423 570748283 26597559 814170803 115466465 993608775 681988133 600208603 159957969 551851839 94569375 674009749 835567139 914418937 787507117 843832491 546594229 493586357 704306879 547534355 12727499 209077849 179791921 300550373 380400917 787738485 321091397 873234277 16940711 46478401 727727649 732477695 881345277 499786651 712253143 483258183 888829949 936674571 344644193 610207991 828816629 545684929 575945631 688427763 656320411 380268947 562965085 905261893 91181321 149292031 688964683 650095139 268290247 779150127 684965377 761875685 135496129 509551857 707188737 503606033 381525837 332024251 258406325 819909455 593232425 610246063 385401453 508873333 775304569 721836435 755356771 414320765 286237641 740799445 748438969 20846987 240066065 205821837 815229813 926440171 850813101 387698557 365149325 494596111 289015905 411825927 2647255 860533137 835690333 140319551 821702165 920661557 66143283 245538265 643005167 174831081 355432675 64279605 58931705 179542205 398118355 247543389 314564267 973211119 258510027 899373563 789166695 648059103 929735175 898223979 647654771 634816027 919574303 993126571 597328901 52578899 304191003 125954145 597278003 575696231 997248103 507780831 62258175 570453847 512874969 835417879 502282321 213647181 72021933 351705519 433755645 629026977 495573899 694302185 416195515 406526409 145483389 798176437 56347179 689406829 876534267 886395309 464506585 938236245 122807007 821285901 273554227 757635443 407806577 233609151 981415317 993044199 699919711 808192593 298022463 366245105 503629499 130383353 862042713 805575165 321665285 435039385 779170039 745613983 126981409 352214711 981298704 368669839 976521565 672333441 444364679 641031093 458133101 296599247 278782501 556387609 148280431 320615457 579317401 996211694 586128359 477658527 779664511 519360147 466960581 213394453 696588629 755203463 782031709 696282877 358795145 187891319 592721771 143685495 807193959 277571893 990408981 50500423 17009197 621630655 375494123 64018911 75358969 277493303 455843805 966008661 976964055 209922023 688173131 336271721 626010805 547196995 848933627 316061313 631702637 361351399 420536091 310942381 389960643 12634007 352612413 894649509 813648989 598879035 375518561 842626247 163954127 370650857 308928489 885617691 170379407 223975131 446202023 148729679 358703873 35765621 926288589 588289981 912145007 605611585 430424823 662482017 643445255 10350323 406824495 200141029 498455523 145175143 703473887 482215575 484323335 559072673 54496219 777269101 707331417 292490953 708992355 763348745 94914221 644301877 109201947 689950129 525342649 92513631 57056273 862375763 660621345 629417451 565360569 208649863 704492653 373301925 169705203 236397453 808379151 967491709 114001409 648001357 502744417 459761555 341207697 833955923 252694689 114699301 609306809 836143065 296704251 131245987 601688565 574005439 76078209 980460445 897732141 209157257 329499689 529054415 147732139 685821033 130451159 249723933 471437607 727919669 205277267 911249299 700236987 659432811 177601615 509457251 735067377 742719543 564188003 258193639 445383857 53604963 944626193 327080869 104476499 38761574 247674819 281204295 78846357 980588133 339401675 338556319 117192859 292462883 889611359 674504105 482927347 484538129 775192483 500426891 548507025 638074179 669122207 34750861 905676499 592076925 75382853 537995809 426965375 687242787 294076013 713454311 548248001 632529731 32194777 854169247 421978157 248454041 441063475 134476597 282823365 95243903 722140939 174282939 55001065 860010497 627997403 536065135 568264553 692051403 743153413 311407537 769823099 915293237 364320209 58590479 622697913 364723519 176300401 834456891 676170283 340858257 97576189 307382289 360922172 982569335 76942711 312618899 452274631 26453483 967378121 724913901 610558977 510779277 144062659 514042227 90539157 422763937 699631135 428398493 535717007 630185241 898048895 169921043 651559777 958212491 499824233 858747037 428375021 232663605 205113427 488216879 580556151 344710401 217463699 955779301 161131179 716500351 706509419 321620737 620692125 645194209 842303493 750032881 525675981 684926475 837619569 865119811 730256671 508129923 635460265 304207287 638282465 372819833 885391757 875488303 215743945 407795137 251654377 873499829 128076785 426220511 288061805 557426815 858003425 779126005 448238257 529406949 221867397 75232727 510810167 549748587 662952755 320642553 50564711 726383293 343117991 418000509 642278293 799611311 616896521 413067561 73093369 123096891 805796579 773565803 112756147 902797957 723343149 87707995 641686991 282628569 440069699 348502713 631652155 407947687 645898217 47772139 20185299 67697549 598019405 520699139 570325847 660264271 453159431 112890037 341869681 331160535 481442577 156712289 537193905 414480951 415740881 977398799 208201103 262611627 510508307 23121263 409115761 674230167 658287121 993786583 244374427 232689799 443362147 761993543 135166531 53523755 130687503 615434341 883226749 621212771 225424517 679795585 432734799 926810413 484980121 220861585 115104417 920324025 241433479 989457719 734580289 314390103 872039159 237501881 915067117 848818307 430459891 74961415 514588739 244220387 191195377 323014837 984193743 935763773 214105041 406645253 629256959 653498761 588737749 32879839 578044463 453304033 156726699 599507921 237162397 618907015 353719403 852782609 203999607 936487141 783008397 603330177 661614025 493871763 417968635 999551653 458311569 164330311 217420801 371401647 188117933 711601129 40769107 115302263 803202535 771213953 169769485 249733497 209168883 634843459 243961017 423351261 754027109 713865097 270564673 380203123 565170627 868928729 96797433 560051123 361536371 308656605 547105441 276396989 126107337 529267049 919413087 53021525 804474363 870437239 239833533 322626797 129256749 182363689 820914353 810908057 208090471 456736461 860428441 691760669 453134747 928662229 380088891 578845149 259426723 971492061 759601603 860134889 663536445 934971815 422762439 146868729 25411863 481957663 622455365 597603179 816043965 389484377 243759519 576105031 442192555 376852367 270294439 900199483 354322243 535713061 188682381 672297887 999225295 581273253 19473395 674717813 513350779 583626435 956051933 965124959 756947047 155708763 127148981 519869617 624853647 951226991 885725525 656424799 311926495 633604397 615810037 88146443 946732841 400752355 566485311 474860025 663657507 351278099 447532607 378186267 960287345 632088921 794265193 21880841 464878491 713684103 265405083 720169215 866178323 289916811 201508891 889414885 536389425 120140163 174752661 85451595 929998391 708478387 922453535 978028649 142425935 645385347 750241845 559517215 108919179 215272585 728959679 432791793 806908129 818905983 496585735 213214479 907986741 672167753 347595459 214636883 12629839 937785075 754535187 418340923 715544543 594641839 840587129 715408109 228769923 314490327 352529893 914309689 69809847 153191919 756556457 495530901 226025191 769750437 994807171 36485155 927101283 105584841 524829851 58077609 405620581 984406105 627514237 847975829 848386575 246102901 957319197 93999617 903551337 649483881 229577689 992875177 398468451 847008683 35987061 787826679 759670489 967776469 692528417 527007223 647364235 742885799 46603121 14142821 967904803 820442385 612962401 505003675 688608561 184504355 507051863 322127013 41537071 959638299 648010529 313772591 714758015 878421081 440529651 45824145 642252393 131869547 265297773 493445323 800512029 199495683 745277329 522674819 15154359 131208445 581179341 74489097 968642103 190478171 479659255 816797781 720507783 628588359 731531597 86480903 8830839 260182809 396019057 650454115 543344577 717309001 662042997 698383705 48503303 720536697 718092233 364778883 40676047 723249271 775370319 818777375 3552911 297838901 864182089 258608915 41263773 969876687 372969063 138304495 406011963 900998023 278697915 482516713 372148625 6147785 20789957 542550243 172860595 94322217 165878121 307010915 901481113 285987423 399723765 682333591 783248931 254429267 307260189 696403289 430400285 651673101 108285697 478111269 126363957 988743617 281264673 635513891 900967687 314225867 782065519 99325221 88313619 197413551 857627711 502578079 867570369 779888149 851240783 651186099 530474853 628137427 661765569 87044645 436001079 894794723 339843109 696108903 678238295 305732199 115014513 835540623 655906257 823918767 515044351 736852061 377313427 30959145 502695577 790548537 47503481 397072243 576443239 807188271 523776835 326189393 488371457 830410489 158417305 24192939 975824229 603020533 287006735 999210647 297146615 892463403 189498907 771292495 137378691 66562891 645045027 67984695 541702465 156345257 674969451 468096729 874161101 767008329 762389799 754788587 378211117 552952783 666705265 320373573 257832653 429607563 781510473 142269421 695572097 894890355 242311319 586443275 16306571 134325033 647930159 119392501 401691531 422568179 548454343 642010407 425455505 623361471 407261955 282651969 885400337 362513703 342819949 404115727 710130411 961549415 177065843 609244807 893700193 610854247 950929519 442783937 288540193 991036345 563650469 406320387 672386881 761257361 903329339 759130039 552541757 645816529 150576963 141773167 625153533 701216765 633143481 62142441 444699853 935765831 70348411 216062725 441652063 57997189 263818067 906208209 606894037 86081847 707270643 96058237 746532531 718125955 675479541 209174633 570440163 491339065 66274519 399186709 87383999 405621713 961074949 186062125 962573825 84354667 949426897 556215427 99350735 695253195 609222001 597274645 924765111 49858657 452594185 791227651 731862701 973575495 85096097 702261147 657459983 582930745 8689451 332783183 30578851 977797281 247472767 964204731 351220373 326962061 372124513 617149089 650079867 135314613 382057335 402811117 771333457 260930679 136661587 599086257 811917951 393329625 351246959 560134187 403036367 304098188 899338797 930540477 863359351 250133739 926118101 208130289 69289751 503783151 568571801 689444731 671721137 692185923 593801873 895433783 392724661 877797683 272357313 550298151 455318005 381914809 849337359 104783223 609119409 694975349 397468749 175833211 374173581 716909483 718996021 834704045 6740117 377193805 489180521 698759599 713482817 556782321 605156977 986125393 440073325 21990103 234774461 451061121 759159647 644183525 572753067 815879005 778669763 957593771 767721079 384705575 2286253 313518689 520193357 427341645 571458207 81203685 550516541 333093469 618155129 273376959 874188609 413789209 239841163 203076127 886472251 307946333 213446025 441298395 887747057 358376507 904849299 876466033 148844569 903519969 84589867 847971595 328384841 814554285 863067455 53129847 80451075 800998691 177031973 587715627 239928753 672145643 266189211 121872457 923972515 331013339 215630275 610828183 807202323 219231471 287922223 680122499 406825251 308648263 991580113 117746213 622782937 586921263 732354311 963556669 253087019 707777565 472271509 569984819 903103727 401778345 886909099 832753429 707991271 228189593 601091547 911405721 928636349 608361175 85607973 126179615 926104065 265100405 451101677 660531375 781210925 873571759 254310145 385169657 711711393 435169257 525525397 220958803 71425193 895011247 211820873 579980989 715053427 702199219 978668061 220332253 843327515 811138511 786769795 405757187 20924833 560909321 164776271 667245607 192133613 210163083 231575743 982339815 170012883 767641510 263821173 671143563 851100939 98149083 933147779 562024451 870066999 366486471 607733593 789977829 612932829 709576761 149910745 667898479 414408561 142078499 441548869 514465931 261290317 451197601 70927947 132526791 969007793 374073075 705414147 811229017 942823109 7034761 529395687 215250979 115650717 949242101 861126365 772913067 577857073 514001649 807524145 26508831 166486881 361525087 136682395 974333527 913900793 62472525 345322039 423614675 746471335 977433069 419306379 532420795 300000519 57714587 400785795 831465691 889982103 329465049 81481333 599435949 538184901 790256979 381507101 210741585 943269343 343378141 877946529 398164107 365484317 983613553 682728335 765993421 202879395 631098161 773410013 489040173 323443067 70051181 677782501 715605099 660739219 53360019 802435695 422216173 806068677 258056001 403724199 951006659 663064021 129194041 250633509 35496613 541454953 155127143 790469601 311513841 276776725 604801503 11227461 539987887 425790545 717327323 91432475 601308557 224292477 952093119 849334171 646237669 523910883 166590229 902343777 372646323 152892597 871086995 100539763 617876641 524418059 62954001 344901435 326419965 839218921 45795219 321861779 668755901 162616373 795257415 555791285 11264899 616108227 433890941 711245127 519527829 777545801 557851057 639509847 808253409 590582891 299733895 426826841 195264255 624464305 724570825 87837227 70032175 444024460 314110061 134262035 503669593 50397785 607774347 593307325 589820937 45934163 923000169 756153663 509929593 204972199 46031983 634675735 712867209 561026407 508266291 874157351 786403517 908766089 826348657 183146945 21753671 765366769 90865929 965673877 932182269 541543015 506250503 310864837 430923101 382266525 670454433 583501267 252186769 985329451 217371441 288774831 399421033 294350485 675712567 697934251 610235735 689018433 680236131 668462471 30056319 923805057 274584709 913256807 785412007 87409295 655148699 839911385 383153215 595769229 58464965 591870417 767921755 514553730 374320209 96380333 789932735 242966883 481441969 717620785 928773325 97728261 547145855 171672461 349091737 676608555 671604865 734648405 767055576 750815103 79724705 64976005 566699497 212464017 579430643 711844997 325798101 2570717 416856751 767848991 5954889 229072318 3516221 237410697 151911837 954533253 45975845 119479907 145621457 459041119 380182811 904499375 898455693 320956005 336362745 879014363 236779549 11630489 380837061 908514749 912032635 630735589 70215081 674709395 709002055 953448473 624143609 124751617 690202309 745566703 174555951 658032403 253892327 865794825 898481389 915995969 547277123 30363887 90123779 34960487 304022295 141864721 972243551 252136905 651085388 952718795 850820895 272821783 363934323 753348957 709451653 607775333 828784065 105420017 694940669 621001519 803678229 144737687 782489883 792277851 401946103 652087625 952138393 962887479 296161687 227110889 281564763 574501239 4212169 17880125 422017387 402394169 919738127 22506747 744666877 334963715 128701073 290856377 463214445 578339521 234190621 56829945 825061695 87043785 408444969 566015523 129009691 108775385 449713879 720116875 626905559 748395029 525899501 331483241 863931245 607774985 66693593 374207199 997429249 227977901 57293747 814668787 602074077 504523355 781947451 490254235 695355255 745955293 579911127 57010859 380225127 990795355 934136473 624124393 324201585 397718893 149233973 959611133 41755267 284841489 628335627 390375799 108031917 827635115 603585059 110013393 944836651 59648777 685942829 776799339 913811553 422143327 338019199 950525583 830955483 610985291 594291991 785130353 443048011 365561811 27960993 679590181 90329227 134190947 880196455 902945713 385852833 399738577 862114145 527940605 33864117 153315417 334310961 18089687 707488029 824060065 615395357 500324861 651746645 608371129 183938837 384660749 271486461 707033617 930385837 883222163 236334051 577674123 709224486 637516541 74850809 362164841 873831275 88338343 951071833 347486809 859863047 662273999 29173065 241876849 309289265 387840931 586648627 849886511 614651851 908047151 389335209 494112119 56402265 854697329 441511273 217225109 910912269 914284871 431008083 709628737 386582207 15875197 657977973 969760151 271534571 459432641 319477505 509208605 85907129 368200365 86103123 624873917 929210105 230197445 647848429 823614417 359981347 922267247 999619195 835633427 461124439 134716671 492527311 778847913 66393177 292787371 302479591 533095201 188042905 821885335 151258851 628593521 149732145 584773323 965531155 382653939 410076383 584369467 433056229 837968751 473464073 920543419 103232757 1374737 373671103 877596943 65977867 263385199 368604601 536720611 393095949 30587525 588630357 220764355 413015055 937568955 936833945 937896493 773546575 795106523 11547193 637372543 108119855 397281053 580749191 57572867 794509113 714768669 240589191 258498795 370245921 45061855 582876379 40819279 653703363 891129811 454922199 990597425 675297827 583730635 991892847 934545787 721096297 88001543 767020613 683553535 475108075 256323627 432824733 962206835 297062947 728201029 912534121 549263995 152818869 106171081 291589697 777990815 313308267 665340821 239419487 389987409 723382075 313032943 385068209 477800425 45690941 375357315 863066305 41174443 128315573 67728999 117844169 501570237 486510865 618291223 289714855 914619953 882939361 3793785 296163045 253315585 383374561 208642781 598715309 869441039 988494325 536774899 381215195 127779107 76693543 931877341 526514157 81052655 752887981 139093533 260325641 812059659 27749343 430411169 972997631 189871865 197135939 843846335 569256517 679930659 5275521 483504949 818360061 677969625 535475057 811071783 759219181 242212181 307520264 879196195 587077251 896457145 320976751 195983899 919475929 339236365 786782447 474767473 857428651 527906881 374622203 536535785 683622499 445472563 219428909 744185007 795254797 116590495 215310155 42295639 454788197 415976751 887451199 300550627 166886341 986541433 93696027 325048243 420675385 925651185 174355227 596485527 994447213 60607480 864965029 596915395 802246585 806925277 304426305 35304405 47025437 462434765 261705121 321737683 724051775 197842913 925734309 76725035 434230127 122862107 717629517 101489839 902619557 10440547 485164997 876370589 168141183 851789453 817583199 950052765 464165703 746581841 221133721 991946169 790226151 807438161 63654165 186581865 946986747 381665043 739806619 291843209 881916353 588732685 152440869 396030301 916045855 437997717 99550919 224602517 488252069 974688493 82931657 493247299 953246345 268979261 53115541 919389159 348604077 941999769 603173055 199630181 827476119 777076473 285785345 221682955 96436085 363763775 294981695 393527949 925480225 901281841 596371075 725510409 153409303 649984643 470663169 344239621 309578623 650286543 461614101 550232685 398453291 642951829 931647553 708670359 409745807 212526655 63959345 317681215 825146829 47449627 258847161 629213581 811936169 706326631 80259027 197809163 631485333 829397315 552978851 497372847 451081895 233316789 617408627 848664536 11029407 963530417 773475255 755717707 883118563 876325905 628629005 700100661 446587525 995623317 959640115 4439081 170761529 44954085 22015511 589210151 608846687 843278229 325129164 738671249 597532415 665958429 885982863 856824121 390155209 964255965 632928705 536629329 341069329 89312287 183044591 467733367 794508251 24336405 374608329 160647345 43060171 518607321 878639407 542020457 626667569 679766123 66391071 898171257 733968899 396116915 356536265 567049243 490583523 572791684 646560637 321957623 556713751 267117719 548810167 932685079 555557517 500011405 551507739 516008945 794781663 664367089 886568309 514546787 887748681 144617777 978943157 533954995 434692019 255571879 61001723 742655629 441824687 484131735 527489671 874664969 37654129 738744871 846434499 673650335 687753691 389105259 314127685 54223673 406753905 515276377 794539977 553909793 642526309 767527381 463471151 847823375 583154829 762071975 269191045 698151199 400183657 344745089 85948157 741096917 864631327 815092221 922449649 65754657 184774015 567963545 664552423 31888981 2456321 541997505 192979849 95696433 248386499 699798215 737580457 788128217 5037453 278471137 13867845 466765019 875993039 636721203 932051327 666856235 800190623 805853637 640394911 475960361 461819835 73319561 995989789 181790101 490844045 885647193 55344787 998760609 966995491 707876083 886044355 936968417 883315253 956827395 755175577 886301011 737021983 400102169 386902313 539850585 191660269 950825393 736687275 62635459 716092235 396173095 704050567 771320775 31403667 490580169 458090309 635041793 473442753 68840903 833831321 224635253 973150333 424273467 174652255 653031569 636448281 573973027 198417817 130582573 923917961 60801131 452954227 160061569 539411311 113889251 374110785 939395639 400946447 231437381 728577149 700628315 316102491 723113779 762093771 138689121 32987881 317562164 802164213 513664807 762636793 297928381 243406575 341366257 316444017 426147619 466868181 958409327 709110241 996927401 225845483 816019125 756848257 563663481 148841369 856608831 340173871 958668195 856076661 454602485 189499507 878280225 495229241 216422945 829406333 850469589 498623433 588252025 904163363 893332359 733549359 14627867 643845347 349683687 201323425 963589005 127877351 680879761 595860599 953304253 966117885 745430533 631868213 950493949 36945051 320631213 766284425 795842315 575466211 799510233 816395075 930940431 255659419 697085379 16184671 463908501 224156977 428396172 548231937 3487119 813657277 6379583 217001845 712327519 573947135 491403721 212081195 153625801 652887391 145855239 731222467 631576055 423582441 11418041 270795515 886003587 632343897 839661705 669191107 599373159 719606793 798024711 364537899 15587849 895251203 333519277 943750001 572749111 292877303 63112411 481063157 997631269 542952251 845475293 192734531 809733489 652507855 484172001 953755409 53314081 591301977 748955395 97620025 981334177 882415401 258934083 145061051 720967367 509119799 154835851 749244871 527613903 50168865 710586793 433371823 197671777 673354031 213865051 172814827 713305223 225767249 405617729 936756259 354194617 261856285 934814945 316312861 855593169 516146897 899781041 179754193 695556121 642847575 381959941 878741593 409702713 526355773 158586659 131494647 629543241 80222393 511370547 776204567 191226055 705647021 427037251 826138955 82603671 210549407 307960401 820734801 601232647 50569149 481418043 407338251 663294155 603558879 5543885 411114883 228963841 680895365 523245749 265974253 40927023 463960535 107307919 847986339 604764223 571211681 637369307 995917357 534731659 702028893 960603649 814832177 897691341 5220651 117392469 400242819 171996717 413611471 357315085 99648033 172025653 346580410 339051597 599238701 312938459 778851077 458455839 689707761 877505407 277781869 680888945 4103393 30583779 192206681 636880671 934650265 589423157 686031065 672411111 618969819 355463691 711742629 646104183 687896981 51222627 12002075 502071387 789754583 338071713 531115331 479267857 712448733 429404049 963804107 861295607 988998665 582741099 681307661 605533015 784191979 872540619 239422213 595540323 344596017 832868533 645339229 730682421 372246969 262775193 579078499 370037195 313206150 393156425 944146957 686980369 478343619 912413189 430684157 516237529 877522115 232672883 654374777 705753305 377415681 476582045 876779631 112080565 924075809 468273913 441698679 573723381 518348527 598351717 310990545 121674763 104735323 644933159 663723877 986272593 755212163 234937579 979701695 910149125 866927787 746619847 440278809 834004051 805514557 686610999 459111505 652328525 864476875 244041763 955045105 686874857 904498705 583688405 823280165 577963275 747399667 163757573 562410435 516354683 780089469 413919951 326299983 840289003 829100513 61972151 869205229 396227315 687668089 665779371 645536877 627410711 821226187 667598851 643608135 333605053 348406399 32283513 909211801 644599095 555848557 653661235 524710955 610498239 468662667 373916349 742052717 66699127 39769345 155774991 604411763 836598887 469574421 494534277 644789505 216155777 707624255 576348389 829788025 48080797 469226521 563156827 93090799 782671741 185091685 227851901 857426969 433365195 787142159 811629127 525871955 979469337 9243433 222127903 480821673 3465949 227019505 376324307 84915911 364805753 524488391 44611993 208083205 259068217 374673721 413965067 292037219 311873869 156774649 976952113 355985801 831529933 344850915 79910777 746538691 913513915 42068473 654492085 991799563 966727425 20716135 498638629 129844993 482426223 379780223 519840107 508918249 202848703 281522879 532560281 128857781 300054163 9038281 452076321 302953209 741742963 867800423 134928609 145462777 985173455 947607949 500638749 685703065 919342595 101168471 952807301 765947753 769593423 773957639 795221035 382815137 309493725 608022537 467188879 34267679 455695805 538929649 269736343 907078507 108958185 256936313 512553869 378511795 268252227 668765317 950404903 817877969 900393361 32657951 671713923 883808321 580990601 996058493 160172583 953540653 583016129 373571831 478960639 38181475 550482363 508691217 875785825 956515929 10961375 752391543 572060939 89038641 627895681 119720445 67847711 88980143 183268313 782047133 458349359 385961543 513881609 50931579 907705387 648530955 968709143 819339235 470511733 902593469 192037369 1360196 473548751 32777155 855680133 654721855 653162345 214231087 631016061 844478869 313788117 820079029 113171849 975826735 816973075 460086965 971132733 755639587 258731399 127014967 822375953 950142893 80764671 175192299 198614117 656650029 221931183 481174567 312212357 901714223 871971125 566095081 629274271 237574505 75472791 794679003 575825871 42728115 299185217 739283787 708756243 797238291 505379847 584525361 393069913 963723187 951549227 457729835 67633519 395198437 63075917 227000449 117926157 488688677 502640509 349331489 601495513 144118297 352217393 268743845 700810839 784327303 331860291 350873161 302541051 61231719 265575419 482289655 489513247 186386899 281540359 602618429 191575555 384036619 563757177 797120593 319001551 354822015 925456849 498822933 552040599 262435009 354605809 590981133 638512977 397547401 827942187 688056939 797597409 904528575 714205745 512885253 339455761 255744617 152983329 896793179 391099279 460612287 837150591 327352725 887934709 806178075 590353979 894343551 154088391 241795839 199247017 584658579 374213483 861313815 681194885 929092847 773629237 868981303 287243253 990468957 48899419 162958935 42248327 363291207 317355521 580737951 262151215 632473801 733642289 70323031 86667595 572667809 62913241 77120243 380111009 576413237 116675027 87845135 1466463 208492437 942493923 659076205 751261975 672784249 333038255 305827065 808301767 598435647 99673033 756419783 342260183 300519661 834678701 844102417 261278225 805969975 545936313 764920633 163532205 994367343 188259383 457909711 94806599 266956951 238139737 283008897 116638691 487680087 472710199 404349485 61893103 7841533 356065237 976635861 250381379 321850751 84837401 751807397 278903833 576569983 220047573 819000049 786733847 862977857 440013507 45716019 334906955 394179255 642897541 128261135 401358121 831807095 563749283 315979857 349362319 932321217 846685583 61161705 513902531 123918461 735642785 808866549 720684399 595851831 797625117 307677625 406004397 976228137 710116393 31911837 928966649 799750961 738031831 992655671 547742261 460744919 551218465 965495361 623249841 437415499 211802345 867322015 137242915 6699107 413980919 532554589 697047205 517027231 50851837 85830571 501422783 43800869 273808787 597071849 191757151 304630725 286329147 489179285 560864471 938950901 34220383 175748958 564744935 653868503 454710863 161630231 572290995 438777393 726792517 87428025 920364743 714979697 848090979 94059371 146781211 976216497 633955505 303980915 887784715 778861229 154316065 889852489 292896605 152039119 264863627 651281285 398860347 746158627 450247857 182967021 408435007 152694117 193967677 170594667 575701347 712426735 321640895 5387793 242354189 132722125 728315825 748598557 960976395 642231979 838820979 492185839 700253843 265870561 148450641 940217621 778181695 768192367 984444795 206597441 213698071 60235771 34210569 998837325 365076103 397378517 466847229 173846335 166476901 341725941 719789887 78483009 388644335 689656569 524294563 645803943 774852551 415930411 32990433 492985577 775332351 516412021 405027483 137452463 198074121 15771763 395807065 272993473 572039361 509331555 660570507 687068435 682371953 429309225 162882189 741045953 277846209 43342169 145061791 575229453 417073867 95382569 403976937 946665059 861613833 867845751 534142079 403698005 684008801 678863819 324205401 87496097 13932833 505149779 955246681 663493161 193085949 243705575 599594821 199883511 182606611 435393033 337280467 631713855 648269289 198677723 615973527 949325661 480458091 494854449 477685271 364374995 867101935 159763839 292438971 175096911 108920625 430390759 443380947 125449631 594403671 378233645 111644055 385244099 14063601 941374915 100692525 462933213 414987247 402556607 863422873 942724153 152516531 801180385 552352463 497532231 603167231 999212431 613414825 573056165 96879873 446822875 102495719 267440917 799287633 199746425 3067953 716108933 842579687 500149705 286377243 601768197 32943661 313767635 943451165 473252305 163689711 590225477 869616279 642351181 411801441 521642105 209396435 981553923 207959329 602541421 109861637 70076073 638965299 542089671 406466113 58216727 480626183 498400727 124893581 306774611 433775217 131617939 627121359 802870149 780371629 852433565 533176283 702389763 119287393 419596091 388203879 685473863 486507675 286858075 171712537 553886967 536024273 425485973 915173237 324191705 447978973 435470891 567934191 540290277 60402951 52832255 126514399 292624179 262596347 562994597 249414537 185522185 897704143 194852177 787261459 888735185 794469121 641822437 943638929 944589597 1087603 439033573 525476857 779732905 59178871 551931779 691904303 540208475 565007039 374708629 531332605 240107321 6212711 292835739 171830545 396343419 679864569 578821307 145477637 536995195 668272733 585021381 940130395 464017083 137546989 895766065 679644287 594741733 641847395 666814749 408640189 349481169 883067621 36539473 344791121 579844725 934144513 379161405 914557533 85293049 366528939 33516535 658623209 357043109 713517889 461754429 223320039 481152493 262278281 573080697 664279601 708834413 876208303 740807865 744968837 453870823 38430025 777683381 631515279 10821191 971318099 15303113 175107041 330215839 210978869 14232577 631181553 54914861 366714041 469974793 568924195 941108049 240782359 772829243 627569343 788112283 918492393 862942355 71003637 203901369 670177847 864026041 387803107 43249289 245733999 227650303 595932293 216617741 896279651 256137817 694956231 862329201 424841299 990573417 187660665 795315721 583185635 882118771 162301013 690324559 919874593 844209513 802212605 597192164 685361281 846876897 271818745 918658457 478826465 388282651 372122043 106159711 347765381 106694397 789777819 328636495 253330461 442738455 481105627 147156397 788427453 496603297 440702373 960112101 444489185 966775929 531800073 251119243 872245103 173134375 822946049 16259161 968890037 81682651 774773615 806238259 877064553 785818217 329350939 829827621 534508709 107616853 241659317 376787551 905277425 653964483 246000601 344213055 792638009 51500419 516804105 559316297 444658899 783279371 255415721 328760869 882352253 72677757 308239375 63894953 148542555 247469983 233314675 899127761 606927609 13340639 633100791 937070269 825861455 543099221 768370339 829355961 666996665 927777473 723258983 114668091 514444027 867968395 116341535 969173211 849618757 109287103 599380107 493470303 886291241 983743513 105376085 576224431 59674791 408997619 433704461 560161763 80269349 74031447 242584109 970675505 280437099 734758133 56814869 266129919 828343477 106216995 114437393 123063001 582044571 220607201 830761039 745083505 513055781 319149525 461873643 838365345 62888895 725676879 866348261 170433903 130290751 458582087 900031783 571947013 944720097 163311963 516508289 991441845 227959629 756365778 707798955 700370173 24389773 414779551 929165131 753456765 761507863 946577235 917954277 5214723 220672203 658848051 418020335 372825985 207475691 520677411 594183869 730734097 429894183 290714035 248776085 367923961 687645329 727887385 880889247 206345891 865105321 644507959 628108779 743034787 354977363 994434961 17575025 890791857 307652829 80947035 375419671 773479093 804682235 190066535 153598625 721936311 362426827 488322103 309047235 236850155 301236945 466155761 573469719 338589101 615070461 196452967 663936285 766891391 24347811 787054093 350827325 867991309 581112703 239795973 56941771 687747627 9488823 657856275 241001725 564125139 477336283 766792105 744016121 229644071 294891227 935242461 453713091 890533493 22900503 480425069 69297231 75434545 846410581 623472325 548742263 131502579 197752003 862239215 845208057 25481087 473733875 588269221 725224067 155769793 760915685 358784325 509357985 148522445 837962235 412482263 461200849 95685085 316731655 428931081 61929841 297259093 528346939 684228149 169976267 32405695 170583859 224507991 286442001 680250065 28929017 332688921 534320733 907432291 318982135 339649225 104463021 957545849 666451969 961306205 271546863 873696063 84016215 489020535 936645871 319331081 855603613 529862491 543402344 959704147 615301089 372754685 650061055 645688509 595614615 751280623 788786747 432558867 933351071 93308531 969870219 520956491 943984443 350661999 10357833 37445757 590771480 334758773 197230519 244742637 90862671 157392313 518092289 643660297 755634777 272620827 594375987 556527713 831271711 493622565 949983817 335301041 841095147 148435201 635842597 654525151 443425397 465614475 298445455 752971761 832945623 241871681 142107961 749387551 460918169 628872009 489339069 267240385 303604393 825133171 537325465 806078813 106030681 541931831 235822905 230739613 50339177 890536371 977877741 92317267 334630141 580854959 267186927 798927997 458570147 740394651 478248801 752391483 389267535 525743243 787421515 812542939 685953887 284657987 859267487 913638351 355344793 836955685 249162805 489424817 32311081 240876613 406688977 950199879 918214819 334192983 816981015 185184123 35542537 7515325 132868255 836476767 515177403 19268733 381133277 523286833 460300681 861326917 433088820 875357777 323904425 915754605 21529837 349312845 784951221 624963829 541258043 383478999 998072245 221875845 845412661 95809739 256652053 410347369 651496925 143837995 357638573 294005915 475958557 727536931 537247925 339250873 842213573 256755207 26769367 335371533 164209039 828183633 227417119 830129281 775516701 94066339 794812159 570301105 130800631 180350155 409611097 810567899 132939917 335576765 244092017 110365413 496749629 872318863 376017649 754144863 86932803 535001227 534405619 388259713 947598025 462922775 32252401 516002857 865142243 483093705 76896721 352838367 501337737 530075227 757932001 366368209 575974045 373761199 469907159 665676761 328249575 695501013 319387853 714295667 763947543 294626811 64259659 737971145 567945673 768257663 750353725 960577449 786243453 32071395 91613177 628230793 700112797 133613269 403009083 339096459 392479353 508599845 2632235 543706227 526248265 172349391 710059347 512512691 262237491 221613303 581960107 260706915 815780413 806392807 364041871 569091391 640483415 232166165 252290499 583678895 122207325 332069913 505753205 826823619 27244815 935447223 666335293 319989299 160945173 262787549 620723221 186276703 658536195 170250907 727848291 562450507 996322897 685520685 619377907 102687657 277869663 643457015 169039871 395905231 693100153 369655429 654860575 639101115 803669965 797055111 685538649 546645271 928753783 740928733 282808093 305301297 398495863 577337989 310554943 45445377 770905781 600698799 761423867 246231589 416545285 473385131 881784313 379033829 710859807 238458615 971389251 936191791 871450275 714912819 221566543 21799325 493607451 976256813 487607549 303833707 922814713 393202901 716556175 430566019 370978967 755899723 984074163 757907059 836182581 963682511 829517697 726861169 230232571 885039309 307346033 425277535 597864445 210541271 712756845 192921793 445729585 374038955 550348481 590038985 25274493 447745577 731723039 161352525 2929573 985747039 243496105 90220237 134215261 301595263 518225123 892336753 415753023 992891365 972539577 9297925 630875849 222910483 717283199 517518851 53173863 428699571 673371125 81438857 579191147 928336797 390496065 407350881 410801677 946850249 380154861 198361077 85803117 368787033 690765039 107649633 986730389 903403163 968350373 607031907 181225079 677566977 478329301 735389025 122682091 336085287 19159723 151013995 845242037 449706191 842766781 275060023 452183675 319437543 229123849 371324711 682098383 82902397 736974065 70901313 633830189 624608721 864074567 506308661 482365683 926252357 440044091 684847447 416300139 235842147 438385007 934552489 908032455 430582751 565774565 648355795 900845599 520423317 890302989 77128227 239460471 592186761 654651065 342812559 383023285 286922979 283679785 774213305 538777771 977521401 780025857 102162149 770706197 376635461 916663631 98683141 97288335 961983339 924389255 236752559 328030887 720197173 478156679 621373731 265396941 814456983 551316629 818981961 869200219 404332463 754440029 174777261 599443087 386044091 58459893 352742281 261137813 305559593 539703257 827905979 383354749 321217165 214817521 735204043 956648513 406424995 271309447 826513641 202742723 585069899 206161745 788355819 770608331 535569041 74545519 614913359 946020875 327335595 77307747 720991551 55190299 240675313 283321627 904113033 802957181 742166761 251455727 447858597 594567067 887545147 797982359 324973745 515273157 343249085 125285949 358279797 937030455 337623659 223176557 372564575 733232397 604042085 99463195 774087817 499681109 414710777 724832677 325375151 250467839 769220759 208036815 960319801 753026531 473132255 5328329 196259897 135794627 540076689 850110759 173769827 770850121 338005655 289824485 556318233 773492229 262209033 47592041 772515423 870368881 850124573 197070465 818617831 533091055 611374139 981551201 888704009 150110917 425212649 212918953 337233857 613193001 993096927 307556443 290938551 231777841 373802743 26708965 12177979 719758303 736265779 302888477 381401669 199417629 8891583 163445567 468254323 158652091 960325869 241443827 291820301 636007539 513220155 579874373 463152131 86348773 965559881 847388839 775489003 789049245 60098533 626902779 254162179 817036809 853114369 201045891 550579253 855654021 550377145 447307759 494473743 218695761 786731087 330138705 319509961 240088983 680641583 794390057 808429633 4771943 293780973 512190299 759331583 879352761 612729411 268212021 385612593 265561203 376060435 622391147 138351279 975482969 132602731 902090013 860632315 899194657 816784511 432577483 167076919 20168545 725330599 950135399 421709367 596097945 486838631 6379589 736581999 143619895 878456171 114026531 817727489 655642505 437400455 733429027 556946097 939617481 604211125 682878933 625953777 962259735 463263769 357679919 178742999 587809149 231642621 183247243 235315747 257256687 429908181 97754545 414667579 524592961 111427389 375877071 13412657 310764089 3106809 649421943 783204279 471605375 915311345 599393193 670534707 735052961 22014011 459104713 444908199 694099485 679768848 133623459 308717763 934309457 576641239 410275439 829497057 530554761 578318873 364598985 482418431 654593523 470503815 378988471 660009923 316200105 861302527 495345317 174391163 575731375 300879493 541674855 74799907 546508779 965985601 871053631 76266327 221198385 652103819 254197197 877740383 285855289 531913433 634395169 921993257 637316771 762647249 600074671 659939149 301629177 475362879 191758679 248233485 254980781 205515027 220243035 597394507 533106201 63026797 802133865 416346523 310805883 819383691 392366999 383113777 781186559 910003421 62881633 356882413 28443319 971748083 909692335 145442649 629328281 89074059 969877709 941050017 922244233 551862405 69468525 258580637 590590033 767747311 204878769 339771853 168830367 701745147 242250781 165153111 499798541 979693059 425775771 865967115 455719199 109397901 757240709 748926305 569108795 186629187 399715989 950771319 342938803 322975223 401481201 420062997 347130563 769979303 568864039 238965419 726112905 580092531 590063147 491943759 415629327 715136681 626335835 561002175 961145159 464278715 414244733 692264293 67338505 135359557 733364925 455902543 149842967 744531209 659554225 534514995 114327579 128329203 629522773 980785011 651840679 951525397 715466511 765229333 333797937 101676461 941690799 48908999 320387869 82938141 553964645 635970019 341012659 532951023 348182483 223914853 351393317 887234007 313850107 654207221 601976715 694454193 913101901 570992613 836237543 183062655 560546459 565606953 641384739 214667885 418168357 865688931 571219727 783583695 726896015 775667159 325920871 229984287 942590693 626053495 151423687 527169281 448319135 972608217 874387645 953279807 876184729 42001469 705512633 461030861 905495321 458590857 833950227 596806855 868489163 70535757 51502093 737347185 70817475 763499201 674509521 735382067 752342915 250060995 684247663 915077539 165286891 412887515 634605537 188937083 288467275 17939769 957182473 717205151 687816535 113142449 715236527 367930649 228670255 583192007 996107141 664221983 900607061 51264671 24728867 948216841 407761847 914317065 167959563 44903259 682797227 58940283 790146471 645374915 525365743 245727255 337206599 854827537 164146853 66820514 215161125 22260289 620289887 697149069 610691937 303859319 538459919 864140269 69956871 976265215 592242705 272675459 181746949 941802569 8464175 362410423 798974775 125359091 859685011 95385749 467929949 350242753 267880145 480743127 832888353 667981725 578245097 929619933 352920083 925241241 804670015 131180971 189565613 681913073 282190753 463335411 44843855 491917067 620457027 341672715 972616773 350363757 517103555 695206643 160252351 175813071 112623655 843012177 779093715 326019849 213895387 295321973 900978311 673459745 931523509 83491671 679167171 889641537 638309363 887711893 270853975 687458491 506677047 795741815 956204285 709372429 763686547 763473901 195268181 810090199 373722487 87659659 888358635 183958759 516414149 260163989 896709165 942046767 425020351 340327151 166797431 933437899 76236051 257205799 280817671 222840573 129555417 24103289 664069643 441047089 7441035 162104001 403448209 938004985 412642831 181508229 372798097 205591059 397435057 735485689 987508977 796618847 567681833 370871535 386092917 985016299 419511187 490918633 125468369 402768361 50482805 244491277 241200287 627236021 889551291 950365485 952178783 954204369 134295995 398269885 484846201 445529577 572123185 935664861 37941057 136950225 186576707 342099031 845941231 440866179 241648255 346491799 157268899 381136419 68385243 6801077 210094183 825907707 250554033 2316143 438997549 754453887 511734473 192807983 486901711 348859979 697101647 305210117 507119629 114293281 950795227 800275619 846759567 977719279 591089509 66040173 558090983 613669059 880418135 88271465 193454993 94157533 987844219 69787207 479831787 617585823 788503049 456820317 682447423 887135125 934566045 658378153 591865535 247038831 174091581 559254485 462984325 940067083 444699219 66441263 162684815 856465259 650399417 27770541 456084683 102308541 195889321 12539121 880097029 445116240 471707337 342128447 284696059 404689059 554937127 661230987 928957259 188714071 322772023 858934887 966563711 24621367 813330903 449480725 176515849 274932281 329385549 726729595 61876545 880294261 45734213 866535723 397649259 507460913 280963797 311088729 139287469 144249045 258990715 553025509 41625625 91854329 999341081 120424281 813419433 630299987 174733056 654225886 886102335 828339145 661769443 497842515 927893667 505355111 271868129 612666675 408732039 264597597 660712061 985387429 247570565 904058379 289195175 723118712 138257947 202409969 567069873 827876903 431984565 74315449 952472411 555035853 861014691 144660795 413667273 245497651 746167073 90592621 587117705 369317319 710619467 495345013 363067023 71908771 998540847 125451423 67547705 607352707 4368573 565496413 918413387 678355665 266283213 548179275 478679797 818098331 945740323 130509865 411410635 883323543 409799013 22436583 728831433 105748519 722119973 442923927 759555159 303589201 226798301 982009201 394912319 558028739 7105007 656130525 857064887 927004117 266933411 334774115 331367007 154301319 492373289 869477047 192907833 507122049 91212957 342277045 379579059 887472143 914614273 432129119 257245091 685997099 188716345 692497889 56531527 304190067 356148765 800161677 567335491 934545969 653976929 13926881 810719395 812250191 567386023 27450751 598831839 892325993 224058491 984094769 420722643 831388605 33391437 117668843 750340291 297313329 825120373 260478921 906289759 509943125 395908149 132061965 665098683 234614113 743002549 223360547 883178835 969088563 527090187 742478239 777323021 607257171 726406955 133356347 169672247 48405487 7882999 801626331 771067013 244875745 961587771 350299017 669402901 106550949 182904741 545069177 897471597 777411941 626565841 796199431 559917177 115899631 147636543 227664055 19005839 386451129 939142489 247825457 751009645 811019237 400470895 733639243 108781111 220895287 250072251 98659327 586789753 655631137 349732957 377334385 360624939 293108923 897910881 495455723 560934055 178812097 628495029 944163555 293671863 819990427 220943925 202964721 606893443 118137689 240016801 72223707 552439715 194229427 700558497 450266249 128398613 512046601 942236873 284429841 954318141 942729311 933075089 378091181 301907177 841012839 677240409 25009347 296530765 303135607 267947373 680113113 498773767 742757005 974071547 89451943 91195165 872740179 975576863 327833349 896619515 497837847 161642969 603802873 803270263 662990289 961095697 715971499 717266125 106978079 675599003 55987571 411089315 396287817 273328943 420132295 702794505 19123773 329023341 7498317 709387119 983841941 847942111 650952657 396635319 471945869 336429305 603053893 372815139 470840591 252855311 444280515 268154465 417655465 17276007 57333393 121174663 568460433 695060519 351014937 412797715 622814633 760227683 321986285 33600489 350316405 673084179 403174859 124454485 325079847 424796695 957138835 849468943 118742165 875543609 236966995 954262579 268768575 979733291 486801469 432804935 115442509 464243591 73568429 669468981 538337419 424909771 223584037 341628503 561615219 4498789 978538577 742518887 140317219 308906913 990628611 785344139 687020387 247055037 107839289 219928913 333690275 297877719 934036757 814322605 764551673 624856313 546735585 433648639 341693221 523099669 700408593 295913225 576929421 443621379 968260929 364064505 167520065 61249159 301962035 793759845 570953463 812358727 601616595 114337609 172247825 837630423 64704565 760589837 430559637 16511149 192443539 798760571 574638131 490161709 63466319 778397387 664005951 955617439 603766519 314750105 953789627 83674165 622148671 27582953 25572687 421723143 875467007 918559275 211469641 680518425 959409979 344354609 433730463 969970001 837301279 147165243 916855539 681671809 16409855 217360621 316389001 397717349 608826965 251139157 360972115 196677787 827356869 39444455 40393447 378767789 942674457 433569409 590356101 44021771 784917575 573501801 851537429 658914835 227781735 352067915 251577635 359215105 92829117 855827261 208741865 57773313 520332471 8449979 794898501 474919459 807213029 628835755 397637311 135702883 837768451 33537373 683339143 589289629 307577845 980562817 662686579 686968991 75816391 157275705 746606849 46349337 331773353 597378055 236616539 219563171 696534521 171989209 484050767 63914431 857850171 29268741 878971989 556064215 926907673 614017609 83069323 476455741 891772261 795892937 447516345 992771367 2311451 891899411 589246797 282339511 128850271 573978137 901284193 8123897 700492413 302366781 774724273 600227037 98799847 594989123 995324837 804882491 6246967 612876631 201333839 968325845 701504051 703636237 473345379 453803093 99106245 976768101 822805827 831746123 386658303 579711173 782958323 182713649 424643871 530158839 826898725 225195369 373306757 543158833 891671345 396729913 42951871 768057105 605269009 544115927 109810303 208300189 996002675 908130649 133280671 744528707 788151969 310307777 411193637 789179349 849828245 629354233 748085051 265811088 791479277 656084433 276116021 471692831 407589873 558874115 690334091 93749385 474854289 37114671 281156325 938897479 499783523 207973857 308728075 877442869 549930405 776606343 482354417 959573399 741587777 806236797 842784433 938043165 882358981 326322947 177490579 434075097 505643369 539748931 498049533 425409867 270499851 717897805 71305859 858761559 266523187 147779611 613150947 904400203 975728399 293019277 688014335 948601051 55400055 78062447 714220513 988914469 864155627 336231535 859157181 338302895 540321683 845777449 327533551 575892325 853347645 992736029 452074745 440222109 252804959 341102259 220603015 853290259 960152603 331159614 874472813 803279599 639727157 699069433 771742629 116603323 145790495 875196929 143432531 764946029 909568239 37994849 266641857 756868453 621315429 541533453 105905253 642003301 917815527 594272473 483667415 496888989 813154949 137125515 431759579 819740063 956918263 197936843 77760351 671896683 675400349 229726759 668173681 586743651 463983227 608101405 172845139 371955801 468986689 450108427 436832611 553949567 506646857 796391997 98986285 635553395 383787153 773515489 984045159 425895739 416854973 206614289 691121385 957546305 562177313 960548305 605782199 179750495 762597811 885080329 467320063 704061903 419500561 678785671 160412945 58548535 387606402 813569801 997069161 84725671 795889399 531766061 171290794 132592271 271342596 260321917 706469027 17152207 558601197 833854059 375239491 571767213 970302103 435658577 537706405 236711893 372204945 230191981 739385103 479833695 392962833 33724397 593435113 345360835 792372471 618549725 462847179 933536491 274395597 73824571 914420587 107357217 547341247 94995429 954721199 948939805 461720485 719600293 312508067 37239547 646408191 947271725 95757689 928688959 578270707 319227925 109022349 404120793 971300945 378636257 23091295 525263387 995116177 276829687 985082015 800102597 222994897 119493289 17261343 899401467 896490969 123924275 348606679 115453003 365202969 101331635 284309743 28238505 685338791 797882163 946382767 641448821 798082881 70659749 731955083 421039727 854872145 690258913 535681053 808425161 57475557 418994601 53273387 316523543 758439603 772695463 826159519 412838743 937581853 319953773 883908749 81169899 648319529 889577841 694027823 542639267 825478789 493107735 989869287 43415221 422647177 395603111 27361347 762718397 596386359 285315667 953332724 60125631 983788593 423614259 160590041 466695209 714718923 543732041 283927539 111389395 740759033 190696319 871085419 265331701 751788891 106423975 24713109 852131385 268691259 25024119 636435951 806767019 846817669 666011281 805849627 342513343 384340689 532617089 224213731 417197395 627632991 776453559 88581437 552647083 133351445 87822475 457077057 838110071 932700547 608653119 276602675 283925707 857541345 548163069 717655679 487862051 769528589 840271575 355387065 337483367 507430287 719033539 174994075 804585953 585633175 396008099 786341129 767020871 681932025 749404739 437353997 450338231 206113081 743073619 118067165 189689015 713726075 230166635 885524433 885621045 177683085 223125517 250703215 628814467 677046251 560108451 942561631 835108703 196265137 874112637 578517623 674491121 714916261 810671829 479529649 706791877 796403003 61501643 956650545 820011725 906707589 362789227 200086083 714142827 326586437 920092581 330328153 628144483 233069027 169129297 541246221 151253983 868807275 83437617 696169253 516826745 928929687 880148205 693048969 428609835 974565063 374934553 542083407 537220699 949794303 445558573 352785587 534041047 401963761 309934475 348365333 385945043 601911283 983748985 289844739 184156653 667102981 218853165 584807725 888158763 653241549 258393021 194004339 515273721 79785883 632755753 211215061 612228397 771838567 181753951 152934525 3030787 780273615 904972333 305748931 895367971 128324891 452840525 269668125 990274199 597738811 479130463 809710387 255532247 389902275 573063407 979698125 834216125 672276471 954906219 868935391 205968275 643981753 170691119 121780099 703527425 906734749 825635451 306041599 417229087 349328601 54498935 744400829 106892139 807808587 847703863 59190353 289481673 211659641 809530547 956989555 221612679 111383701 954134219 52662795 417369 732661879 773231177 849658913 544334685 195128731 362877921 138743785 789098009 283293481 362765606 692023231 374446711 177666547 706638241 860635685 507907281 97510253 967819189 863372999 840243425 634669239 78217143 286918521 840189647 326839707 839737055 24775987 817501221 175346565 419847245 921575709 623686361 872169611 900851211 428051327 107117643 1591921 753723915 16655053 100354109 547839899 995579687 207473827 897525725 471746587 204968991 719374533 72634049 3605667 428468891 821878299 965012967 437883799 547986479 588075963 304388787 881768957 336102225 594211807 359608817 788638853 846965861 391204075 704794841 800905347 207125683 742499945 3093511 340937467 767499631 413952013 983922815 785261457 53362349 834212019 852513969 388595091 563349619 306718559 853649775 611983100 231717287 115230777 792424697 878719339 607551771 769844631 211888117 397889315 872623243 591184627 632966765 517326359 424930197 585818609 214883543 969016543 343571139 571432285 949749009 752777143 390796423 856775719 698078561 843593095 840817721 68427887 233022835 966445281 633100061 953343091 896370525 192335609 160536921 669902243 904370843 179311279 349048063 148723599 332902165 913477003 203601163 651740403 195957781 108238525 916989019 985452211 145312083 556431899 872918713 776034523 24548331 385320229 811496919 600002461 131661153 973848577 893061709 315895891 239179427 732412543 203595933 881845379 843790601 434178839 676992049 524672215 618712909 765126631 530869851 332400161 366352019 118816695 146195793 847669341 81972589 747726581 173694775 576681393 866481869 731686587 811027733 251029861 225131281 851463620 875515355 360294123 967564031 100142973 194433383 406946531 571611331 961871601 985812853 171012621 963299571 609891799 369255089 927868501 473545611 855325585 446870443 602367949 344981233 908353573 41752029 740816819 486003443 107413825 968561833 158288743 186636231 792368445 328818263 926134647 511879431 880911897 681230615 432987797 827796155 360413307 665428487 556767389 331667025 666348213 871256099 634849681 430808987 965828539 844839767 665691293 870241753 932268077 725384051 785288981 113661613 583032149 174949681 28216177 179752233 871426589 720669489 102179929 698632895 264274977 227907327 567093653 448567373 782152351 135642635 505599257 467096343 848983933 574317741 550762497 607974349 104180811 848340263 294553999 419059585 473168193 778715299 743363121 997020339 951936061 596440113 84841077 395859017 598618567 399048651 78767643 988228749 51504653 11520337 588518149 680850485 501013993 238501263 457449021 985493855 46373335 818165555 840989945 869793425 855675649 62356953 384278929 674021815 387585589 778950913 997221001 310332711 903590121 803526933 811981709 286097055 636583487 619370085 435447921 472896577 151878651 842474539 625685551 261211039 425628559 455611783 376916971 182751401 264641297 166306949 629841905 78157505 650658369 189203 334004401 311753129 38637447 576493581 597709259 296319121 24331503 594996787 88776445 267125515 568960819 509508399 487806263 472819735 40997043 901820047 620674953 136828697 591137395 993218257 213686319 362781407 283396389 9073749 832466829 776045213 885069853 40681057 57262895 541803249 248826463 865597993 594333893 897429729 413058447 894133191 466988847 62758617 545006333 256078651 763321707 611793837 384958625 604949869 670656425 534299551 627000345 387166001 469065785 132595535 55796653 748322367 493420697 854463693 663693643 49348151 45503081 730629775 248647565 520976291 324545141 950270575 527965871 201607415 761794483 642901173 765359003 254234503 557731389 158968079 793407197 745971353 834594901 128754575 912372145 595535955 525435749 60083125 431699697 223269577 104205573 910826851 371387945 25837811 826555371 640971243 489934469 994475953 277973759 625049343 241102301 886797005 559292489 160040381 457401265 48662009 550026749 641131945 151384105 734901711 876562293 887704499 814128913 189073613 55190071 164843311 59748579 974052449 917135085 68154073 317957565 199636439 26078315 348394455 821644903 66482029 440387243 584497847 648950609 192631617 584538575 371805293 442658705 450370653 593891109 469405527 84531687 551827379 723123743 115769403 829113785 773456669 95641945 534697799 454491159 107212377 960320917 979718413 665537719 451382291 371267775 327403403 565641467 265915101 74581739 872117545 133934313 253816365 583695699 431432625 413668399 681228135 297213275 660882779 3024167 549816019 46180749 532382145 26044365 220823715 906121885 128139501 288664267 3185649 111939175 919057991 890263151 847629243 114737389 157755305 811763119 645768685 434445149 674074701 151336237 870526553 480758535 320020441 971156013 695189429 812137063 106963803 515972513 986073253 607304735 281535047 6893343 751519409 511592447 666735995 132085223 101104971 774193141 917591611 874349023 433874123 264842015 176891191 897091225 177547635 747381441 568586115 343788617 242395757 290136387 192641949 669205199 517439689 578139451 934257767 957225139 934347907 382092899 270004785 215669797 920525687 610751135 287412145 865678843 771987571 272918267 789869313 727075507 783495207 722430633 562067113 254871415 908614187 892418563 205027479 158965013 153238019 267663757 247186205 785087237 224384533 490145525 691922939 931276901 15310003 576463883 11489621 737818365 852067095 496013261 808755383 155207227 755552867 707175259 919442969 687802935 760677021 383995137 996207319 395624627 706047930 545559349 595954871 314745873 904400019 750872465 151175907 688500837 435299815 971534805 955511541 477068387 421350753 831580913 898007527 806965869 465408657 491168757 447464735 957654407 316384241 759529759 296211819 629593187 407864291 108629711 487428097 837359703 542421422 179404435 692267899 543033955 853033093 806110237 930982113 345205295 309509761 10107977 269843103 363478791 547591075 785832473 843552139 994290405 180592341 657178551 300385251 375017319 259476711 988524411 357269577 78993621 35027347 723272413 354947791 326636319 921505913 928000895 747289063 863327963 819807781 465722415 445182829 69392455 547314949 585546207 25727915 455028813 953853557 693386411 263632457 708989819 470021045 746282197 119423329 834171145 56352495 273117129 351786093 13425109 917911091 714025755 838057299 900651365 526222971 300818821 833339233 633018093 54008487 675703785 259003979 661993023 255935619 264428629 275661103 991570653 359334333 522823933 664921491 362546927 323977969 473708343 974356579 523463747 970669727 841260685 911376627 120523599 289974831 248103333 616806917 848737331 526922997 807915861 90627769 226754489 959074601 981786007 808481697 850874445 78556395 230594189 536673197 563165959 366143815 940778887 569774911 78152359 228211499 153329139 579072281 245773459 447127155 390980719 479077225 42530267 347436253 297876415 967129797 125447735 280133399 122873291 112457514 678155525 299213231 83834025 764291327 544535631 776682525 398635411 954334735 593359295 100775877 813893613 264862351 513693617 340447473 87418945 134173 68275745 913348559 650077509 944483005 132145081 764140923 241346257 520008159 841670343 498948851 138297579 6396247 481460291 682161189 817731771 434811489 28975819 717669597 882989463 393885347 124243365 944462297 860339195 85484843 713790405 540329399 543123591 198270831 674046653 578539009 895504135 485874249 240287695 813033513 961692529 33005825 953861347 683903625 231973085 229653571 902435719 868945247 674940561 520518437 194792433 37948377 193197815 900369445 147852801 158419715 245896865 277333029 684886081 414483675 318087501 241753975 168517853 169305919 504559323 970134733 280367789 646905081 163955289 877609027 968347695 17140411 962433783 179360355 643275919 966610973 723210005 360640789 74908823 323488419 516914483 154236083 656562113 827069107 956212989 282845431 615261995 534972065 543266373 873496071 87089309 624186275 910117897 935488881 658634119 868061 56766825 919592745 22026749 167540823 913712307 604994701 561329603 934701059 250637401 125378403 118595901 307457721 769784311 22021847 292778107 628929341 864252239 645137535 875104819 904760117 592575821 573703511 9938631 28835379 239799043 617355975 815957821 129424561 547483311 275333529 591371331 699431185 103126707 110971653 934681905 274623131 426228889 881089445 660644617 649104001 241504789 325084801 322033517 440619227 805717507 358335495 767325105 27511211 516480357 877590281 849009609 164070363 722379367 391106503 355521365 95523389 33671005 380244197 566366367 73944711 899072961 140328561 171040659 591052893 55833909 942119135 585915593 542388807 247590537 813322251 527485055 362784437 931166379 526938175 883156385 361962755 814621625 556156197 231738553 154636403 524463093 518806227 658744577 123582761 490712781 187907269 104678231 64394045 360893905 452842209 884602691 482004899 485974461 419050101 372479987 808151869 910125941 722610487 749262657 651803095 357789443 673242689 111922347 63959841 281156763 302195483 437211733 734640563 53778843 543357105 524965907 575306767 449369473 845588569 750201947 140334495 976438523 811227857 496259403 745751987 315765983 906882877 843149225 938734725 416097571 60192297 80195049 156179509 374326765 741235853 569644829 568835023 172717191 489857733 978287111 932155971 516060775 16129941 438219791 860516713 696880677 393674029 805901377 971638019 275726983 68860447 313759319 575422905 460264311 312435819 389680049 959272479 373378311 667641463 703414355 511853997 351119475 51383819 192587247 245401029 656639263 856257379 838496987 652204717 776704407 391684119 547223831 121546907 961117837 704970799 9105737 996269221 324898779 29868311 977569217 640136141 401028487 891051685 441295223 138593275 863646395 313916437 388864265 751239427 681854665 25380111 749295039 341653917 990711343 481820829 202173575 645890153 806071693 121817653 916954875 648776947 800109233 215148215 419085913 700063401 775272333 468349797 94330501 644504039 871322941 205287663 301101331 445115629 167072003 860753511 673956409 964353763 379612489 619866189 720929747 114888925 173834919 429440901 132789869 514514131 916853973 250836061 997315635 773163685 536619445 348958089 622004223 923938079 476774997 300118311 886237773 402606831 247932391 957263803 177467973 79852463 511046855 536641333 941662905 601286371 327684983 258830313 77832989 695353587 907765155 825311635 229351569 154307629 478775583 406743129 703661791 351272399 149479653 368527817 453602673 271247095 419335703 199332313 331662947 726349743 748802309 857832419 166071667 626509803 759203869 754470831 215689991 80276607 318170365 258377323 178389807 494617137 25393511 175563689 33972387 538296999 577538119 24544359 589522368 268181365 533989553 308561933 706195345 591390993 233034463 486585191 137939139 656062431 478442293 730274217 698173611 637358889 873890109 505220975 413753421 418846237 259530925 883540931 890038605 833106133 912638557 883668751 4541177 624590677 185956689 264209447 841611597 958344323 803260343 178780491 614340069 182026033 98931679 557750559 611872007 600873243 448332101 357697969 306093221 622291423 980247437 606003061 474787671 907166727 450541953 583745611 436719961 869906949 499290135 638481525 564011923 47170353 198497127 587889569 265134231 205146831 742956983 429164517 450951577 805553925 975231087 818570429 730977657 171100133 234571045 245775889 582031295 406686827 91035797 995480363 457928603 505656181 450485151 332042179 497430755 763533517 345981521 914529523 584795415 600066085 238183643 164203587 518773341 827821589 151236765 650567841 176643717 257568031 6459157 310163807 644273671 16195757 747992819 569351997 793290497 634368529 506139911 589935967 82400315 745899393 224357711 846445139 46629923 867292961 304452075 458624269 644041683 966980601 731634729 974716395 25384455 935998203 234361211 435890099 600200745 547707903 245399163 920201873 988293959 583211207 816185327 120190233 319484695 23616509 359617473 252762445 350365435 886261297 286536709 209821069 196011769 276958429 185611763 928839081 142388415 300708195 382866163 684329943 454374053 412068875 778723725 545034161 805657771 153523463 993771637 367019327 862035831 655519087 253084548 184798189 816307547 151092293 899010755 707555731 410911051 935895923 559002969 723728233 429689319 811977929 466781851 126264089 917159031 981652737 600122627 94108077 171753451 211084477 782073653 158909085 49284057 869382531 176116987 935242949 545610625 426641097 10569289 611876715 777879753 713690853 138862651 955487545 718275393 895536153 632274450 336571721 903483681 787043727 166518845 812108821 885263943 517653591 47743821 265872515 895467835 646639723 728110333 803868897 472864299 145006507 720407345 735775203 951489521 348811491 256189683 240947113 879300361 110425795 156376439 831471797 88312477 247202017 451227417 29869813 719325049 603317443 943007837 70204607 612826905 9004241 501746411 738557903 58144919 76041563 443542169 531394125 377025471 22272923 227314785 85862851 792555005 481163441 968604007 978353193 694208361 462483113 270427125 881467099 792066499 607833457 368144513 338156445 596797811 724039141 717064355 623317917 592142469 758624965 460222495 856257651 519130547 176384443 983288291 906424089 597886813 616870999 991933183 704263925 1792135 708169489 119941039 248550099 101908449 295782479 216606295 530065387 132436165 665414997 826821763 913003739 727018033 494703961 570111461 229874339 277125067 41242735 600783703 412916149 665881827 571795101 933545439 715094245 449597297 292564171 346513317 47364719 623525651 913748423 287838975 937972987 613062673 549146447 797530473 934704787 764636249 97633025 981210243 149918125 260692613 569357673 204640539 279074345 495350481 116319477 820817443 833821769 356749863 185684737 171370933 870608827 925874451 24346315 465072663 943311509 108928721 454858369 453361331 265418325 670666299 632409135 654569243 528060639 264873181 900727507 155724813 10740609 433085923 221017419 16281705 564855789 905125669 325039969 213050429 393924421 82108963 581627079 435132347 963326733 35258627 620698647 349843007 243873841 621581207 568100305 50634059 560898565 424009811 126802269 649906059 59988809 776262487 308370445 825038289 255740195 710888299 147708957 98693659 557041179 263935231 521611179 918792331 553549101 400552745 324988865 426319979 71502001 134389415 620119377 220762415 990608239 528545506 967945269 437508465 601435539 507893997 329884715 399456248 476633523 544268919 817138655 487556269 860436429 235559141 486729187 895354785 760763459 363606077 736457645 695874067 367421159 656305709 218683041 808396133 749660137 414232335 223911175 568227361 79630571 981347551 895744273 562001149 382053359 227468359 502496729 103381967 202915429 721560979 839893085 606207649 683957279 634704319 141220489 179147417 839954013 325008741 917073455 265473805 650063043 232474577 345788933 15123063 971357279 78479855 851257519 995842939 595737765 260154199 524021685 553216995 568539763 129312585 654677641 592971173 22261007 140040619 974520195 30823385 694288165 763053071 95682277 779628995 727982027 318210217 598526937 929391057 479396733 171030873 905049969 111305875 164965155 102129831 309129123 290620357 921679623 41348803 772646995 959915851 354703327 385048195 335102537 527019567 715416523 721987685 428210229 173808551 351304013 251044755 374609333 446685195 38228051 102741723 404124229 974900705 18856757 838617525 384556113 192670929 761984939 420476223 868252201 807737011 978295263 371096385 943287047 233250941 317246301 270692137 182816781 27007829 126123545 832417551 529564995 508019079 353005937 465830069 651281561 605637509 113901353 625574013 467144939 447377129 669513841 183853691 682512121 534837625 250574045 439755107 750475885 424720927 66746217 232015767 864644311 909331949 250568059 850085915 273115313 81903391 11068897 128967585 624155229 378185243 736841167 356758911 181047075 169325161 114606053 481003189 615764019 450986427 900720421 397744363 954528681 958279921 934856701 367298925 390003077 438347019 974657859 753548853 623097009 37035061 802522419 326544097 340368893 313031873 499395701 322299833 58670371 2456109 392422163 203681453 215683525 528694299 897065861 549832787 91264105 209005397 571262887 15874281 967254405 994465487 337740733 143596377 288941679 408385187 868365687 15078449 840774759 243608343 657106663 945874089 552333211 239810965 101341581 736321951 369847833 839955377 113057613 868397721 710906075 427398693 555805557 125067979 247354561 294973397 50953657 44374535 378349463 573236427 227022137 549251023 558941963 221963579 403385205 488980555 907993529 282656385 232473439 815938889 114379809 987301919 913431115 673500991 846681003 426626241 404223221 755963469 180306347 447185211 472080517 789550909 527941721 89054599 841693573 390681211 332922325 613696969 642039021 209211167 503261483 45569355 908295959 623258089 960450377 807995779 72251083 25079359 127821323 953675017 111407159 727187761 638262577 345934497 996750829 274248823 986210147 799236151 963517933 943750511 873354549 770405343 741206171 740491297 470937629 434517715 656922051 434358845 67505537 8344183 445295005 383098393 68119461 369777495 216494533 246298035 949842109 277782051 380956737 305269685 76239843 924239547 83781757 381688429 59836949 865567517 680006221 20404947 429318465 868854393 457951475 641466245 260160819 185057311 711686159 424494025 352161449 850794635 234471601 10622611 408527937 991264865 631607885 692467061 992353669 699303789 468163523 406240689 290933225 655944607 60709461 90257199 247190465 302285847 135758001 958260091 387924307 475081237 455732205 878612689 406548933 392487427 704959621 493341451 222057001 978075769 504645985 5711541 727468155 321100589 544232141 602292217 311306393 187347461 70598523 351537589 152260429 22607373 879142797 291389537 59253577 625574007 724894597 254560555 694213671 279707549 942089555 863453 263733605 603198469 697555275 756377841 815948143 236078937 637595945 669414533 556874903 841085803 580311315 852357985 395902995 997689657 953370261 499374325 634535687 64809957 784074153 11874133 536063867 438767031 782214567 308365381 747199329 216977703 250358871 660744233 223921553 389130703 662676709 397454609 395760335 2398065 631896295 429775283 578466497 496738553 125320537 22614129 507370233 361825659 743870881 282906193 354558961 170574639 415491727 530263553 302546443 283038845 858985299 273381593 853344911 4943597 422284943 558257113 527615663 539843123 893584197 949298345 599746179 781776683 690031077 878596247 596670479 758372055 257220929 718540185 271219769 129664867 630333337 383534415 499992531 25938211 612969873 505091587 415671447 126905745 562162485 364802465 941429799 1264209 572152573 252005569 660864267 161726509 195120325 175079841 883493811 59795481 596655827 41082669 775463293 915390513 757365971 778165743 520698277 180216505 636316889 338459425 145126487 288519961 440553575 364691873 121651107 328454375 215632733 313907447 320256643 873543901 461804811 505804880 781860313 224273375 531294501 691827081 591164779 619760119 541057739 26096669 379260655 788827995 289330559 975408177 760290555 101463907 297083951 450625945 99432465 401948563 826707505 561843403 747006363 212674713 34266691 717678053 488470761 856924997 276649351 281893293 587527733 934949267 362643087 9093781 194029985 804687271 861244493 282365365 729678899 487729357 444950813 475405257 510396129 25264757 455327177 194335289 609277313 233214783 896555131 112186391 470246357 243458537 999972295 560435991 956531335 657961571 922352045 457990811 215645223 791881405 433783953 275135655 959032877 823582773 209353281 58046701 912820223 478024747 394067697 191901123 712550883 825123115 188287551 755534633 614540809 643607019 27341873 990890949 251013517 822441541 658730035 417742311 911640431 799976507 246518299 950169223 579972503 352766199 555549991 459295811 621386713 291578833 758257401 585429603 125441773 660938047 716508321 851452373 970750835 92162537 37272469 382654003 671703287 472859029 750607537 23605433 751239399 762193467 779494713 122979153 659126687 577759477 645867483 211657609 630623 715215109 521056687 668893593 526969167 730391767 394760495 511093085 889586307 699883261 276467521 513444193 403005171 986593077 435110961 729714129 652904575 704777057 320652983 274886023 566755315 695537803 420914415 849531135 284323325 814900711 405226847 411341153 755306041 652337615 432954355 895595903 789450277 547552459 329882369 182482637 272608303 885594241 487810629 791236203 643777699 542037701 502521829 153196065 629047487 930012821 418099055 971440991 741412769 323173139 716298969 913223227 578431317 651091593 519667581 243826805 730640841 248042347 787117347 433919091 224960983 310738773 418878711 301045829 453456963 37149707 964673679 675874467 244188851 553093237 902504169 825070059 88709307 734674345 612269929 405481253 799262417 187419617 704743643 130533633 979861339 910460287 26657399 249932499 557970845 555808275 869489369 326917535 801594059 33148235 247737093 223232263 390119165 138379781 460302699 73102431 295765047 500485445 690215647 254389148 516510047 228026163 480245661 986301533 975059785 357409829 691413067 110924011 112948650 25777045 886738167 392583987 476557353 805694247 651202581 760472527 312970571 519743399 897096067 824252155 792714627 983036933 38498695 340680095 611119659 235041377 623914445 794276941 124905089 875076857 389503083 907586617 366454449 413819197 409795295 17720387 991407309 856832189 391904523 434310131 118899659 220496437 313311297 291013241 709780623 940048521 548482097 987980203 768471265 834374085 355289597 936569097 595961971 174216731 48777511 5072057 924176861 717789413 139988127 840721035 594206625 438839209 349198263 390896887 895973675 380777743 393970991 750215707 818436039 866297839 30316075 616809151 63138225 15118911 844097847 265316177 842446603 97287719 509699405 58518251 798432477 239164653 303146181 257125961 8845849 243644425 16363621 735776981 771798679 124480021 894313565 393332125 374249497 40701395 967111489 527240791 636745 827035439 58597133 335173733 150003895 859147835 633215529 450685899 143260125 43958837 679450207 424513597 765634589 339934333 712819685 44454413 850224575 906721697 479432795 929401149 15197429 480626771 846718403 442089075 328813783 23360111 840023435 715206145 682391655 961558007 45365641 220327643 911275407 412973591 2602235 293993889 308044831 910378017 937004421 402424219 756752593 979361939 930427443 988792249 502741575 659606543 224223357 481834385 175005705 389672543 391249727 54841955 466080647 434228599 452524989 695475733 913102621 719958643 713693863 773765687 808933643 575151253 59459857 495953665 551509627 115771465 305496439 507352657 975313533 108495907 121758911 536667823 914118923 273241565 258074423 810710601 155368967 72685403 283451795 712672761 901443127 27048871 579880433 701710395 330437201 695412215 803584727 139518009 843432427 324954275 983766577 464873151 405287047 897486383 950990421 826836297 640088717 863241799 958295809 797414641 37471313 398531263 540820055 628180867 328416011 207489681 284629992 666208363 285500893 720769249 447247785 861480385 788860109 861039099 817000691 51621701 184965585 423105103 386428303 671780191 908315069 600884603 637177515 937597979 637462871 601426755 536532441 590003251 589262407 415938191 571069977 777278469 756909597 330768501 256339151 847792795 969084241 983201073 894155977 788749983 490489417 328204579 900176699 547569517 26459209 623030743 450981571 318899203 996573831 86288131 873385575 694969351 124426007 802830207 398913683 199156425 956607999 530845265 921308701 104191041 84352039 523760547 381750593 872492045 566634077 257470407 248574117 144606325 80069727 501724217 451825751 157321575 959076811 829210271 591754445 933883773 49733933 139106751 504569825 456921331 319684851 731515537 423415773 886614195 456746617 600439087 27235945 616535369 983133437 528437721 766478749 748583921 966171309 907478527 437009143 919213957 241075605 181026611 999636571 518864273 113593523 782610477 264221461 521092929 332929253 307776469 576307421 77439597 820285429 517932595 949775567 987985557 459515799 496044921 340014193 691583967 814091871 681501959 414856877 874257949 795770067 381027933 203251421 48414147 568350809 873604135 118697403 206817009 162417221 58243897 554819693 116721775 8596173 467154315 160486273 229147309 293672469 654914885 439310827 477712577 470164773 176313263 235819019 738894185 841452783 999485 502822563 173107727 241695565 925261195 882925537 934274497 725318653 244228187 420748379 542416439 827829677 648741017 295486477 396624079 378700521 489713753 185023839 583566225 145595183 155002069 272308763 645007915 684747739 897534831 177206905 678363383 311442237 714656439 825227797 290878961 863680897 48267099 894755571 571570627 417181633 492254009 722396803 245012665 5569279 769738835 531027607 401123279 76547365 42658773 809256047 174647199 153688581 206097171 368518575 736673653 903527509 287631494 202884453 383420477 546789561 765315285 526101765 504974735 551964857 185663433 181613 976396459 922770887 153480531 44774371 789769591 840136763 691222673 977647379 330366853 675505241 628537543 45129747 392848137 38343495 950461021 316084063 329104355 663108631 764404713 474456541 170700443 525116099 694955813 988894685 847509345 764026157 930977269 248636431 166333705 275686941 957741925 727334549 827721751 900545605 480025253 765008369 469341615 160262973 406720533 719372305 968622241 960862343 710481459 457929035 592359013 222634637 811689647 784686429 972892185 592716703 226200921 252342379 277140355 335062263 928032557 60360193 725882391 123758007 716973905 953202199 854032359 35797991 304271371 398769673 23860405 629858167 365107155 461861277 985500905 327786307 296521793 516664319 563298449 256785933 925894427 685903043 427314787 730281849 657238347 624842473 93545665 998459164 172684259 307325911 73987247 302913395 577596705 549420631 107671263 896480983 213133157 873104799 731045543 196916887 287216701 173164109 689399047 498062817 413428571 483268455 904293797 559745745 539802009 961194843 728239059 27022183 264463869 170502907 84439941 957029517 129152689 196997765 823025243 380880147 294287881 789741217 743711389 863240371 825802621 433069913 881107515 353632015 217444021 773496101 353587657 788542125 95996537 856561633 762645899 104712707 540887997 442740689 568508517 631107175 943282333 957298853 482485991 380409627 958691675 77927023 670440009 71535175 811079523 91319983 428755303 27651071 256016455 88545609 639778765 637286203 324565701 991678859 108885161 889445083 41275327 891093801 169171919 75316907 541232447 376092481 972225217 346511449 720568185 323487577 553692071 230029441 121450953 257319005 644336717 837515683 291506609 820356515 614276399 65609001 982606815 325765095 663864423 237721185 463016225 423217233 108163265 803914121 597561207 239166315 696096937 458243775 10857731 41183275 106285879 601511695 884135697 887929585 195736363 81923431 596169489 533101183 513495019 731346339 411675041 583871749 414308487 296105347 140541827 925229333 909422263 533855151 454407333 277445295 36621785 1609915 91605271 326311477 755075573 662475295 726646293 384534393 223863995 803863867 21218051 697155245 66425473 133078105 669793899 613759343 448398661 577989035 975826179 199599045 776393649 174667 553091235 540880153 970152979 161415993 404920657 739357509 246777187 456325725 721480757 758065539 223942207 528056203 141392037 343812473 873473005 590678905 218151195 890250805 21312353 420603083 569468989 787745581 450505773 109184267 696375761 636313915 349277075 895649703 379262415 204132263 452244347 495895801 973506382 959123741 311030129 58566981 629987223 415692981 705265073 862795697 505723665 26631911 746988053 954436945 427141711 349870749 404389671 628548123 575709453 964797473 586124567 429817843 468411697 547614763 201665723 545104801 297647041 6089431 891781267 804755415 649100277 885855913 186899399 634684975 867190311 795220881 222536995 523530279 593760473 559317985 847359521 318943275 491306420 774509912 287032799 802001037 260880531 396897821 104011301 567957635 16805995 341767611 506773089 792157489 748158047 842144807 943589037 385227423 84991677 600143041 427523271 600543423 306983415 297920841 368177429 914581097 963257256 549481201 537859495 745666145 951865749 802020173 377781043 91955789 727425191 919099739 160105499 595909567 62935537 548823165 261871461 916528947 578302385 487991171 433842623 504735493 851213895 799872931 420436609 495433859 157625155 164659065 559446187 877053149 618365011 481190409 334846437 898964011 42762837 623155137 46449019 500053105 725460043 229249911 177532265 273071765 974701665 698235753 713307465 391885161 926547179 621847611 990556007 634342055 9841507 299166203 212258733 202340849 84872043 97237277 365807287 474373583 653583315 384628607 414004931 236038323 425861513 778359141 598544567 728826869 834502315 65898623 783525669 307888855 413468539 257194209 666121537 84779395 104922469 252979207 419517419 555920393 175569405 689862615 112605355 759180643 840208893 23561121 753194159 444100211 454431817 989912853 185804241 317119745 662574829 638092627 895271309 339667133 593979929 450570209 773477901 709125699 626736427 404578221 158675231 328769043 381093799 65759241 283940155 254643095 287770677 443619763 842554493 269838879 1384875 950845907 862409649 445742565 881760261 448164595 403406146 875385099 726614883 379411467 414030413 296970905 526572817 455686007 416269195 768290175 785232005 818577405 238532709 228991897 749911639 739311047 565039597 814549159 753906509 386153327 834285015 241161555 984399695 540922095 205213571 783446573 580413557 806265005 419397883 468255407 36460533 74559607 640286187 705506361 232658741 772115073 194584747 498326807 910560961 672895593 583345977 513332087 441456459 711543861 217603649 999506549 688829613 473741137 118936589 786490129 435453165 516891539 105553815 416561973 250769205 173794871 248987005 617594031 509183191 75160805 401712391 358215741 381521 651873959 821136675 618336895 661485123 366076661 721994603 429129979 414661755 11346601 308334363 916399909 631348459 168012557 512234013 893459799 936268973 670514377 299176447 832908241 380398855 39963381 133701881 825353149 230775395 708113423 437223655 676509737 405093205 744826107 281906261 371297043 228521877 655153159 926422383 980645977 133040907 673178087 268957453 181952711 615643839 110205625 541125553 679806731 343318501 342972163 280332413 521775297 623674073 300074159 84696645 705867623 532569117 64908311 964255357 185125227 182076253 677644021 102286405 283043611 407762541 854389617 6260069 801945519 200000583 438371605 339173197 491512395 381330957 293507031 7099923 49451257 657074701 58378007 913638775 739402663 560205499 220877975 909518303 25067825 676388271 428317573 656255835 167031893 58928813 246594935 354959523 844285631 707124897 261395307 978323477 508258817 242311327 934845125 602398905 781581971 394040033 939989073 728940863 721158357 248100299 585716551 847937787 623075345 302878439 934505027 521483505 811693433 513859051 202143305 774750403 790773031 594085807 214106569 103802309 185454361 427441975 460450197 88562669 667141691 870260399 61343213 811830999 648641375 760759915 153845111 681117391 112604219 363239911 608778299 252430273 942357107 385273539 385049781 680612933 18657935 635942347 960109245 588129947 817442049 549857269 905651355 524750251 831627043 13945176 546153467 355351553 804517939 100205117 338757875 382890713 596634205 988549641 795802879 918525197 335771571 813390931 475557383 248854055 566145323 851152855 240161621 25265495 887412649 179790709 471854753 704259187 526782709 851352377 521072389 276697339 389623489 881645401 735045643 537131797 104781221 253972269 384320155 647245969 277347877 640545851 924799503 966522343 960648615 589209901 202795807 378701621 840576893 502712533 384230133 493052227 367500769 254535473 687792669 634157695 628656373 143622753 99464075 943249923 757033409 76742067 206301597 564119691 36704055 794791065 471246617 423858049 261183279 514310061 812594219 373466611 415232363 469420981 690633577 928167831 38648469 788259995 284192463 664635343 467426621 522125425 245006019 845918879 82583263 111825525 753232659 347461561 576786135 791292937 823686133 633790837 87403891 264944053 824069379 672107471 201366755 592155185 141240901 129644911 833024575 201528663 249607977 542955175 923992713 559437097 922763649 90592363 382162347 729423571 990933645 791638363 725830005 481301417 697874927 614904511 644195489 604556837 157854393 657469319 271871953 838860009 19521629 386341705 821485197 574147523 668750777 72980805 481030213 168161447 137267729 494657377 603181909 99808939 836364821 161620781 330288125 271701785 247624407 331550433 504934247 785923671 744683735 68089435 893236899 975490299 937147643 570119201 277648811 195579583 10402701 392438375 10793569 101640581 560911683 900934143 385703819 419330653 855963195 508440429 569082335 252215413 705668859 424328659 283183347 872976427 113175919 678498821 398438985 762408449 476404205 278283641 403480649 742963621 615345203 456486731 530523975 830445287 177711203 655265607 718955643 681245891 500500493 537283289 9147655 381655645 528486695 404978713 456382705 103702527 21344525 527208647 745646639 405089823 69087619 551472459 963990423 440893013 857503161 227052465 77819881 415647333 893422401 36395187 825125075 684085053 890026267 813996207 931203555 569744877 521424555 213191343 247127443 440652977 635569343 417018717 675859523 907973101 459048075 231777301 307609919 600775469 874726061 4243925 917344693 811339809 133464619 955985475 81399745 105451433 832311153 773970607 240257377 22806723 149153619 476407569 860857731 674092447 372297747 592154375 68063477 482861709 956068945 675733719 164463983 125077771 853882397 35970677 468691607 741786297 150958573 242379891 368566001 105353829 47766427 616004373 68898545 555860737 709652847 747393853 476960753 500951207 543457047 76933503 804279601 14426525 468151973 1800977 652674265 651436365 692613015 576973007 224370429 661330761 269945301 22480965 70210707 868943439 492124843 811990175 517430399 468041023 396879309 425185205 11584139 494144551 61202521 11087111 512888421 266560313 181249491 95205051 836707495 759257041 837412139 665591971 55536085 19538801 474910645 464669491 574244693 574543043 243926573 361458315 417739899 234636959 361473977 339836787 918732157 699968765 178526439 185024603 209147519 91919871 588202667 572981849 337548427 686600947 769330531 205925931 969566351 299650891 525253589 329086267 869568101 449011619 749029935 699916951 990080465 649179325 417736451 525819383 111208825 243669639 845827151 553020601 341988847 640479503 484291707 787488485 162389167 38457749 161491281 132298281 362157335 275214715 605682953 917812959 726845297 900675914 338420029 784669443 760261615 644418489 351686647 110808895 314055593 331966625 669001375 68670431 144271777 743304199 177491215 508047839 892102083 715706643 677143681 376773593 272486363 377404187 807248539 469895449 452099237 948668057 99858025 526486667 48386755 900186161 137320805 104490951 32701885 996477357 642993255 795322381 413864197 736726273 723292853 6869827 700586739 641732939 791833343 250767611 778388939 894866377 700574297 358226279 985628851 958214377 80783681 102864493 365619389 245828927 477510297 91220623 119751139 427218055 2552497 251994623 281952263 800354465 676560447 316867985 382534641 145099417 850124125 509432265 991897683 444236709 234323603 855368139 927906501 681330717 14831055 281193063 677293257 67633799 507220323 529817877 343779017 82230923 499351823 780553459 685885717 191054335 440877815 597860807 746210535 644179423 91150503 610445061 299796833 465064267 280365591 41355455 51600523 455813777 389701795 757534903 614549591 781386273 72484369 990938453 21506973 628609435 322811787 352927911 303916831 799691455 676139691 104629091 847816839 547079287 234799211 635417579 176634725 85134811 37584433 542579011 637709362 293861665 717554891 938288157 366871377 473801905 938318191 753002959 944658443 518020625 996996791 129919833 285300625 771977977 513809835 273864801 652812283 127772739 980548279 665374265 477295435 551899377 230186673 105593557 3569257 644459823 908586455 451491797 453064233 208025423 59723979 248917377 571595331 403863759 976161183 313901513 41708633 146533199 360820421 658816833 668803313 523209117 123116057 42715693 138557057 705888939 458828261 772393841 389890655 553065621 44011985 32307613 279910349 180754845 123125239 238584295 85943539 110310191 29413329 80290097 246291429 350027487 648659781 942120705 591521179 624368487 932183969 343018117 858974967 750837161 567226521 703526295 815057343 907211701 836863819 806100915 791837097 552433593 895535933 1843971 871963977 759080211 75586395 392538451 143661349 796331845 15161593 345902879 812240037 492293371 261462233 623763585 936027417 945247497 221672475 584824389 766131897 960991593 374527823 126148823 215104939 20576318 523414379 384317263 582862067 538441941 965836491 582822509 125211013 744628383 475612723 217941399 62245179 235989048 865305553 309410781 377269205 836240999 538107963 435527415 251335675 708317969 566999407 701075011 503242305 719675469 38869457 531635145 742007327 942333781 622885167 885229369 2651381 443483533 562985917 105173737 339180301 642797441 950081817 265374423 784117915 673008097 256681799 155485613 93722803 710995083 433503159 266330553 142907483 903368067 142330429 488314867 793470329 407113713 781017109 923243255 443666401 407665965 271425253 218088465 162811977 221162413 710873531 141038125 552272213 980789783 30863885 712326373 844973199 142528055 860564149 943110517 545727845 933295613 399380219 351811527 989303345 120683145 414288267 142163303 212563255 398755097 42225531 235077263 908799901 455336477 312756041 739576607 630077047 831170085 436823511 800166299 14016955 803453679 264548727 97596469 441811789 214105691 877448923 647636419 33335285 99658103 702052895 473911493 704266853 946747765 811977165 334684257 159907895 643623599 497498573 93684585 375822569 620548523 981827705 823078737 941213417 866990099 773687179 300407097 947401859 332680633 178774313 702549224 798915827 801091995 633089761 60945871 84574555 983708889 512211623 156206597 196807619 674027969 314983385 487005513 578084381 187624133 811293245 528783361 573843779 573307777 722685183 120468539 635535347 127520183 81757109 674452147 632789977 182964819 788375387 956723141 23338117 156075625 281227609 896270457 355789427 168619057 999633529 375206269 28924929 257914899 164640755 477154345 204817017 569728919 716621921 114303357 302918411 34967153 102956235 118772513 695092693 620999037 960229791 720154721 346240723 876292029 421945263 293401401 939591409 328156509 720102715 171105603 253320447 840399537 528743655 928448713 792562359 956376883 970226879 778975675 319377339 859968135 141875515 482376367 210395795 870515063 512408119 977268709 779154353 271205623 950914553 888619075 751211117 177645347 695847981 869427291 518285833 684273215 762940649 642250079 285871791 302541747 973137833 677823029 431724143 870954261 289352787 50199135 785448515 376869151 425226293 882234125 682604301 206632629 766650629 488269849 588335765 746560481 677311453 924278527 826066571 221370585 546670149 986135017 273603467 287118069 721701673 391846053 617601047 429262265 6004703 490376619 289491859 248292307 209765157 622725911 797033813 710329363 686462495 525651381 612136341 949450357 579805529 322673137 900576885 157712669 726194123 522708197 192678653 831604055 928009681 629403469 49511453 31778451 158591023 598377617 395548593 588437361 830524181 369979331 60851065 841996463 483263765 880641175 987777055 999257661 450709551 734505069 2584115 111730219 962684103 728847183 430233391 246999989 371950251 272725737 795615347 212023361 841466385 618242963 624482379 517515861 944436883 31520075 624380133 582950569 802755641 529408701 919142749 147418391 247297647 449970227 73337011 164021151 651013899 876335783 379162833 289672049 392468809 785160375 781789063 280788445 658652369 585313195 303539085 87926113 286744237 676349041 444748681 396962461 113559123 178495651 247064831 453184351 149014691 27369341 302996837 184386969 90653919 94728425 487683855 222927463 352616887 924944501 144096323 892037387 137626173 509091927 62130729 563959281 228453105 48694897 980372945 946643371 808146103 477038921 445225267 954114551 552444381 975087373 793863733 577185461 643564823 549757589 677941147 937611507 392492675 356885601 389491225 516724709 911194789 88898969 341077833 463404513 715464557 581309705 503865515 124234607 56912175 505629741 38063271 633781817 244715431 994792479 159222161 725597203 488696571 884119721 528532127 963899383 362781881 535887163 150462711 461669129 160456407 551300587 510606493 219617171 320101551 333644409 265828741 781766153 368785417 299151691 135397001 975618055 925916179 180178033 661520487 975913295 67192415 846688419 816597709 348027599 123459051 44872767 777246535 869847445 774461471 611196493 78804563 149306849 717198791 544978811 21983311 822008341 210316823 413627683 246664837 260948413 419257259 677739073 405346855 960073865 462326157 184687743 152653647 303041879 776771109 34305323 303267835 664608041 733750861 591416893 299821335 911209005 107614271 97062737 94955381 713369779 307034273 937692851 303594699 639021111 971874177 969273935 25534141 152679005 201850707 439563965 790428117 6745073 834943479 452323901 311863425 151143907 537909165 859364791 228812315 781158481 568700457 869453239 854073317 417116031 897665403 116617079 848461323 223837397 992809249 12891607 167173785 492065771 500489987 923820635 154198667 554801527 96938603 838337077 45902019 895360095 659766033 22960443 198163209 306542767 355038223 31170797 512124687 603817111 743642349 970180465 361578349 777045367 520836249 680613527 660389031 884232399 129527909 414464727 656598563 608762185 995473169 840650831 117520179 205736381 818733505 532465607 766781969 446620193 400456963 503143853 696058079 281191067 197095883 358873883 773788837 35882615 680063607 355786957 354208341 524644647 963828685 811626541 820404679 885897543 754457591 894981705 402726077 675989913 196803471 798170327 295087585 171746311 401019025 612738361 768371653 118542505 42922847 264805235 724873695 826328245 525320649 82858807 795739539 747013523 969537539 644265181 738556711 559047115 37610925 845731937 928556241 77285905 696793289 124606571 674714535 850039361 305564869 497541451 625182379 540172893 58396025 990591995 558713287 659472785 664268317 889593109 107261131 844262191 569905755 310545891 847292529 845040053 263608637 222262613 392651611 83140037 908983867 186194177 945921809 317087529 637984817 593357863 210165507 253251541 593173093 897478829 282960269 33844965 507468161 653192739 740075249 322685339 312693919 970601663 260008019 689340003 457423417 296716899 767099593 536101841 96620853 735198613 574157899 216663967 522466273 135377029 158821563 92729777 275503857 33671687 521097441 602983697 452547205 575738015 856991597 219876595 798036255 606940015 519234555 654286771 954272429 13443403 256744971 259656661 580225413 630544297 383694343 687034113 449030499 577203109 932764735 89445133 989062255 660442379 442392043 772656883 726275635 315577671 92113457 519636951 912849575 903859825 827210005 400068611 930571047 547795529 91817101 280554477 519297911 832286517 16182639 576430381 43134149 687112519 216453757 308711305 152661673 95046963 763010399 446823912 415216669 901575001 399207337 812257635 99235463 840377025 852557779 498259507 698181299 589494811 634184253 516754105 428647897 166749885 974073907 855576705 732395159 694423463 922770659 814769985 135743469 999754367 338273897 582259665 925696077 908885653 211194053 116249399 686121611 505007585 92560095 568689563 33715939 678067713 130352011 769428309 952127485 812647739 35766399 246919131 538603491 576728963 641358689 443080403 102219531 570405227 642753717 370352905 730701141 226252599 833276143 835180399 990502659 571652041 56895337 8278047 923814339 228164021 908965731 982065503 839899051 459033647 396417797 739332249 748959801 403312153 297002595 12982623 462359377 673880825 167316083 926268015 314844225 253233149 482384409 213685929 233476795 334093053 887800095 530668059 201935329 167338873 392436019 801118967 76956983 170639767 261385967 651582617 298998697 609660713 341944535 17661571 459398795 476856483 899385937 988195681 545902237 222219813 412739761 135532037 322113797 680924791 985911853 181532781 993827403 900659721 438685931 247410363 79981419 115773937 259172847 789987897 847786685 64522989 417423405 753560155 811125512 724560487 955592061 949198269 698265723 710853485 590540195 888469281 193775529 309102519 115160389 970601075 392994449 149568163 306436341 720407495 347773333 508654137 467999791 492909143 110616711 529924647 533646929 703235461 226930583 383631559 504173477 90139103 427687527 754029589 691432029 398870553 798025465 685348027 870513041 965492235 114611389 851800837 424390725 263849401 171163013 43981807 678424159 340373071 898518161 548545043 24946097 435067169 417731461 487572157 434936565 777630889 209749871 432539353 520673485 992930187 673957827 173566975 582688961 52559761 358175583 340186991 636437059 84105905 394950025 812881679 696050603 278047235 90617581 415224431 265705789 727132875 225561249 13906375 232942623 165529463 810799905 802450679 457043811 742439575 737690453 252366467 67655427 619012071 732789639 172134043 64414945 623308107 576020589 72638489 84701125 28844495 467137063 162983803 92635233 151009443 609496375 722619367 409161293 727967269 981423499 223377965 287640843 777278169 920640891 793724869 763213573 371435113 576015551 495881163 644941451 513737895 279803265 553496075 425232087 556979343 462670669 534691827 749915403 899904837 567309846 14832535 648683311 374222613 171940157 645121209 808323893 650099313 968354947 699578305 212144629 524783859 846795545 889927869 730466353 400262241 848045715 487280227 871539603 633721765 909819885 632063251 68690859 878733777 349582989 279661015 288275699 407492387 860479809 813533019 749215179 310968315 735346493 3293943 18133375 836753383 715158817 252657067 753810751 895624345 477714927 736486685 60865827 625860331 624607765 816882847 399731501 297921507 81463401 534612005 352812103 534006187 62577447 858339663 218909505 569211543 671331575 743606885 998069203 504874527 478789603 277181271 713897891 219973099 163924067 619548345 198760759 919407811 800973395 409222863 796300031 141374875 803590135 618011773 965794903 663554191 333561087 286152275 960457855 369851873 413437821 60891527 759019425 712244989 922799857 270425851 90291149 620386165 566959423 664543285 679899643 368033799 227910581 194025571 573359377 38728085 286257159 323616607 47714515 341566505 202683219 767317157 656189175 71486455 930613023 458467935 636833811 382748251 364155479 674621529 207232167 73917143 290920529 100602127 593204257 191158807 851222985 27759771 733243343 684231407 633474023 290029511 522389993 734572889 570191669 731340035 193258645 771035001 638806699 711952743 608514263 201031321 667580067 23106477 724434853 779636783 901281765 576049475 95892179 477634771 85449375 608975155 518068263 57892169 911377763 538534199 586536007 609040255 294613041 321677485 898028487 27371397 457507181 653778333 690180127 937799831 738070755 170978231 955641007 575660569 594367691 750393681 651189185 293930645 495221953 997573737 793791369 178508993 306935499 651486633 863447323 920792693 363215445 459170143 103411581 97855413 367449907 603325571 641870997 966293935 220941477 176657329 118209079 528972211 125872209 513772597 92889881 699478589 994652481 995174651 728925665 808664049 75843307 601830813 516690451 436399259 112694319 181071703 229002531 410142253 785642063 990368275 687724395 130471361 205863929 292301661 531416361 801247389 986192451 788255599 438662537 256259369 650963369 29518377 172794269 727722493 619516691 471138319 200158555 836452047 393491661 874168147 564633255 119951749 578542985 985689291 207800907 837823275 820702569 894924535 608549109 483465971 943439599 693848317 702017599 826337593 585097227 258509743 545796525 576276605 479760657 245369473 697982885 730270319 74965949 431248531 310390393 876964577 763383861 449106861 807595365 465583307 281417733 62652733 550769029 211181397 424802087 638948701 862645993 478872263 362808051 525331915 164200827 355038101 283377969 918843115 557023259 369716057 120997133 901570769 91546501 124095449 286775837 975632435 559362405 52134911 695136605 716581231 929493325 283361503 540799539 389772171 503243699 468132019 825109359 846555451 837275387 63984093 926985281 655421393 626570349 806205931 497676619 774461519 761413947 559666833 654317455 536157 995138941 709714596 632431995 828340039 563945781 926725425 233378791 783749895 741257549 781340763 949878029 334922045 216604308 863359095 644431249 625486381 174983881 955905283 793204101 430005705 606906757 820498337 510438747 635236519 164812631 20128027 879851249 717496583 171064495 256772199 2226317 82589647 833053413 310386589 442204635 666517393 282621755 401470209 843582703 788008831 621416411 516371967 788076873 599491199 514098389 751213099 898241743 844977171 924452131 875451967 176614603 660511083 205236135 496972575 847254771 975916641 334311977 131156695 63154279 949174385 549402203 33964439 987685545 537897413 436629717 500896445 736427175 114916395 199708697 947762125 440518071 293757465 896903055 559908719 152480407 450291121 366280333 193214073 479723113 632562105 775400775 693246693 789531071 407332511 919610335 807059671 810517899 669035901 578003809 536001435 258830377 652884239 587154107 991682211 758274659 600921789 802911177 348455049 240570465 723486105 76549707 901505043 76846269 565343575 713552107 520411433 934278001 71581527 581741625 468138465 532882659 257409443 107023791 421999991 767107809 187244007 756330669 16124747 964795295 184243835 424556927 711382507 761064635 229573981 2416211 167718919 175324731 536274743 277251141 71750015 760833419 599792217 111402581 603009107 426896513 189225397 977417837 160202157 537818203 154403313 216151645 271104741 319061691 81085007 224975071 533025905 279170225 992137151 204545171 172479737 763516851 876059099 142991619 586037829 255008925 883592671 640668067 52127305 986093747 242703285 812175561 252531231 277170339 560827627 454791861 680058637 285038469 115270071 960571541 163980157 412187091 65711611 195310455 853057539 671140465 376939069 401466195 525172311 316224433 83486891 659716111 732733025 238648389 44749853 954093679 951006505 840034379 582096659 734455591 239816675 550075977 611815605 55414225 679307499 625365547 320086991 217154029 805197507 59804229 59915739 427543523 506309911 448993881 310082553 419682311 435637179 431792775 117592557 766859153 165913511 944897119 462342953 969366433 423009795 717478359 5364675 673869377 279977751 141938249 901214587 803335523 699310937 253423997 411351735 390617569 658348127 960962207 509484423 364128889 921557491 892321605 576708771 348687065 254513403 621515885 38383721 624557197 549846669 961030523 935029217 922861075 680341219 303053115 942193593 305776585 193026657 831978213 809075531 963236089 124511377 572417813 646803347 667411669 851361575 103590607 742438459 63664503 638346495 890566275 194265745 787469533 508737821 258002693 300684939 765410805 532117929 573516433 539606987 565924747 421682425 572333005 717049495 38974301 72710279 783819975 9708765 330904329 550642167 957191155 430587701 214611225 959374869 591907631 559907807 634715135 148355025 712597185 335937987 912729875 971538251 725780053 437546349 95779737 405480641 927083521 809798679 985910711 293396899 699468611 990898337 61742975 100806017 120644605 288077455 869731307 13818135 93970303 506852115 12729309 402339659 28672895 910711299 951345949 280402979 561113369 45083357 614156637 275555287 844361169 348352973 797091127 345557951 346033303 854387357 977997609 631459169 46906045 27197893 628146335 896065895 472163587 237713769 706256617 65207971 809405581 685927497 650187331 45058833 544625639 102647003 864600777 398940887 582865419 453392945 862601 300091709 121340753 649559311 502976883 669021109 366951039 576834777 14771807 769615583 319962053 564423325 503614481 805912955 210911671 762966039 748408111 16528757 32415825 34367651 401784395 140771551 887003643 351205447 811543775 854779639 771875967 143994549 876061261 327746845 632664595 727955523 137222365 43332575 518472279 529464563 422328511 215517679 387723085 156559719 821726479 311864617 789327971 418100721 594612431 940197263 230273903 317354377 471215587 603400269 597124527 25146063 854004259 535315639 884958407 835228935 390372931 420844869 896703427 188929827 901050085 275369631 948266011 636517561 464257941 856224909 270731947 19369223 341835203 961466115 258916023 985732599 392104391 37376797 192382191 720347417 600181219 167067677 205017191 682986655 899738943 960570993 770580891 33056877 700587759 208275111 283359601 199423753 888846571 48996479 453822519 17108131 636928789 621858267 484390561 56424463 506483253 808208837 394133197 778823121 874982139 383476083 991185729 212967691 513403650 66084669 964902889 113910417 13915085 102075815 975075099 556031447 886402499 961052253 710282901 581788671 930282805 406074675 120840313 213762767 37673821 135478565 75261017 800310197 84987227 293021521 368556581 987607241 793183547 263255049 800883519 100687819 477659371 426020283 649064297 871400225 19177799 208257543 533806547 783618781 379029263 764773547 770180623 439878067 300031979 132166295 989013277 454708227 470702447 409973979 898011233 633532629 427371539 853459379 828027561 978248409 268259383 485193603 441009961 863860069 509133607 542320087 33426559 69725561 908802065 354989151 75144113 926763195 413661969 256540155 840441643 652145275 118261287 988310441 741377475 437275823 839872571 508414873 491294133 938421497 185291809 42202651 837971367 281168287 987666321 266707117 774175655 444135057 662790699 965758703 70039595 11735651 159140985 911514031 163290381 439777625 280078061 640484317 743804055 291438165 435259617 667855769 912084081 871705067 718372757 831156515 502456499 770100559 651311409 54432229 723806939 387796323 582859209 33866103 461017293 191352235 340366931 816829071 352773077 22473563 235141045 569845781 293005227 351687237 968367027 758287889 605582699 182217707 269494273 933002935 668275353 662536819 720332601 716514145 305665061 209962413 77682649 947535765 830173027 206617617 759956303 981258749 204140303 471648703 93828327 440702317 423925327 201443195 599340767 886176735 329830321 606425015 802236757 719886197 174273065 364670855 396239699 158372733 287199255 922051503 767931339 478926185 942831165 576002963 175655573 716960213 31205065 43947587 932815733 287472003 534408273 398366583 167951633 808317535 210514129 870320269 330540029 401739389 414347953 270419341 333521839 194706711 895846843 871820837 371372427 11799441 763361831 847514285 967928281 159533685 961762705 319438631 583268555 710739063 398567933 324259893 763948408 565859187 951239899 373287467 185147623 187937131 571464701 286335997 756249339 727002509 158476963 186614349 623826823 744310057 471576689 545649761 345798983 93525691 121321077 846570279 119236311 626984165 961472547 246170167 818382279 941456247 707443289 433489617 808520577 467586655 28103261 100690651 906456677 585793211 159509211 655341541 888249007 555264975 40756969 501112871 683423627 715994627 303315715 806404993 741581833 372695021 169261583 753252983 615822883 812008263 940704859 935322425 558955451 385808887 893599901 720847009 161942425 889505027 201846513 253530925 643454063 104013219 399997915 246897667 667386325 934791727 966417225 29315059 64849229 552259373 171577745 56493171 556414785 294714437 864581233 439558821 976103937 433833293 376365581 705059918 740244169 619674433 698291697 408420575 844833461 709486401 923917845 482274927 248570323 922428825 292136405 545269947 995045907 757832895 52440311 518925357 905199693 554582093 18286247 700391123 792809283 612789251 427355257 940663651 219208351 755242705 91249005 318306877 643633649 486045127 552588521 18584683 205132723 855161635 14679479 225606809 895093831 46240581 555448077 513935903 601137907 228356539 465742729 798150653 868833517 33740343 509653553 872002009 901492299 936845717 635643249 102353667 172715791 979153623 412853281 959555443 885302307 679551527 83745913 220534473 340404311 302878685 935337251 64179017 265519973 168555377 329646121 845550819 965977837 401139845 397243907 149688881 674296187 800722919 2619021 885624177 786491261 688159369 15117323 866580361 298042959 820184199 569722413 284732168 133681457 105653795 39918853 787180327 143644749 799636169 8854035 288213701 513593267 164462605 547713851 705204073 418775645 187610281 858990539 309876801 749499691 31624063 204764023 885490983 421376999 274567837 997607773 410519446 470641733 101970999 677867779 87315899 226134235 180546467 440167765 814215007 441877547 286336619 791408041 981940989 992572317 535834421 565011643 738269365 465201285 769806551 945294259 524470091 461893915 131869515 789720347 562173745 622719359 860733619 57051625 167905149 899922107 4194911 980003453 234533615 941857731 457655229 83977113 94740207 107147883 736275307 913651563 509482121 364741753 489720365 600385163 33067383 167209621 905160171 272532211 52800279 645493069 207579323 151813895 824730481 298733087 790422487 634907801 193372213 646081641 718269091 564039643 944611767 52830839 578009001 357146219 465989627 242637431 711575455 515156047 694496165 867125635 466091613 931581681 37106949 681635999 135393769 723296811 689350929 151432113 310907243 583066935 541089387 875022477 870534713 649080250 746667609 584223723 911853263 998611141 508582857 465001067 816397773 577312203 943434837 740792215 705142527 373522343 295725369 803766497 330041435 930247585 781444701 740377251 707088121 697687653 643376467 586050331 447261215 377811721 515062351 774625655 711305271 78558219 456635187 197881539 764939731 341897295 866233987 972687101 806309553 342921249 602972785 646851075 531658929 76835385 262904787 276398751 212660961 445904051 449143593 198419331 771962481 190742035 167821209 213793863 273811393 524901449 660702197 896330863 182827345 995934119 777607087 365241953 576942285 638829037 511847405 987121263 363510279 656431935 904697969 491795925 143391229 339804971 601560747 142357425 307473359 989285285 381037237 103752717 911100875 999820299 939873355 160833243 895298147 736759331 886496727 698788595 32598323 494218521 107772775 139878167 245877245 113128067 126072755 469300465 113647533 362138463 444307737 804025875 667805525 526226703 176241823 360626419 363186995 480258147 220474105 422517237 300581289 727978129 817311097 773658721 271100993 466046517 690525985 918293865 570491567 150326867 739849113 27267877 41746383 492610905 299631661 572842903 44859555 52584477 587338455 558614441 285304151 683682013 330508087 883472939 920458303 740963389 397423505 314530009 407885525 216153675 650018263 70772559 528811197 648447355 268864159 394271771 720093889 18546603 478276137 480056749 444533205 948853535 693402459 503511389 838414357 458810247 856657093 82329709 615048131 290688247 462768031 853846791 638717005 935170795 293703879 346920763 494612803 990602569 805162437 162863109 788136801 889081695 334966729 309793857 760651659 130106595 324923561 543912381 76690379 508585199 225118179 690047529 966584917 714241291 873927585 129895965 805976199 254289445 831384497 668610587 568985055 973466511 516238985 122227085 458092811 271412231 606769739 795335107 710708961 506720949 774281661 633265399 797031255 851996707 716925261 982630729 102324371 592522569 1016339 784979397 781093855 623898243 564395217 323863899 891721393 490469525 983282409 246584801 551300001 698163119 882292591 96931613 847740789 593592421 703016983 447267767 407026199 803873459 610048065 390509119 902776729 915618559 298244599 8955439 417680183 446259479 136364259 579939049 816827989 94710063 254217057 633117363 386724223 631772901 579397487 744348099 124559719 155840575 447142835 460777773 284152295 316426921 117089919 999786999 899428101 563185657 603044037 61745161 243675627 124109163 563807529 262095667 435290603 678698663 46001393 915769391 414565251 406820023 223044365 112677789 571473747 961540371 929549075 733366536 760506153 669885589 579886657 626800097 506536695 601531015 797829761 135770241 591604697 98460049 277664097 147011881 773362961 193315019 803012375 133366017 534164745 517778099 337133445 175849245 781514329 77242413 20469553 385472373 663234744 468358023 168950345 16706537 346420235 216104821 460239269 909783363 5646685 408041493 792492485 994489399 486581728 760049133 743474129 617564249 548965363 377044711 244718229 929770287 707405845 306850141 709591947 138594079 926679539 439869193 880446931 620971133 67912545 410542099 558140721 526192769 810499417 947322373 28338455 687719499 133212927 903624405 818906523 730567653 692049565 259446755 945317501 615143232 279295655 187826417 202268707 35463993 625853113 753574701 229632669 711101069 481557653 887464493 209902243 619077861 435490599 307489519 673035923 489514453 95255939 402791639 836930933 743627219 574002659 521915569 592655351 894437187 392315051 23369653 725523315 776716141 168069989 523041407 579281637 374221189 856198087 850541075 797648887 590177183 922771113 367052001 692179447 947154881 436454671 901595067 334996699 354519761 384550695 473759457 436046405 253220257 409702721 550962937 95707771 612432365 423504601 962989067 337759595 983928147 12856723 694676627 508225965 928751709 701438009 232907881 883124097 444219773 202435009 18133461 467416015 583368715 540586051 111869059 381753635 421135691 525352965 338197129 522319543 70902115 559849583 452641635 441082731 862842981 736981783 860421369 710099651 648200525 509550777 142098581 379293681 85692663 417339957 656825839 924073675 305764659 212241817 843224097 334360271 466027435 430655765 498471605 407260199 403263231 147601417 656408211 962514083 293122475 454365683 751418645 327391925 321669915 207238531 632513779 551923841 663776927 632245641 223815511 544577741 715446387 544826371 244767437 492208137 894868661 214989073 115371081 6033737 479839343 70950401 115948585 983512913 227710609 745146949 442875699 515964805 358379257 285771895 597559187 467692787 312922467 603667293 279266783 526600535 85728379 481258721 649853459 613576715 177890001 252016407 6062229 808344859 544398303 352885559 978612019 873326643 630168839 295292585 954582563 435398571 197836945 722942965 955516671 654877571 437928621 55265743 840105935 245538403 421772409 50481169 592910337 313712791 761438961 196969665 267622759 569448729 260535809 113353483 765048127 935071369 597921657 458405949 504576817 55478827 776234003 710341847 544358473 362714865 901439599 409051003 570838011 750634609 983911961 488656883 547810085 643831785 684004993 923623475 1312523 472435011 890925567 206611287 665009245 793661453 242296021 534262945 686036013 788911743 557462061 692877949 421974267 715903607 728097559 59254143 522207661 702171261 948064141 353864545 385701003 775091905 832404335 735248903 14537809 846328855 130655113 615020155 773624599 103494913 534067337 255721457 605681509 316672679 988274187 86466245 800858919 743720407 523790223 610520955 295246515 718120455 397147007 401588667 548492231 901506137 540905003 310363995 659647621 346558099 343235789 244484949 10575485 653006883 727264901 150566093 996452773 354994465 665248095 445613581 888485209 164153165 926272329 918522251 61867869 546636045 98093343 367191263 259191009 803430003 522434977 908250573 211834743 897563699 614713975 108758851 34684959 298154669 405143349 346672209 47149629 146140393 392406611 622794547 370116255 75480470 600497713 544965197 658737785 595246605 207164443 475115819 736043625 391334731 140165439 621117823 966719349 386144503 724636089 920494627 798173191 393655905 90685321 935744029 413506809 810945407 692891031 34252693 699489927 149153779 424553655 696534755 325401427 567881219 253600929 293452157 539224429 3241375 188130548 33963273 448724811 10847579 93992509 576705107 868084935 681063801 178106093 213613645 686629929 8745697 892939353 204989713 893191455 748782625 534064583 21753573 316682171 46100079 769723229 950319923 324846459 349159085 796649263 521865101 30440519 763501151 55390261 642105521 397136235 947549879 372984655 552617343 723005083 863698317 422018119 266499589 266519285 601331293 864044239 597035637 74811389 896441679 675808641 381377067 174552739 960957491 18062554 270721705 260690491 167585153 730988619 79653531 738932097 981199193 817482525 530434771 432936347 82466431 337131407 87717199 278752535 352823653 769935807 637529649 651348201 799413023 260651191 513981123 74411375 77353585 134567273 412078713 383146351 611493055 104105391 992222191 545851157 314783001 303407943 9767911 925691127 608236343 606887645 745526349 53011 339965559 814459651 757744435 373221837 16130785 440115503 991032279 712446705 509482531 149031109 971744155 996753591 911212181 152162829 602395401 518929593 191310393 780950841 209336023 9585921 817382321 962204515 655909085 951282935 831117137 235194249 833409823 635762805 33165837 865416599 607611593 732052149 788521607 770280797 969842991 600131933 391036419 337670551 556133579 612239737 283374963 128316643 676233281 253465731 266333295 937134795 610450779 381165907 658495539 148145857 398369807 430203695 71706279 301154077 559636341 781448391 452022619 28035617 989059793 617154863 209342087 479444727 283767953 415766245 895184393 194264751 613904709 216170699 581528683 20285253 957942441 396434737 809589719 33245845 253696673 447226573 727677225 633248621 855740471 248697273 287517407 615619709 277235361 156588669 142725663 143754589 570348599 736183047 573404089 734104465 994843007 433044393 981498147 29055357 868508707 205914659 144390527 586620793 301501429 876531865 374332051 700512953 127169521 970684055 492129741 794364511 522434875 759558677 543483719 222458487 323101727 485849199 625155773 258066673 771556623 167455595 515709081 755472037 679530917 476506163 959709927 807572565 741558183 700054624 539726435 429085611 280288767 432551663 707814247 91627575 130081215 485550403 672570623 910659699 104111907 525162027 837541847 297237697 539947153 440722141 446488391 868430441 667846545 377803251 437650511 526319259 555315669 795509877 739608725 711380851 383500349 115663055 860478825 565736177 2929097 733007319 397512387 371004927 861314213 97380811 825621059 299667821 624507683 674121037 406771245 188281589 154103489 686338159 904707185 632960567 902568737 455085987 633462697 613337023 895405325 38483141 734610451 947222523 527831417 31641119 261242005 676558407 568391807 846972761 9394623 691079651 386934885 393108621 298352839 2253049 606450325 285716277 123218575 871168409 489692323 475061559 252709021 103344829 414773065 556396511 48092703 266090821 455173483 811063015 166869743 386188541 795711251 695367527 42081417 595437459 707365493 538317543 324512533 442901923 211024109 809671763 84620901 851181485 595664381 719763711 512589549 226525977 872372305 222605741 156429007 769788731 872708285 333226365 349603535 863269963 887977787 585723647 738443103 854005865 597723631 97140009 292167061 899697825 380597283 608539223 635563057 471853537 185331021 666343757 31775385 610106885 952349189 258494521 977215967 23921355 166651151 672083377 835293111 31175393 405515863 663703475 48814465 744768213 402858481 60155043 568735045 728181791 126225175 499623503 294869171 126512163 752725805 134161643 938878495 988223787 799661247 814652437 970970509 646667109 500491901 327549905 894482849 782152173 878771271 381315471 479538347 276167105 453442587 688396067 843932577 822758607 481494313 202677705 872930597 124810467 207642817 112658727 732971644 780759739 578319711 12024395 315675287 916084981 117110183 10029737 861040397 534762267 655920485 204762913 930588955 138237599 195156619 350199541 626964137 927704027 237188659 364175571 847122761 708155149 595893155 158394321 95442223 529379683 553997123 273106541 630552637 279342569 309552043 518229897 623288567 587634333 374313617 62843255 12432783 375240541 435197915 830515945 895139547 958632691 923802261 910682107 703264603 274311697 716934641 284514103 522339893 357568079 554075721 664178821 773634105 571714865 871634979 943482943 152456927 838597917 423445801 914152479 673980229 645608037 202730799 875230795 810205493 630587461 359616813 460277329 997533209 898321883 122369099 725609509 841124365 162669873 653775567 72157989 879728845 651332665 175887665 714666263 668417731 243874251 412902155 191123239 204915197 327353513 207216671 897127147 961486131 960231551 855766361 631753055 964661443 555689689 421840845 956841451 288517043 288523315 490970549 600536409 509807797 447324911 417969523 259905249 773682465 701223509 930392725 50272541 132719091 968994711 726879437 306551061 796936917 208551629 870575863 951298871 353104659 280999929 536486421 106802773 250938023 152589317 21292629 465906863 325791537 616428483 826150405 829627113 850462965 325020905 711776421 337318159 394000357 135921434 409562583 9572249 887100567 655934687 597122149 939438179 812746571 954288299 785881411 370176435 823050983 573153237 246912653 430076213 890623995 859235233 314743431 904862975 667046847 736558643 14122649 301980813 630408977 695227299 488971865 570190789 828912505 316521701 626467969 362890229 254084135 413692635 423832053 591915219 501917937 847149905 722984127 828109689 58483541 898693623 262579477 845944175 328808829 635794277 330196559 173326753 155327799 908273693 275135985 227980133 671453433 540496777 210568873 266721145 364643557 910992633 582848839 524445953 311753665 455318695 235134407 568971401 182337531 620026035 702258765 331834121 178259115 265255465 930255909 539738845 12591761 893762553 677263551 997820617 653408021 890850811 796635323 462585085 461982531 349132785 954863319 938661899 99248343 756425347 767426307 641545715 94210347 119494725 788400463 450284825 24895561 287506095 491287801 494091083 223310305 429558563 34270049 902408383 250044489 874151399 728552723 715742479 561208193 904907057 382271173 438781507 572495407 847630871 897401425 165829575 190812323 616432027 610354617 247957873 215333333 303581093 111202855 725859965 99960419 132380169 548635379 189041811 125429141 109802879 452577427 147875517 174314587 94536871 596484527 841613425 522232395 224580365 863621133 305172623 989964963 179937823 878947237 265061465 422797133 8713785 354430353 590388351 137254359 672063387 482261267 222870035 132646519 483652973 408035991 231829909 882651407 76889795 89706159 580978153 45465637 943723925 200420633 608150363 738741735 722441667 302676407 112451749 613110061 564000279 861415315 549155807 973872247 781119813 470241249 921043343 189359341 579280097 41436413 27321253 828575579 145741937 552742249 91567733 887837499 66822237 450938065 58207163 897914285 910457587 553480967 331677597 836067957 764584817 841861385 483363241 24054533 745531637 630969849 648908245 990185843 752412041 576960545 48447355 563837823 314285345 17858549 724259427 669342095 904605329 507922193 362079163 37546931 438167199 550134073 158738197 291533475 524883697 439475029 724265839 773588157 382413595 28573819 699460145 221084425 773033875 766963941 204839 218761269 741087933 570650357 416524931 494474651 161349603 196696635 708706791 335330871 191529523 933507685 529323351 630675379 140225991 759610449 538432829 977317725 740718755 145540355 882730611 761767723 537627053 68856483 634146099 783477439 989661623 473808263 425042467 509039199 957919869 731124521 666988881 138609657 709038493 272502573 799575345 466768421 818665889 380288607 178953635 616260899 808665339 255738799 991721703 416044507 769886467 794503997 51640497 332721881 841256701 356404039 521546513 254698839 446765839 597937469 549954949 763075125 515379019 788411567 783827957 88044791 365698733 843992153 861716907 993051855 272141843 666009375 119906397 849805715 250283335 892068621 495231275 324992193 188745723 132596821 415515031 601102467 983131335 541211217 59550865 619071145 660561965 395409031 695364459 238744485 192585111 888332193 877198053 535118235 816875607 645987441 357673507 528724817 232147619 690056947 593099699 431882039 487193759 917770061 865331849 36144225 722621267 660618949 770347267 955976083 60989871 988838099 474509287 126899759 117049745 255187985 777241951 801270601 218692277 933347137 247663621 176071319 806147015 674260559 936923091 975054197 855699287 534584141 798856497 399700975 793504479 278407033 50345449 793182129 230218177 69787699 297965105 119186195 364518981 782889993 917990313 402702357 961685149 286094253 38868563 181380447 690967009 408861435 78642589 152168253 643865363 457501173 957491549 24285865 316699677 880059847 742557393 295891011 551772367 440036805 589791133 556410191 268439011 733050471 385269453 497647295 609658875 67620949 131842009 472578089 240957085 571732823 620868509 50010827 975350591 112204641 438906719 379126415 449286711 716083087 169569225 874683139 767026119 854199075 176416757 19535967 25736985 209718409 559487069 475527297 115108669 327114325 727429607 590828017 708356141 553321537 968621281 497489117 663107017 128423985 102977023 860530718 403565277 262656303 735139169 415935539 634681367 211627633 611387273 402381379 836373779 283462223 99856485 556114717 930659665 87771469 363939915 379159095 811535163 974756119 924141303 548514995 741168929 152473985 742413457 680094293 77895741 43880325 175207075 322185873 749404591 259616839 795841829 105822585 625693571 879365139 629448561 887290575 362407 143619417 720040785 154919673 497663735 843926967 157996013 742069257 672849459 333876465 224002783 842537139 484552965 265892847 403641633 736028503 872049915 794150343 855917593 581869309 988631699 623320757 549838483 654802517 883508269 676014361 833482183 991899317 722280207 919428735 969301073 519407899 503773293 862528669 705904951 957740849 807885409 597408331 131095269 591726663 916916971 536714895 220198449 454197839 2477299 557645203 724227415 537557229 620705101 947905449 15639295 698092647 477072817 726613069 581291827 738717357 711614911 799977252 623543401 891713107 384338946 172504823 975645825 631905179 185582827 35643579 817463741 946072429 429409745 685760651 200847307 370426455 657605113 433013927 373630145 526785423 915114379 481092735 149191197 857862135 592829589 164284325 994515395 578933523 238805525 563828433 658261759 35282453 714357993 297714411 20830089 947332821 408448731 665443323 307774589 970287311 56973213 856695347 57320801 446171691 640402377 175038195 402672417 75695801 405902303 960386491 244539153 352746737 738216263 859628343 559989745 622325491 221589843 605147195 516202213 744302979 417657919 640867519 324801147 379265809 221984297 889288939 189936041 148900023 4571163 229225479 205304009 188122419 750425351 189861255 295360675 867634155 545484487 185740295 312579939 190157807 168686873 320478793 683736479 94999287 460749481 761009721 154753877 652622945 217719817 870729707 453208807 29910579 768427183 258750105 345615911 75815969 748330495 994168743 289779525 756485757 971313217 423866783 898630627 550376267 680872871 3328821 975744515 184749357 741648203 48931909 905212181 995135607 33369131 646764753 902834411 82526749 617110067 912161799 603827397 440854209 497197877 357272885 254875719 728463783 604824551 14142683 750622335 548197313 993949421 733152155 725210337 357958311 85085135 937537345 941058123 298983827 753726975 797722045 569608707 148496499 20323285 295783469 892130997 576619729 435858835 167996885 255804279 629631719 994462307 602372381 5586629 156882579 849488727 3630235 732430215 365991007 836560485 949185545 451012615 831882357 644378993 802876747 183483643 970265521 987927363 908592493 350779523 610480785 399500939 284924831 609898273 894429755 491559653 31837249 227923139 398307199 47706067 126397905 228754881 241152979 376228795 468996094 458957267 922021977 33926383 937220763 97100579 191616215 854024873 143285921 323863357 815234235 858649099 317189431 4246037 307297823 572768539 448210083 709795593 443943103 99840463 367277917 396237277 867238149 7696125 469167357 570229185 65322237 31130983 680789321 891877961 410629987 218415799 688085803 75586161 915792529 201809533 923275189 517987743 385035667 544283955 920184613 907766945 261156117 28386619 652416475 664351403 722389615 884190173 849716581 879881309 740865185 392022089 658508661 640785081 29728593 608117403 338922725 226040365 909305807 67757267 546385083 730445711 377178131 980912603 961053985 348388123 679733691 468240003 519383147 848642937 557455633 589725829 271043089 937556658 709123583 610110337 268532667 193036097 925411617 901699587 710547505 739640575 680152245 936716411 782615143 519907377 144111521 920947263 333996153 789471367 81748595 463898773 554132137 153995795 884489319 788753829 716467299 760564821 175070809 527025023 983893819 942692657 315794897 130344221 501701609 820904949 586324989 250099551 214893909 321097301 843931831 700816913 634753927 349701999 387479931 91332833 2362547 392335049 103613553 398697579 371824181 80257359 99916651 199493935 163974545 449958487 395087069 460032661 956889967 114100381 25038056 413548017 202392227 844708681 476186707 834313083 105882923 921764069 729754509 707067219 990570281 369398377 343320493 658463877 282660329 540030511 234588531 316432895 369311451 230774527 13692997 580143517 297378461 190354182 918208821 252425503 653292529 801435865 820088311 797148973 678824133 989924469 874156523 765957723 216160553 691867711 888503577 69751839 432651353 407865859 227992369 679667679 269999033 146762745 155075719 602000351 323768275 736473021 213892383 51573843 644887901 789295957 160901533 585407573 322822191 323019309 634637905 456422627 88433743 921141785 155574321 96203243 279361765 474422873 19534303 20079929 205006663 857506963 877930145 775229835 367696881 402494929 622723429 717119359 764555651 388362633 708745669 994412191 236017097 467616923 899123965 680643165 807137465 594752071 728336117 99436819 595821419 150061377 393482047 878720257 446874917 388868249 900815887 896511823 868558417 792557261 810195783 562152719 599634817 592461509 371099499 181414973 842900593 613842635 499232941 368174263 876791559 145906071 109343203 34258759 500934217 879799109 352638349 456791199 882304367 374488665 361347793 685092441 465357523 359234755 241508991 835854835 415796471 785869015 682593807 842826713 475127687 741802065 819227295 202136157 445300821 385878359 496446967 702666421 8137311 977298805 220620167 369251333 413149381 392957093 179263333 760407637 109434837 15893567 742269263 120077719 172300289 308973067 792615343 26949283 600809189 141381941 719090835 680151101 893296195 753928019 667398835 91062795 287399687 936287073 701373547 844966815 178545219 561013957 340332231 117837683 28276789 521914447 856944243 224559593 967953215 445248815 326356681 182995529 68508907 259792391 251646149 579270597 107371757 907846617 530483727 75679349 339105313 451279635 507320313 47839325 680284553 186095245 713309303 2698851 700234577 311262337 736972075 676431705 86364621 331774867 9910873 730342137 156457591 604753365 957714419 817234661 794904817 979081657 934422159 236645285 268884491 473600797 453916269 72112553 941761203 52557895 813650035 631388751 851121415 270610147 860344625 394257619 789778761 957030149 631560671 322433889 406237925 535946797 18274651 213474825 61856623 221658689 275664685 381137349 962241953 329012875 895001221 524282230 92545119 909903553 473527095 892113125 749468085 794944003 704429767 706414533 856771539 963680723 467320665 646782125 782293527 700101407 889730749 32861215 518737413 936880957 991622505 667380101 942230597 129016043 185301375 299926063 369789869 119056715 365800389 169486423 571821113 954344687 162596521 181427743 965241353 817760969 459346243 830220429 5199465 592167733 305353811 649561239 155983567 92916989 767519041 240765971 425927123 133894729 539419417 469467331 257798203 658363315 559624599 329030479 289945583 430372149 789018645 946812491 736999175 14994741 491288221 923322159 909107897 96829825 500091615 596962141 558905450 220881485 242907441 181712155 511814313 710874423 295485331 410169503 49520677 949709381 51983531 184494847 895618745 910606051 309394633 1072957 943051883 19990247 303504101 382512449 33520741 198999439 790084509 228671199 566297593 301569661 835192889 710900431 25432997 860901569 881387945 15260593 591714825 938747345 538776961 643154705 363311347 312519305 346392325 637729373 860429397 954080301 659790361 801382897 517598025 517819755 99857485 481253389 655784725 605462875 313799639 914571225 169303587 702226039 961190553 232314473 15708423 105650083 601369367 152383413 268334971 667531569 820769669 643565981 868882785 45103571 329284277 995986669 568644039 518074279 701969705 714911827 865296351 413874995 733283849 483276139 24237573 462183011 125927969 658657715 943472315 176905099 377644779 817386905 44310957 743845997 613878151 315006313 131924143 50717993 273153977 730535521 444325051 836269391 649737459 573774751 484654323 362698965 208938315 861440303 917258661 226423061 504846975 864495871 581969221 825942487 169749755 233738217 95250795 126211655 279450825 682085041 841637851 102708219 887511715 244628733 95505793 304151537 635116775 272260705 692429681 869854605 410775709 431918931 436019173 492994459 73478259 458076215 178295617 233412435 388068291 181315671 655725327 659496273 56518537 314773217 562859269 814214809 10267503 540948463 941953531 156016539 867728067 827957125 112618229 410574123 999114107 674632329 236598817 69386117 578996537 266405839 548069325 325475663 452667459 78677773 344701819 874444951 67759751 811565031 353208009 666193361 690439325 931963621 563271299 261119707 842139845 95826041 969210783 171452923 463686117 582337533 218476085 588356829 91929231 187389103 487342731 158120343 947203575 276963003 60730377 818717607 236888829 613555763 172596293 74489071 430649643 538579981 178873339 343536319 825264557 160323373 173482507 786613453 534917721 4849499 340088961 640164405 571624627 253133385 496071059 356247163 854397663 938704527 834095769 471575183 627042989 793451695 736280345 192462275 53729429 175663123 285398973 205863127 169330357 333122573 367103319 677521135 990274517 427702995 984763365 82867351 852554853 940880521 45531527 622056135 442568057 590923831 432471947 670352349 985407957 235908815 626872675 334693017 736691419 984747049 978040745 348489517 61123487 405883399 239943459 602158637 415423959 366586131 454699451 885739925 212919007 134858205 771295619 134461901 888751299 940536287 607180729 463751839 955570479 958944379 832135103 735037505 500686459 671321593 477475357 394242643 423100583 39291531 546353037 29189847 223353947 887601481 859519971 737510203 113378275 281626933 749185831 829619541 69855801 669994553 874770051 394618979 544892925 236839461 144918347 472462857 264800371 420999603 558817273 487552851 99484813 950210949 14385455 576354745 917212127 732232481 573381307 470725143 350854061 613772285 867579537 549093809 778561499 916919919 772578249 300095287 205082105 206575289 736673191 797339581 584486463 737384965 5381271 459657663 460273803 204541283 369548077 762075683 14836069 844857549 189037859 143551287 221246203 507288099 557157979 97318831 814372903 934138417 31645157 722280873 121047397 267706791 344798959 808222635 585643999 969192989 155813335 157948833 605362275 387850517 956223775 123972577 202522727 444277495 107059829 106236969 355105549 618191383 52369321 215618715 844675097 139453357 67803575 912657609 59307773 1481433 478995907 816354467 768033745 156296103 726926871 160359819 556891729 13476871 887898409 586802499 463494373 343006415 88384657 509705467 416077725 856451269 226319891 802222661 820063027 617755537 681766557 929217569 183023105 890755267 445738303 523002867 153426193 46950099 861000757 873995913 507901715 720600615 909500899 247463703 206339933 639304707 569752021 751674427 604550381 374931357 457249211 888650491 871581549 191061257 660379765 60833219 884535851 956378701 507080449 550486377 724897055 358727249 320090511 169263657 280597479 25669091 311281775 680737961 278005451 721575105 735452447 408685815 596512185 879348873 987942719 279249801 628491083 616510407 17098653 317047865 896655293 670282473 938349867 503565137 265663993 804024651 425408515 159724665 538114701 809661483 944094827 294036937 32806575 849918391 709885901 544794815 792891201 736436219 579138491 306670399 766003143 586835957 794055923 576673941 403958131 446480003 1102933 102937209 749087259 857157999 155193839 433274887 894945599 789420653 835712499 915279555 936758535 16122897 524822973 487034781 228506943 5551841 777576655 45110761 404389473 536541251 847104469 657922147 77574795 432430987 754678177 789563953 838344839 409994991 750154289 970258913 736254655 687882899 902832549 450690151 782293071 88687487 607228235 675758115 852686325 369244325 638024343 261866966 371991831 65101791 298205215 650039217 166038725 934770411 964081835 414217799 202962615 776393847 373157415 556152725 253111881 949518095 403899041 343515139 964657031 119234095 33949017 571516251 383596575 862071097 379593137 783954901 284572261 168984183 749594675 269084429 217629275 38279701 901898643 42736391 566012073 770636083 627507629 576385843 713516445 268707021 185078405 731587427 711829549 460720335 962604355 749348567 470320891 325861131 681889085 997865779 775157579 770562615 426820333 895033733 975963663 110955255 962074359 91586881 755526365 349007059 699168549 658386245 177453813 363939645 467293035 903068887 523433023 853444237 369796839 274497187 90933319 964053253 120976599 137250239 912244039 541680591 175134633 921174183 602152733 101388285 779946993 931790913 265119825 21194117 857090411 754958043 500426515 130344523 789123575 929337131 94664761 834903319 987813537 771828045 37388867 25728153 810620575 679463365 686850135 672619119 887288393 908522113 848741701 371101717 369320485 262292439 88767619 194056183 702551003 174126469 604743475 934819941 281086785 944804783 188243739 559859353 552863059 119407073 458363305 477696949 841993009 597031443 993135351 371211201 819909417 810113441 689451201 894166701 451200427 991565905 41269617 966858581 594569815 339705167 12751123 489663099 545861357 48690223 808190563 355657667 766383703 743107569 836290491 173381827 498704813 488849915 650097191 628384755 471136037 327633175 449930323 281784757 585639719 157855867 793647511 242278737 748983097 921162437 439296755 131696119 883140371 360018171 391494157 119353283 946015119 359231881 168423477 406977717 496210351 623371079 436285795 775438775 639372191 851477613 890548021 208623001 622089137 110451621 71220723 63028245 38450019 240909049 443983245 142504653 822146133 474830561 828863129 416162375 573372757 338193721 284426581 933840121 942623573 598016581 207116971 841777721 72498801 131956661 713337641 753702729 716599019 114148251 725978119 565066833 663139887 260708727 912690723 126582117 855016401 715128621 792619269 16127869 549874827 452778507 872029147 179193209 147012927 582921157 473239165 824443685 581705213 143892857 692836461 489401903 759992051 419779245 869781453 666361651 721495935 48421453 474179697 130660529 272958243 954935727 442552013 849021971 425887883 349721487 745233155 923787431 130107531 895068437 794845655 764228779 631260445 291086539 586611131 771656253 637773413 782752167 579947461 208767081 562151853 770358281 459106997 349838877 5291113 60176051 247927793 1669941 540970293 27878355 528941195 465409905 993607893 825199617 203105335 332117881 833409329 4076341 212879957 417745377 909661791 156148697 837961965 594538015 565920665 144834489 506031021 417451929 690225731 973554441 364898543 988465811 865024233 110957415 204655281 973368641 783113275 184807127 923851673 654800061 141216791 819537609 511485431 271175687 887892097 969348881 602200769 472370951 855629475 83399915 127740057 252945297 108233167 916000253 928451269 711580251 829186689 648204629 363626035 373504009 171339613 67453033 900900987 256842789 733491759 852453907 613764319 819845661 976671463 240272795 388511553 224924747 708361893 829247405 515086133 249566451 20069031 79834463 320679663 898777915 388512093 913448751 425321041 440446519 693394263 828669953 498342879 420126173 873357907 757018145 971664843 312427537 261513777 370616391 192717547 821753243 934136319 36093071 92615615 417637165 181806831 371164541 689815917 209398881 875173723 367402241 418081989 902330037 776428489 107058541 501710655 43339413 38876131 381746817 189944313 34270803 510671227 155359841 174622907 136402213 853287823 363026075 471067893 995155503 448701759 871014691 333461693 378742137 859599065 377678679 266528209 249391861 371636431 943291645 975118491 292748155 627136189 684730689 987485481 754131919 608401509 199713209 678496305 168973207 777194163 228691811 539454997 640863333 750865595 827880353 825804763 850304181 621330101 999465795 984280625 366568675 290216201 976294783 867089521 632967229 959952191 762381039 607977879 235006451 251789579 79845533 921359691 856816157 529984841 214178545 211549919 71877311 782045947 997057731 811671623 980449471 153562701 165168209 971211557 656180975 506516371 309908031 71904701 833220873 841901639 116701851 595633665 539658927 118531597 421599193 854418055 672406633 942987183 332492247 835307407 201303721 444462113 404546777 707828223 27506375 717121407 544319119 806531175 928708613 90142733 358374669 176959487 783971469 698328883 524629967 617697189 855606383 490506375 718565563 983324385 573577893 307003075 587712287 905687267 819743761 201990859 880911537 906892159 248562811 286927017 872893067 768816697 293583763 112125587 717627445 923532597 564868597 409723361 750727325 349184579 106209313 470901271 354522901 760182233 658806657 229326307 277046875 50776601 79378277 861884437 277739415 407944649 54394887 781421737 980716883 998653783 17354633 789258179 540125319 324018139 341589745 78850735 597196687 681271317 4223285 683314397 8338223 643629421 571190827 38838509 620674455 430700783 223791509 911088029 128173915 69601877 23032861 663805149 862981751 258909439 563070547 882094269 350168913 170451697 417694641 218836089 449740727 899100637 774950295 382730103 361588701 774304793 350618705 221006909 186414945 603221925 956015629 225937795 263485513 384996647 669408743 990552867 913086977 542168815 261847775 574213405 427097695 366125557 979013341 811935905 528111263 310701783 592896437 143949567 177312361 281939165 461980703 853165237 733631687 269125367 679734973 379835491 137766705 923215545 6573333 206860759 852612737 412303207 269420187 363212035 467000833 291115749 782612905 366221571 244591193 218236097 965636735 313795865 291442337 897761591 748362823 662069681 196467031 882890275 847350799 216699741 496232799 736081419 447351765 818713563 306059015 982550307 919096695 929468683 361670915 835711549 634798017 186702331 587569521 852004827 656551777 175416799 798342357 260601635 581818355 415212813 789663519 80465127 673059061 891927053 86576291 150913179 695960789 253807755 585923357 330946401 221220321 743337557 875423925 29384957 672545105 91777131 948515061 285502689 732075593 852574703 564944851 703619875 309232339 226061611 358101167 156678017 878808285 348148883 745656139 401444967 46438721 238786499 505325269 711633375 879098563 360868477 544081123 722970785 256323337 961136559 359836275 980839185 828575655 899770471 752924391 609673777 371316501 227392741 806572305 59072689 67814835 66541451 166318115 807097835 130989771 769331685 693371579 722618587 700154767 592597923 531361245 396650795 209416727 372581283 731876857 112167977 696947303 454573289 473132001 704385995 526462821 598706077 323871701 529251763 565572069 318284309 24315515 53440037 208143261 312994763 33413083 310393109 416968241 988152931 679798897 982566165 744395817 627936425 780798485 293769319 664438263 704309133 384979215 952455665 11159285 717676845 217522443 870919237 940965985 198353869 48524319 130035351 33478759 121942741 847004615 331444167 162530585 687419869 846739435 46137183 273132909 615673243 618015701 933966473 347521607 656369909 282955581 894822689 857813359 936246775 682463549 81144997 309881495 704173777 210078559 731925307 671991895 974225123 90005643 890955443 395889459 49119149 916169243 4568453 426833553 855070169 438286535 326014415 338798531 466328639 640862137 119339097 571700995 873593557 326932349 703188371 836643955 376642497 645169927 355232401 245948699 408221263 332489397 199819285 215757805 715197425 366585677 672391559 56462529 804834115 219884283 614563317 271575897 267933447 418742869 460310805 385761375 340965159 898484567 71476809 884956771 514775483 942206055 859104151 966140129 886902265 713582419 574294701 389530933 173303112 407315025 531463651 323129261 922420787 372623099 367121209 896310393 764840299 376893273 41679703 868939441 35877581 632357593 275712649 962730839 928586331 141373261 213765577 341669973 378146113 226461171 828916661 985499003 57891537 424201331 466277783 617096067 925751177 338428377 383536729 258551567 652912139 38359961 447672727 364642727 560503329 69160079 420075151 107749563 572294591 839838725 392794406 673239719 850117633 701834917 975313647 721802155 30716457 848966531 924473887 65862385 933006499 500565791 390347925 192585097 544247811 360541279 312544473 314113901 982553091 800244619 334010137 231592062 7421575 4398431 515701807 921233797 41608345 818915315 85012631 53708597 449353581 37396431 821104507 40025381 50391903 792721119 715535785 39652055 527695091 799572345 750045335 181943475 773650385 405962585 42988903 489285389 60724687 995034279 511893469 127109405 30262759 285018349 193273707 513439749 257460029 997042211 321812009 448383435 330585117 737422245 732121043 929349733 228394231 624485175 59734225 588407463 181708137 833924617 872192819 209998167 120062775 172228525 366368177 672201245 955222857 453784867 943252651 310648457 234000053 67224015 815320869 988199701 733787063 336896127 827492817 963356193 986136239 823164519 758979077 31454967 281485097 32349221 87815871 9328331 765231323 359177407 356808617 991749553 252311197 509526175 72055313 707072943 314426229 502956191 340645359 112502701 921937805 510588155 315118817 421051003 301630775 451601493 323887919 741189585 249111535 59396797 180912327 476017491 40591193 749897897 375209539 957733771 27644481 193683443 738004959 281389799 573639065 153482979 719700613 187090627 789500283 684431143 172942531 812442205 535694893 938760401 384813519 627017187 920993049 698704735 443297419 301029219 744180689 961623225 983633531 624873429 204070675 833018411 830201041 687279645 208562111 997249897 55719779 646430725 764994531 936881041 100783025 302012219 588527537 699891751 112850915 204979289 669149829 933688347 153085381 230660579 285393889 45414079 135631825 281893183 28395633 331862229 508849701 737192897 949249287 189880701 775862667 122451359 758684065 938566983 183844973 218664189 157043297 112339751 958174183 15864549 29439633 62551419 199056055 403987525 683859877 454992649 451617859 877565687 859990073 928091133 28840859 768542399 685054223 783060717 28161653 462984771 740620819 597392343 295803443 759827477 739045721 212702495 814043867 754593201 804072475 585412753 484833821 362922613 189303227 841953381 787811405 69677227 3824841 729219637 903483245 369182341 543395315 315105291 161073701 325535003 25057047 455789391 995339459 280429423 65679415 79902171 189447229 67683693 89928319 743133929 544405813 178581217 608401731 759936031 706167023 38195847 223751421 532693641 781983325 814789889 365539921 306709921 993004821 165487575 653721353 394351167 57039959 966618747 798667035 929511337 798952971 650249029 6538143 684373647 655736253 483029113 858823641 792738309 147189159 562958653 436091447 148618889 489919911 684873379 420164425 69292797 617264197 420152485 993131211 488473009 732551601 168879909 198407841 322846043 507693761 783101163 272390102 365512213 314806771 465566889 938889117 386361959 995275377 119068151 225377363 724219967 278462729 926908503 445493367 886539759 786689843 677631027 774520249 910877495 504200717 376418267 683260393 95294009 634779999 955937417 189526019 281713799 921249431 672414559 374770987 938246163 299769807 338796645 591579053 222875195 519816899 844013451 570676731 856408771 44280795 997310895 206172079 543773403 88855337 619412877 940546191 336860695 277672801 28373199 224604549 687553395 294066917 846695691 788934051 306376277 320723641 293351605 292611367 300600203 605617039 909013551 439179377 733138507 111382719 416940741 350587663 229673775 213232963 641291687 188135091 78841151 875065545 662160621 167810615 386162407 96140955 413137561 550186657 219920637 522633907 934613907 188093979 31424447 874263727 892356783 438554873 411469263 725100759 952205221 925073075 104703295 354721563 834959383 706654449 335924351 428555281 213373067 691487355 144572785 801086455 486237047 830594629 563938393 382307767 558142001 38887531 378970849 534808543 161541627 223810351 83209507 173151655 195166973 850378749 203391641 26157037 153465163 610495591 206190377 991405113 876022237 721023787 482476063 262726073 700983189 157048107 983309109 551101509 96633401 246705265 892445571 512796511 559952765 214563633 800509073 777730345 168547835 867233991 621240139 591291255 828134451 375137973 318217989 997785277 499096463 155100585 519050369 769365277 656983903 335627377 642323167 777103195 341708763 157030157 16104623 838871529 808357161 967001503 407920359 362171357 301743693 51876721 995917283 727577591 154978875 670748665 207258727 701793181 670191309 863684559 850480801 595828191 940337603 42653623 648534311 679351925 144218565 848053663 338535927 210318015 330487142 146566039 142204277 120335553 393765921 373214939 16373615 70415403 673814355 894822607 387275801 409332055 10841927 959141373 27996433 354186819 527034927 14797595 960289883 92788117 557144869 806469633 942752615 68833691 238629673 469146291 191925257 580839761 981549091 11604063 484510077 754452819 925586407 282546261 978851177 939967209 673505067 511991057 407204571 163757825 930246291 501795639 121032519 681025331 938510249 694600851 911950732 538158271 73362395 496370455 785688815 329544589 264479107 740306909 576663579 402390315 92131557 275085867 992734759 25940431 738802983 27250281 603795345 315750233 8872285 718326575 30540603 223750739 269351293 887738931 142889335 936992489 826372971 336101213 151743735 500867059 220489199 343030195 113616343 559182321 256769979 709046381 415236769 692584457 421987433 872199653 44986685 357622027 145625975 846245019 259934213 581706863 36257105 380290111 282862771 507842387 58297417 859582115 449259373 815812479 180295061 489459391 140830145 68739683 395913305 276755387 499861411 583389717 199963293 417385951 3651185 29745747 652308563 859968927 50271729 974132615 456836693 402195605 289560399 955295167 156371297 66883719 930534433 531005361 261907747 513927263 830694755 603150783 962712363 490469169 587352189 427071727 556060149 557503799 959095353 854335471 826474975 936562899 664946127 497188377 876083763 520374163 747345369 343281769 12021793 948225835 717983583 438828167 858454983 466499697 871686351 394420165 371760929 719421551 329751803 784271895 155292443 682139979 332782627 735158047 397533829 311124313 604482283 343161120 567608089 476091415 911154015 672810511 488906873 814136615 371692535 681499263 540511021 356718931 637635727 219610801 991046567 484610961 433664365 557251979 42391871 40535545 226062909 120596381 54600503 505057999 679306005 542996511 754950073 833913727 385787761 546896367 796723413 683384221 765180727 850049173 189038981 702865379 349316533 62766401 427044011 58714421 592227489 888257479 845998095 724342687 535686933 87700395 481723745 852885841 927904921 723503889 312707389 340325289 112663577 806991305 481715235 994215467 753335531 909868105 569164669 818935679 401936333 943102643 186722971 559036539 946391011 218233291 499249591 838266649 781594553 630433285 127624947 772809085 818805319 91108979 831910231 53304563 422051817 218027991 822066643 366417133 17953123 18856345 686668355 566770181 2338021 811662533 488540775 778827009 184850689 443804949 876251369 757208009 931489719 367805417 616700505 716058227 453537643 466125125 41718321 986243643 218406379 873374427 7024081 105750145 337390445 86249217 654158213 41142227 540778891 75214775 998204283 250386145 535867981 1634211 578739407 986455947 364771615 377570069 438491777 121167825 118636503 500739333 823884923 67885791 697779121 389548561 36787339 655853063 848645203 931165569 327120751 194527685 133668557 442256965 13350343 544283327 752524431 619580913 410647833 101431997 16850043 881542089 822723803 488431027 490769875 628762033 92584289 415611067 245118791 392397111 747351793 185708827 111540201 684094103 178614963 569530173 571988025 26292653 615619509 340820917 86094107 18147071 614343157 863544379 515027675 81160895 715164497 231170743 598671409 239724485 850124949 175987249 311824699 520355981 927118447 604786141 924692089 485835327 537238139 552196631 776133597 635876781 461890105 419475297 233716155 451914827 778020369 215485287 425305039 300512569 6664791 908713469 721566271 836606017 9945153 258991643 454050457 140634319 840313077 192525545 604762835 574031611 987629687 845655727 870516295 797084803 30508219 522087395 916050109 140708817 108085915 618645531 608959843 560701173 875517141 292494625 519684043 573371553 747529495 446303195 83505395 105831737 361139949 463543135 17674819 80812483 302512853 718906343 815628935 138063087 113361197 976099287 317593329 433767443 484616511 982849721 469069859 184750125 133045309 211844161 166133025 839985383 673282113 194395981 188152917 690478479 537167689 929439451 878541465 295699483 93279809 986610969 223405607 750956589 429531643 709485659 532849061 806980617 640005677 505779739 771818273 830534561 540129403 30134269 354315023 488139149 533768559 141628621 979130191 114223113 582790005 702875005 220718625 924981757 705126381 67738663 153231161 300338683 753364499 129360655 394391717 504227127 59643411 15541155 581742057 446371473 876125183 430252403 164586725 413561747 94749389 546319163 365800683 796295527 780834145 430254561 166538667 357427689 328608643 119850859 625541191 108712599 890064101 461532177 668474945 149165463 695581727 200017707 301273737 384624313 941776821 376382527 719811697 784762997 581381389 242884087 864563385 388231401 771277177 862670629 252958341 207572189 361871155 740943303 698922595 34285759 584367709 39285245 194299207 742270889 79981055 960279317 222956943 317155415 994396939 360973439 862131713 371631155 307570521 206576347 761288391 376660043 282139819 991990505 133145723 406767189 320594859 791195285 847655191 635808691 105127147 957910001 91164419 894367851 251989985 563725883 875485193 710402091 284068335 213942483 377985119 282699083 363032929 81579591 422377893 175374283 758304359 631120201 16578525 186074193 21926937 820514229 373787253 597924143 666660217 613031309 132043587 724388185 371051121 651887101 103050629 704867183 899930833 424563289 366802655 96657595 410740051 74530075 287423069 984215591 109370521 575675621 582551415 768758607 275288619 120644485 986925833 370621809 495444345 746588909 578985049 943879283 388109023 155487289 858242065 127561189 404275357 756191405 922795339 240087551 743476701 556172977 420029569 635253919 892477871 978709721 847156377 762050125 662605325 295668451 289734625 43558711 753877721 234989233 471312653 380374071 264224473 692690765 648515645 593116617 263438531 738512877 38576115 942902551 10688557 286069481 360478749 479624431 739905177 823554245 103360273 795681479 818599025 802060591 502390411 863558593 330988547 297504757 508037811 192436129 289364109 636228121 926239507 394647513 245933871 172420793 208553891 405678721 803862511 32626209 916325309 280666965 540883651 131562693 736056107 300817085 769049729 983882819 769875733 636507337 579799531 789708377 140651285 855885873 125900457 275039223 529267237 841475925 731959375 681434157 318492587 660643129 454376789 367259447 744826995 576094351 325663771 466762617 372487605 152151725 893620205 569251967 539352589 239426705 12466169 454950905 893304449 523834341 336574043 36749511 928995709 91949559 818870545 545954791 304848343 949755071 853899529 424816009 583041483 288404443 288970001 724367869 330479105 441942931 539157217 846918337 161349763 677101013 926567455 271999349 600625095 746288955 354077519 351496423 317010349 299027969 96230629 312007175 254093943 60362513 808279099 503341301 989060563 776901879 156418193 976392177 218985431 412494063 119423503 947353191 548809217 909224915 521962185 576911849 963129397 659664687 929524149 185799987 457754047 72559663 743592887 116057899 620225111 133343915 406279833 874789337 932584729 543472675 365056009 358487921 231277963 599480511 10008225 915727181 170353817 352929355 75774693 244884723 328971671 539461441 199491643 399740685 982484293 607735231 723436023 389278319 3824839 807220877 653784143 861945619 312904875 251895323 343828839 489655067 955155431 336152959 246790217 798982101 591761109 825559929 728010723 973249203 918410301 433564015 557222927 290888785 46280267 385110129 366569105 338452337 636060053 145987125 387509775 262172671 561036313 284881949 177462555 239887375 400163897 161679407 655150897 895657691 873018823 892816921 713489327 373118407 655617267 876992053 297380063 961503581 147768671 18865791 489078003 437513809 598796045 588940705 903870211 594477695 734922093 918974441 176674323 726027241 896621137 433052237 997969929 625122749 860215545 109434735 277154999 792483147 812695817 687503507 551670487 954137871 132746127 301182635 799760139 937051053 435273215 604361037 441431259 167582959 129770807 41652153 189860793 12596937 925817469 466914263 550918141 362466391 314765949 42380595 734541803 530055389 642934861 415439367 722201257 358887107 946383465 19744305 874461513 342227103 777789881 871352377 229215173 719109165 412656263 625456207 387395583 196569421 20145033 145853769 22342335 573419787 686015199 667767717 459199159 472886429 410009355 653845133 783686527 383938651 132863483 870394063 380060313 837565131 625210887 117912035 611981423 991792021 510076135 572301031 565455185 673771663 626132677 742425507 581207673 287927477 573388589 703625093 711980297 244663079 847324691 925974693 837683977 704477747 204284117 212794053 323180139 230882889 603284791 634477127 224170503 684604169 411590761 759475519 147072671 750026289 221357567 884985953 534703581 730881201 341230325 302787599 130505041 786779035 980347569 600584013 480666997 372497703 162638337 330996429 333513385 235157435 782999065 537668581 762803769 919995107 224918425 93662101 176497493 771651153 462493571 589967749 354125333 847725281 519419461 91402497 404370043 304554389 208614581 293572611 39496047 558269081 423582991 388743209 702074309 483747391 762982907 244915643 670563125 851015685 156864387 336073385 582738785 655237515 110371359 998133129 640427729 392114591 870235563 843523225 72260597 637155123 365829227 412826307 770029097 539364451 44093967 577835669 219175597 475567985 23578793 226529095 621356971 111122889 586753977 94969271 322383153 638149887 599502627 91720555 406250557 936758221 701222453 115936663 293136815 671161621 549297315 924529165 686119245 838866661 898258827 34116687 124507853 600386929 815924850 452491909 196686019 167073807 5275719 364814973 56265653 632587849 623327837 643709101 694840587 670449349 732312945 899598645 550511125 28407385 451473067 193968351 84613387 238419199 880511637 656655895 457249811 567716571 103501351 649087989 859361329 714181943 622653883 458459449 845330011 721117063 245377561 172658505 459540581 786856551 147640687 495219509 853130261 954972315 527300175 54415029 262232081 121529867 455735993 619814185 853128429 829311181 818596113 499101845 148595745 231398427 688065827 254565545 860144909 474757977 819890471 820837311 164461563 620300051 365360313 953797589 458779935 568225273 160923103 397296527 379901837 661553128 3780613 905697089 398519883 98824423 717582591 60378081 354538815 898405403 772916237 636446733 199547965 392656091 258304213 958872333 224053755 435629475 277293665 118811087 551970591 938332947 844878375 984113643 826702125 107917559 225897733 605384353 769803673 886473541 507881537 333741529 67831995 787863319 346081417 707129633 567274199 121208749 667852527 286477487 139856659 578548087 310966769 629829219 891760771 151741189 342534263 714840775 275570461 427714069 541592779 132676103 297299653 95562375 196637093 841638139 420288069 8143721 256486689 968333859 4820043 839037931 545859011 554493605 745955441 913886829 739255675 12856657 488873529 347128687 768210077 466340767 136290319 36454045 806660323 904698029 61846591 611998153 985403001 631216195 783358981 450790897 953699045 803816401 942244483 756132405 98931747 558530923 124950465 64829667 150014347 300637909 583010225 13818989 242432229 676518003 772987181 546738799 466438493 959705685 442730227 153925291 872639623 599359281 257942191 395928077 695247205 16705897 659902963 381134247 457220439 219147267 347419445 72956855 326708015 69888941 926177497 947190943 143236637 488791999 445954599 674464233 693553347 326752571 166005327 975735625 427248163 842600899 308760943 521748379 465559211 873978539 187295619 379100129 821483315 578908647 578603383 647081543 538366965 786673943 382609435 305603873 987550613 968603269 47323945 859513321 205969445 374428189 910056003 324451395 104050711 329572471 17223153 717686009 519592265 40348627 518666917 893983487 88067073 344297751 795137463 896482417 649552363 304532179 962917993 24261009 420943643 849807935 407868645 867089869 836150033 966268473 461086523 327794869 545128883 354893385 444388453 481504005 934732875 304656287 934429509 388364193 721074319 564119566 562703779 491986067 196803487 506174749 340628783 723427343 244689661 330472685 352559749 402452339 103051671 287293773 214177319 660819517 737486019 843733177 725215097 246017821 212882751 143799117 388502481 841533155 231814701 498385359 911331687 306620811 620026399 416962227 32701533 514393913 263240199 539845387 941738939 420590391 182231105 273830809 815540849 551686907 413706135 400120773 152507483 199319837 358299185 459681947 660795193 306006115 143618729 68717525 926504885 789057719 628011257 380656851 438572127 611646507 954942343 321655193 66487985 998260219 118736417 5492185 704573451 438550923 519998203 600622569 887149753 447680359 343212467 721363913 232615657 351150145 812035663 991220255 170778039 185011187 337542203 474864955 639142947 730926211 582169421 984756245 246900759 832873243 273483459 62885195 183168355 48128781 886663743 179079717 99566271 598722263 940221649 26157459 701375697 728747289 428611055 751775017 282927389 994309025 546815093 456991275 105605913 337222241 643931559 275166331 101673755 241328757 874201651 564523949 927005027 881320735 126684465 933638647 937635103 35273419 506354969 581920055 682095965 635185163 319181013 965784563 379706901 64114845 244443313 85145181 170786605 59445857 873519457 666731341 780574569 185802853 254060803 992308543 36597629 717326299 173740573 64142683 781670659 53546783 598029467 675600499 459888507 948513459 842552529 372166139 668724557 194942530 291763841 944801555 988652749 397316003 726074315 615569285 700787505 9789901 414966847 115892411 568693151 63842789 762867155 929012433 27707931 237944373 429937121 165100933 112498329 770754353 419960881 265363773 723666419 85775477 306533871 771850249 688481511 350867395 495372465 283464865 606322979 928690183 78296949 834853219 249025075 25863253 793503647 737412439 765962901 446205159 206835195 913229613 907576487 938128929 28823489 69898297 15926707 101351821 295515021 183453055 808881387 669970657 562751587 339217059 169747561 960365301 866087091 480071923 666751531 253074125 955584337 831432299 725945119 521307287 902314617 301459623 750469137 937154211 452297937 319492077 427833021 322515565 717585511 804329519 486378181 383163289 784561583 10485765 135571123 371319025 747441799 446575019 398524661 625852779 165547829 723379209 64741605 874349855 729193829 882179505 986400709 218885203 646514989 129662935 228469697 444922479 30108171 280787291 879113957 489426185 912169441 140632517 460418605 132542173 847546367 949641797 518825083 220784843 524651035 898397873 576930711 971358945 292940625 969738889 883606323 532138319 681099045 269870067 471735273 409116533 542137991 551295679 955342391 119378641 507043017 27562341 504787849 905472019 774788779 646538755 507680047 217826827 561248081 145599841 7549797 160115383 811700039 76219373 474318407 42025015 579396997 972844737 74353379 101320153 567832169 165940889 454219817 90465039 95199923 871013599 432034801 833257587 581798037 714725537 724076031 456078027 940975267 839221653 670185207 134872577 835946201 949706525 254893937 63389225 689646493 347954495 488283873 834646651 725621951 987761065 155487915 425404511 318245487 876788403 405982485 540991069 351987279 148208221 551349845 73990953 514069089 565992269 844089217 727233693 494961171 798644181 442188187 359597249 989707067 699265257 249705101 206851259 8971031 199967017 501418023 200092127 170848587 842595805 775046437 153328299 531308259 116830709 358768163 536944065 854519639 525016327 970047151 201088747 495288707 965628499 645074489 183074333 804180139 214122431 201708313 563735667 124115839 322597595 65040273 642512175 79754003 211272159 373880521 838599869 494587363 694038185 569699285 440691633 195550421 462468033 625718957 140371909 672606263 267221333 452396339 525317853 845672125 45404735 272548911 814065667 705012869 921606907 337592401 767160938 431812117 725812915 133448501 200680561 738171737 242345523 112254555 847094425 789246631 892227319 650879021 876992651 245424061 589740059 170165499 813384221 550783165 217120613 284783103 539455561 8991545 273740871 938459737 963083315 620137249 8855767 414061077 875850277 423589847 471245525 51046689 393028245 234547997 303799465 599985241 755921691 956781091 764796511 992033917 359673213 352328315 824842929 986545973 428965539 878419749 181807103 243311125 720604579 364917125 132296013 165805461 868922039 733245033 356486477 548525589 972474435 997784325 957482835 879914209 587938259 401739255 730632803 630995751 305463065 796532805 371604513 43634435 456083183 720736347 273872861 199839349 908485723 455776015 799510927 933779557 9971077 931015837 436784853 761732007 504525509 397947819 247411191 348915187 47948689 513301063 100317411 356459241 534964111 635802855 425439795 792899347 555999115 637720421 423311907 473541347 805360759 393816073 859960733 777644467 222946925 578155137 800770349 663797955 956436915 115186911 756629007 260402235 73259955 692221091 659594013 463757359 174702079 785262001 863085539 726693781 11554133 951657301 788041100 203666259 269369493 169730375 59166195 715503917 205297613 432836259 238939797 210139863 670351663 459100909 670978457 423153387 323104279 173397269 32050897 143450599 338767879 449623663 728482993 564883255 67070379 729052087 826582361 687385133 164603861 817554963 163820945 582105857 103559299 886003729 290395081 234026451 379550679 828697765 875325207 933628333 407885083 849202735 680339515 754277249 613353411 644578161 455975067 190027047 402685035 93058201 320747847 614323811 378304981 49206845 891708405 468170715 916595181 439199833 144522247 722200099 988731079 185040213 950910339 211618993 215251355 920047867 189237783 16637161 983286737 237806979 733874717 586659603 397577201 213594761 454059920 144173921 102986929 878735377 570160925 533736683 498872809 656497547 963818767 706728629 732236189 729559241 540186205 162249381 79045881 76139275 602695591 723762317 898843473 598585845 585692215 104232233 867695391 592476309 338805497 511900949 439913735 602222687 713496965 493808095 819261139 836425265 723593499 952210679 901694585 450279249 69501857 635379895 252377873 990790763 902601385 810159965 154534367 748767893 986873959 452229653 796661585 881454667 860616379 884418031 604341239 791677555 485350445 645049061 747526029 767961947 506535149 754077401 539382775 608966073 415963601 751486099 300085311 587006375 142323031 567825093 497179035 421670319 437334185 918740231 400433251 610375097 29505173 473818843 387035421 591954461 335744147 712845483 320479091 711046809 710624705 888533703 782650679 683287889 542511591 684170347 852523877 337933265 296184947 736917683 29080865 373897745 201747325 169780141 21536439 600478061 917481671 424055625 499816089 664843691 998205107 892171871 180299873 573341687 370835285 918951857 278587349 979129317 884946273 233042153 584570335 836958837 567594297 394843543 954486161 230096141 223029729 201103413 536888615 848690295 468969995 167631653 313257735 828892137 473298701 993346477 861250233 455054337 760871911 522684675 583575025 636607429 176295489 142001981 538726793 570562977 313031015 919966813 636964487 388552299 457666387 449984845 760312085 333111393 559737763 69567709 862568325 996410407 946419871 41473735 575475029 315765705 573221943 40985771 691523623 892991423 331886337 984170261 702991557 756322277 964876091 760198771 74463779 540892799 769442255 407624225 649048155 451999037 413700939 527654751 940963763 154965041 236442855 426201175 729665943 947656411 937860993 928054553 35349397 479717663 590695583 123166877 358809197 438962763 489695605 133835209 124553473 608295443 970214869 522400353 959291739 975838101 811442497 483057691 861323183 645885527 348266465 733682061 509620569 227221317 298249091 168451383 617447387 133657013 783376541 772053127 248696289 399221347 777191247 541742795 579696703 600152695 756197987 442400317 259823343 677038715 159757381 368339197 167073301 649765733 998765581 333270037 561741563 817280405 669184123 363538041 673622807 646346189 397640949 755157501 730280193 818902587 723081867 310419559 475041149 298254199 433367797 733015135 522040951 757857145 406832529 95380595 510521859 644334251 28186729 429608481 996690781 355176153 580808487 959692487 850168803 463240759 149951015 602994865 503829543 811912291 722939237 464483853 662642903 951502689 37280139 270782965 169944019 544821409 280314599 329301869 804320537 623818231 257974385 690917467 907274713 113071263 31140551 766944403 204814179 615903295 390412079 27817165 789565491 907485157 982815389 914908073 884519149 132852999 233554083 367043249 339829085 646457983 168511619 307069783 649144181 615329685 413604901 424463349 145182799 432047861 320273173 6684361 287851825 636433333 183263119 774881535 185993859 302463571 968145773 773694889 231713501 28728755 890858811 284750013 505271285 423778849 835783461 762683423 586120113 861944917 520308227 329560729 578780957 848055915 494776403 43118297 374937451 484623079 169935169 143120505 508013813 917093817 728503191 426175229 180831297 455086387 357707983 529494731 692070137 402015509 392670727 431521333 708014833 389113219 661203207 83514999 741738785 494947851 646348095 254027951 45141169 897725601 77275843 746058983 204468713 552326819 467537751 954016529 619773245 542357463 259583327 476896261 150947399 983242089 56492267 339901061 293428941 961314543 829850289 45152315 201908665 254655847 75196691 332665017 475041823 917583411 944420631 244192373 634931769 447311907 183394155 798668243 472877161 103452269 353273191 467011099 876594237 209415083 220602380 302459007 993757031 513140455 892389631 744423191 958250179 388253833 569813905 726035429 458863443 340641641 613697975 259581395 49764165 547471813 71641361 93526961 705435879 60334657 905134569 395226427 460916153 629073131 885669931 527539213 673104221 123558967 243114095 449639093 652597917 399371267 551173875 442387363 34037869 904958611 991977123 515414575 830398185 429908887 518667785 305038235 116843605 784920867 28622943 915226129 501254169 104053426 984995459 733348769 631687627 232996909 96528381 44887365 984519205 844737759 698429435 169380831 916588555 354740351 311171159 438758199 559735687 970234407 159782031 221503743 377162959 658933599 770498247 607079375 14392123 638005525 883524819 316217385 342339151 750235291 793999145 181346167 377269433 700495023 805730791 511511305 790175049 480935033 609344467 260743449 690497019 518939779 809771361 972523975 142194931 543121349 629323171 823239711 73765245 164063899 737456475 858001679 355322633 838242249 344670703 363185779 987505207 408233343 289828977 626028043 937616325 440207441 758964373 972378241 918005667 935623739 751321021 386668645 941614561 843075491 620136429 882715441 162319805 816313431 287211223 731230277 142932119 981637259 508223185 493711853 634670845 291616733 243045339 824560217 918307743 367363667 313536667 422405279 800536157 313346393 32040289 903536581 430882615 416725701 17259301 559758771 446925143 350387155 707747461 553322553 395552277 42332715 251945161 923263505 725530087 230445271 945687775 318500827 456412021 350337359 254792801 129288995 353420421 542942829 131981453 506928983 121300751 374198651 542317383 488782035 529516077 315807521 395389475 836286421 950176545 338438263 616788311 808945035 143522903 566554619 108183743 611746051 448447073 220337297 258118375 409540151 722861309 845339271 741001211 562672903 990199309 653442704 163812565 915454525 86611611 848843981 733017073 186451083 836837851 105286079 419597943 677961099 547546153 602618711 724222777 529932989 81307143 385585129 925743019 673746057 28750113 564885809 455842029 443208003 619558217 735428951 406643913 703124003 229011325 575793637 711009449 237608521 633872607 687860945 577915049 381560767 155279289 352819067 128414855 908643447 60605567 100103589 252204713 547980107 320292557 536755837 382780191 763273467 540786279 346179993 799542945 310714159 297588789 195620855 1700237 751685497 399677773 218846457 364039403 583532117 397176297 384564081 286838635 2555937 223024237 872677521 936414817 609230375 989275235 831444215 689463505 154183065 755070335 197549479 354571359 406333585 103839901 978266897 690985561 35055885 183511233 162584583 448289979 194423803 34227731 75822281 117605153 199410727 106191593 784911355 616280529 745697615 351568061 379022763 195802813 90726673 10616115 765872207 634344061 537161207 994931479 326873537 424861005 110640243 834700633 927501897 449641493 379928541 203591193 740401043 537536871 180872569 687747477 135182261 306348151 293353325 533474109 600308779 234321957 415888331 372376737 203822301 526534649 425214863 586400381 333832981 152553763 98526613 163674549 744067211 5005177 481064365 220528213 978522713 500279931 701965185 159339663 68071433 419584591 222592433 549491645 189992067 475364549 620039353 200947557 541254945 854608981 712720901 488372273 398805659 433670429 845119205 630673651 151889947 704431077 676784021 506467751 868061229 708661019 566566449 282847859 539444677 176881113 450519495 323373213 533827393 643990235 409217351 840001949 597856103 78487435 405229705 976016909 170892387 244343543 302988625 395635375 388540107 673840341 591968325 10003823 325790363 868055175 144482295 203968607 427745849 692893201 646630369 26201789 578874739 518633255 646263141 817760745 180704383 564782107 486031051 965022321 210052855 106616047 791457859 22250759 444226275 911019593 372559081 348167559 426612657 717008507 97966527 195678195 852113203 116321401 127536297 664476023 390085799 400803555 532402047 749701991 389359029 349459201 383643893 531478587 719097193 996691395 290985901 239771291 697799991 439320255 355822899 508998735 455449595 728108341 824998135 692438347 553071359 805960971 783900497 590172843 93489389 861457361 615796355 299475889 740508889 398355391 869250487 44379851 692253507 406522547 497879549 467755143 790305553 811512117 99748175 58333861 889827467 922327411 74175373 334695687 843863661 917612615 145066371 566643895 722459343 65320493 657501151 568649963 648247865 55189583 540954173 712069115 982619287 836809593 941251101 29749867 270366271 891965223 283942377 305334759 475929325 882992243 854698993 147430979 379816649 317792041 951801199 334336121 347093853 39837877 611923843 197821357 641161377 940695855 641138233 792478251 395802097 291162199 423572863 499891299 262162193 425859221 445565489 767875571 853993777 184180725 583459087 305074335 84208099 117990193 612531137 6806863 634062887 789004967 394606555 454906649 626343777 544527713 363454421 235699769 347672159 541253129 46344207 773665551 510957653 96410619 584198613 142616359 458115553 481843253 359839829 865626679 203532295 650793053 239554475 883410711 156700471 256003523 449523159 869604557 123614789 718094431 61855681 748069763 560183151 47804879 560690237 627388299 66322263 936430171 583769859 721978977 862792717 455875569 370508723 853113771 770381831 386820907 630333143 608637487 747654431 143351365 481609955 5092581 400301469 460610089 214278955 563043303 195491117 225895267 636145397 944920951 598801895 537354543 743096935 361848575 546184003 213652071 379843989 625883671 722224939 722249879 122670967 82298229 525056235 624614635 775363309 984079873 101830199 99300155 803088321 265118147 243103277 732792071 197506469 297148655 83864145 242824821 846423859 88410335 969511827 164265815 538813673 908986649 730126661 455562785 603287605 846754375 742043689 856976115 156348515 945961277 388061023 796541077 706687409 688051699 851622263 649333623 778496061 74529425 522275173 534786735 297832721 168308831 231784839 242106107 536012063 549540049 395758243 854940613 59876415 205107331 78548709 502552091 379204149 659668535 688426723 730137013 623169447 222278105 44128923 549740017 144013097 657818493 26341489 765344983 985540657 670287453 921764913 67254805 324904995 739431389 79851027 960210437 441886535 497057415 915047345 619993251 39388111 768099087 310681365 14189209 841314515 800691537 232145831 678559795 859113303 402148687 57241409 369156717 590809409 183714359 674975005 581093345 850779235 873603415 757991649 746613723 959444345 112598319 450318233 529264455 825388321 748013153 872252095 665472957 828495077 975143097 85067051 616839293 942017077 986199079 310347811 89535853 872983407 542283209 126612055 836919327 341059791 42571491 51548379 241951431 365734272 133124573 221333035 442292549 339073685 163171661 255416623 498121249 572985351 919538413 144657457 164462987 15952819 332435617 556536809 134907481 399587943 392139125 341258353 433823497 1944275 515436697 100760145 410965701 186560655 423788653 683891575 348785243 651959581 815786863 139653173 582916931 465765095 16255311 3954763 751462043 833798207 351020509 173492699 955790379 803774043 417454101 637439095 899175265 777171037 586846493 517269009 415795797 526412881 654845243 838491655 621185225 750635559 62521575 174248989 132904223 835984055 193506235 87351683 559606635 371294403 650645879 545461709 412752993 430567925 163356427 726662647 212732003 428848093 694936967 963861351 391729781 105694965 483222825 514857195 631355721 74042783 934836305 83748281 711056437 463196449 149369485 348622443 245850681 575803569 1934223 735852553 103312123 143376485 503334451 991414527 749905357 568509503 134619513 397039651 962713763 636559145 326169489 304401843 84857629 716190195 200563917 183290961 325237123 59140183 147209381 209332239 201023429 284833780 258244289 368538973 284356729 310286169 840762345 104225309 427835869 88657137 333147409 977033363 305877211 769888793 973626964 807742057 783630337 388542993 900182519 448805305 323029127 243478275 649526115 173660157 724266315 214870783 300491821 910843163 607646163 612415231 79617805 606538847 570692435 879727587 823768811 477788035 954272157 474723703 227158479 428082079 971278387 346545513 60850669 880315449 500151101 1675861 252909729 544853569 475988615 108910779 791276911 642279691 759588493 476598275 5697279 219936085 204307305 696707457 79333927 84586049 944352743 52546925 794545377 308996191 808744563 652022759 64085327 126470309 361262117 354989051 556902593 515425647 769172925 463341719 764081829 863902593 994240673 652033431 224328601 943680265 885961185 78061753 757402719 866556061 912245557 294900395 558938853 518425147 554912763 516768249 562953531 368877127 180619323 618478113 516273821 203931791 921284517 324482177 82340975 740252487 39713423 540364133 324423995 646450189 773053175 999905531 107231671 607403749 742324615 326285919 264549307 867953471 672083597 309944975 32131917 970053871 561618689 122513785 308948885 600138033 384860033 669703401 273151465 212678571 161363795 767461789 192291013 784998763 551976811 192720947 804174025 220481509 364341595 457400373 858264001 684131833 630936165 13771029 295583651 794980073 770544241 64488237 309499783 78782819 663359755 501930683 204943027 249853565 986176623 896829677 233297297 546300085 709241975 99136207 85739699 183257837 439967151 962987103 191763413 320350071 655119937 80130939 383679709 85212421 994023179 257745645 515338961 451545011 525336709 172098919 110863081 971196427 834328541 156196993 213573503 635320309 157802973 162072511 179814677 844277195 99053055 410963847 944474967 909794119 393985377 74569258 788241431 677702287 466787275 329263335 306507347 177368369 206646445 890890457 712155435 596060449 9229339 844551179 818851053 867819453 868451289 258743919 943773707 553528523 20254283 583102173 295965217 170669431 62196097 284127767 80128753 482545495 67229233 511613895 120646503 51806567 501840573 770135423 585138837 516942095 626691627 478309813 590166713 947325721 507182889 876425421 954846773 357495997 602004751 943180303 341901971 543602325 364343517 967519917 260700551 990713257 168036923 283027647 89738733 510695015 820618359 518234183 435334855 506456993 135924615 129985071 721620545 435059095 177091339 671630153 615521967 944700653 408257357 306032459 909954955 799352239 341391927 937134553 293788791 944140373 455647847 14023545 69574723 389458107 84067349 821458081 556680669 62691623 261508143 193660583 268101987 80712517 444864319 682011341 943373591 641133355 499063935 910801213 859794023 376545365 482063053 977518601 812049633 832540329 92728753 387272743 133520709 999210869 601606745 19630713 369035893 170448493 326235807 113212107 477479549 559905969 944830463 655422669 458467725 470112707 797267107 777761559 13535491 94918801 910275673 482895403 371679843 584657521 753653657 503552883 849190997 984036897 800351873 723319359 204352431 989462213 261867479 954766025 323964013 971579625 228140045 587172145 964263599 328140165 908572731 398380163 324989377 953365749 856532765 772477871 123719449 984533501 470006299 123246221 111886159 231554253 669415495 961188575 247303465 441056247 29684053 290924365 542824591 846442363 744748199 741532779 668652441 47264701 936139329 581626289 384969085 506402443 112203733 669215873 639030689 854785049 111315897 798346017 957956753 365303303 760738285 469918151 479629567 426900055 458935062 130632584 15097029 483683447 708362631 229231463 77599721 929998907 884697141 981653327 231992725 682877669 470974911 249429775 653282075 228410389 734876525 181392737 893956857 362904285 236288045 200181477 490583503 532070061 851508633 86833447 245667179 156882535 498815725 184471957 351867839 428770125 32652307 804155019 274838501 924735503 66411161 46120009 711624995 517281215 233618615 105748983 927287779 490405085 854970953 627872937 617654457 652613197 413366747 549809239 501071199 378300507 17272729 928299233 659588535 945276351 608104541 154137873 527717583 479526036 309177507 57495963 527242713 569575267 737041299 957730835 952038705 137168917 845050367 516826623 539738969 36714753 844423515 988178373 503151613 385022947 495092935 687643577 216049393 135718625 761805835 436286227 570411823 888042889 306100887 697134323 231754713 309757905 809447553 351095139 410264383 724534035 784911241 921397845 588293071 859445527 979054101 5630627 472630567 519744779 338687029 527099149 166536969 49568897 376422049 338713403 41262689 978362999 790869943 469351105 397933635 663222357 343344255 295675413 107464937 625421031 691726249 420712347 451879607 71123807 895390345 29220509 861757751 685267551 263452195 594583113 417029663 675514091 235694617 329794745 407983687 686065517 551332287 541110769 547187379 247427263 375481611 789325527 945852305 578769179 376358809 429306941 22013233 311780135 414128053 656205279 923106063 384055025 591165259 957990747 825541839 581973741 333872885 504738107 869371707 548500219 431388911 147163121 981325129 984419675 326266401 179844821 789805841 221077439 777440539 757961003 654338777 831830587 85128983 906148633 685106697 299522125 656278767 481680561 176474167 702525399 469425709 975809775 369111071 555633195 771590145 698119857 155403425 912075513 233811521 850891713 956854217 796279139 425812589 815962577 577445837 299699435 52509355 50676089 449496069 571015297 369880779 229900091 902780407 615521655 659918149 600344193 858281549 916129933 551790647 489884829 182011865 721621735 885271145 587947973 233686169 361251091 341852233 381574685 889936045 854712837 142644465 540512429 818981731 236440603 289379613 802035301 955979309 473137689 440721463 31698211 584330661 18050607 341863757 886275235 84822161 141765873 15696405 123763089 165175003 949564506 664842737 712772221 461955221 123323605 213306085 408189665 925320957 681722921 355028131 978876959 981979509 627521677 478113667 637231743 68367495 505568673 821263745 823808049 875015399 732611943 301442373 404347987 607185007 821520717 952031521 973216737 977836837 958552873 183677449 804635847 945685043 60147257 634085533 565380309 558233836 962205729 193324581 910161093 518948813 748074989 258210193 951031095 567080309 57469205 976347767 869202871 752424371 548740213 651392023 903433141 486396027 683436883 441449047 394483081 810361061 591479385 276258503 388233589 276627509 666501793 1926559 132725411 26652887 280528549 151249085 831919139 708041055 194985803 437979815 400976879 881673095 241217249 507103121 177335271 649093425 103946267 942536781 781149911 719346541 383693081 1018719 203468141 997350249 837616221 825424363 195023173 158069635 31023573 26837183 449511903 273272381 480498647 398018391 502817189 283395909 52847647 54960845 10426087 931216491 722002133 654436589 829367007 965074091 822768515 64016163 535504557 633915689 261892129 19589511 906617949 944927279 208782345 479450585 681561053 718093875 602248965 134753409 430907913 400374477 391184445 770566027 89805217 49814465 681641803 510788529 721100367 796313085 758185769 557118289 615244193 825942161 241208125 930175861 459123733 293686201 103947859 32660679 970187275 901495769 834489763 730494627 771166409 97723517 137022409 583411207 684883331 324562261 180570059 240728729 742433875 342017345 338896405 137799593 936382265 845682497 346698109 943752495 768858909 520871807 14935615 127598793 108598995 128567889 227272451 644885183 647989779 388085043 718132691 117865727 504241789 259114437 578537253 194525729 623540381 606438613 187438809 712799335 368593633 272660821 640809777 204425395 518685347 999776607 46124507 383437209 93613863 521515321 410183917 755189839 689679507 166702669 928969189 621216177 145837307 728340525 367708327 725249867 822716759 670342551 498858111 768969801 175585415 575772011 724971301 810307715 418662997 65418679 375836085 340440953 977846899 54085293 686454197 478771537 82856315 560642985 756221967 73203165 35251691 117615149 314255389 594071441 770120497 614527205 251302041 680949901 657634457 823189155 301501609 826203545 725258337 769622373 532174043 789279525 668531879 53474123 406092837 453502535 671436405 153179555 325322977 878104509 6823101 709101025 445819351 538409201 261762393 518977179 791717171 246620401 76365831 226506395 510093707 107121525 300390259 107676615 829218525 244840923 971716143 730484275 682563979 308208683 187758513 56733469 953817959 459260435 450710365 933034471 724292257 737759725 726282619 34890522 120858843 227079605 621441597 822928237 829233687 60676629 264764093 423803065 833235397 671249753 203246073 592327427 8379319 17505405 83741149 159538035 812137773 721149979 589554235 501090143 263036363 926214015 261253065 49141569 4584607 378317205 715939627 273954749 379345181 593228789 283106793 103157405 437410851 784010207 906993525 58722263 183932151 728425785 523526183 46978691 256898117 967387029 718296129 752749541 681494307 450551079 955788525 212378219 113902093 904080847 623525181 76924581 382757867 367630869 29821735 366751311 483710727 525606953 150245519 921437005 99888663 128607455 45890107 899912873 903981883 408451259 792187105 321777561 238160629 998813921 609217559 621007989 520811315 652306977 178388833 306981827 672404045 941908979 475899173 335681835 709021179 117037941 617020341 618462853 943228007 662892653 77939787 406277831 986239261 901749327 973263881 666202903 797386769 497089837 389358325 877400513 483052193 293134537 976205573 406099765 513823377 686200715 590789903 344974611 703422225 142330753 350409685 460935963 846602677 824763745 895739649 766596151 553227641 542314893 132234787 641209215 490910147 660166409 905727925 337080105 266913121 591765127 255028761 131052957 248891271 61800797 56663703 59742817 444742869 929399947 471925855 976615213 715916877 130729399 885900173 995029723 823730269 150783027 659093537 803825260 93428187 466064883 770211589 376835087 872808707 371264663 884826889 483018771 215294589 508214887 666551271 325415927 345871955 524278099 379491135 199158619 751450877 479002607 76450717 414060812 745019479 956373119 955092337 65112575 861641381 73797607 667390993 998284877 744520087 608719031 223021251 822316089 586088255 896872487 245687215 164034863 792588061 324133139 837288677 941012675 16251669 331178247 800415071 970466735 704727157 477214001 298929661 204007637 433970417 953907557 2270859 142027845 249365415 649166629 775727799 903596589 989521949 652794521 693124893 704649707 403968831 751345037 811937853 16664321 523166819 394501245 443761023 927766043 484552261 43363203 833161783 907606029 961249293 930469227 184641693 517429457 799311429 543541409 898053329 276355723 92727269 695673405 486747615 951573125 883801927 895474431 377835189 919786035 189991219 229257293 544645934 150075441 840621527 360207159 733006091 657113411 958383557 186056053 456024311 100426577 738593021 508874341 227002753 469940849 570851811 69690383 815468065 756946397 199401539 559086627 757893691 291925241 732188757 750212855 411650073 446964305 857323445 694936201 290607593 130275989 934571113 122398595 924318919 118397347 754610653 569439283 799287729 510166399 483973605 949235601 988139157 494669139 389531585 664575547 300453183 663405681 500108567 327159671 586933869 4100949 567885553 760194105 531957949 580220579 541233861 509415955 423781305 311020071 781016945 396054087 988321491 807310801 955825211 117575869 597517413 754835137 170767825 37423873 803806383 601896501 228265797 195293519 888195289 864046749 618500885 282874241 843116021 592156809 489302569 580897825 275865087 499178423 522087627 517052767 807762645 363632647 283340211 960050193 813767489 757570183 91454717 824655543 302775285 550484585 625629485 741551737 37450889 17699847 130623539 884707363 559444097 946344423 698730593 243172143 676304963 699529139 9068407 749970107 967527971 972642621 287585691 959682703 350000983 149553027 754527829 394509337 283803907 214969765 653632417 283361139 312268591 20066801 712433879 781132379 760412621 173434585 708595135 196091703 866021813 611581433 967428997 323040789 822233515 399207187 72132029 266826161 24758101 750984467 638623081 292227687 531254853 353540877 154498025 879694655 292085 525521209 881309199 114352871 352693191 543876607 708232971 97060023 49220611 105656039 415104383 19160494 176755419 846069669 464953965 839319927 751711847 818994965 455535683 845466971 292090537 425399353 717001177 913517911 489461899 83130685 975717223 390568709 119682783 251342964 421739415 964557489 432282459 384930139 54283381 46394437 563788707 219171219 130932341 112163933 587155007 415456743 509834613 183130423 733204895 422342475 748656571 135267257 649481503 755029979 217084657 414282357 865718785 502625243 490700593 901911711 276644459 227003059 301065717 327419159 18884207 837596153 937449253 822548837 287384839 790753383 479825419 601905335 792015123 642185953 845421661 55296231 164864095 625161585 969230651 816993137 122245275 91072077 28917287 736324735 257577567 937787085 90419215 760465375 307729965 740084341 144406089 355945993 506989423 837003251 763668883 528799001 850721141 754800663 334517007 936515035 792670329 701996765 180742479 551740091 756847259 279613545 587474245 746755283 418296551 546675207 767176013 229387999 372960333 83655463 195738673 103179335 997997733 632518249 207161881 504473629 952777649 680058507 812090783 746715669 500858905 471465341 523413693 634926479 82306161 695198031 265754073 42179221 724763697 702296893 674716865 652096211 391199931 517814957 40835497 481082017 724526165 841783845 843069999 865239549 504831285 664427613 676085337 46421907 853237361 462114607 620949395 222463405 176607499 408023195 541149107 555956549 653450987 698934225 366117879 199920889 13931493 596607521 545674753 964716561 137517233 63269897 815780577 592622971 151303663 124250153 328951309 6599889 652399915 258594895 659900513 541786959 706966483 121021549 365937953 938542815 187973187 872989087 774374139 938875663 408840379 595594023 314075911 634905623 449775203 590408561 775603133 961589715 46283343 910565135 820721671 74959 876676727 350480319 903911985 250392375 526299835 292818273 686565615 235594723 985932263 559452419 589710943 826206037 450166441 402789849 477106951 201312943 693376667 134541369 267537107 682286787 864344897 926074539 558889495 441769739 798077187 703876827 192013461 74713761 99524655 126885015 473938029 901293391 558839811 628382431 985664815 810964613 797345693 255031509 918310095 253093465 127638791 575382211 271602861 993240715 225074741 29824285 130636427 742837633 751417851 333484927 133957015 566691147 125754143 822853547 729731943 969432225 877882695 348489359 559343865 206990305 80579591 482877241 85197745 58865171 433809877 864444393 684479579 850289639 765355285 895088897 256196143 638066865 579310353 53554189 806170569 235893621 95321847 33876157 11698221 152363988 528034529 195568111 211108299 989738789 613628627 811688103 479529335 40161115 160998323 497679117 716313453 604499475 512211541 609651575 274387539 208658329 153559151 95812959 351569463 954441689 504079269 971185769 147816845 502334315 85911679 672563553 123779635 259419279 285932911 726670647 634270831 105434157 864993229 579457545 795382253 933051089 190061277 869161499 537065667 466524599 750961349 723721431 955057263 236736441 99723671 109667791 402996435 567977057 517978191 983180735 612695871 164271839 624440779 631171467 115964265 970547465 965725141 200542527 749622381 291944543 876289567 730318091 136738767 203741447 648443713 527417423 882732157 609687761 608639421 87465099 993234895 146029109 863194877 131055721 727435903 581905233 730051155 371745473 506788787 168680685 420695541 255848841 604645367 445399415 218647559 42686183 314509891 299548169 496496017 960558119 372066547 400951135 386412421 845044411 593885901 985281251 586300859 239786303 612751869 494215075 359409141 558563957 986195225 969862997 183771357 519803463 169701405 724636507 9222915 910618317 226351983 792287673 163673569 559055167 468665567 249468961 906382041 209542911 210278045 379440363 774020659 805842075 226884171 113144339 873963041 971148485 364152811 996528705 197747131 686352217 170670827 881569223 56459779 853084249 377485601 178744217 421870307 201598193 875084235 157231703 881514539 341612147 622277773 600455497 908609685 604688733 677320307 227275615 425200323 102307921 878604021 20766767 297474619 638528281 46426863 28296441 918541427 956531625 933437861 603406755 592739777 619993373 631222215 457970109 133145191 893315767 107567721 172247933 767957903 169128675 116847623 528805573 16279625 519241781 673668999 90285595 315119247 451546215 77808951 238364079 918968897 814220125 572502987 697827413 199789611 612953633 123280225 493342353 416189181 966996967 799836799 751039877 48435279 857553675 649755409 866697221 301970851 290506769 832778605 553117575 203110753 426588321 227110225 937936167 125491165 293743249 783558879 258385585 585083983 145677531 369451945 965625233 320042967 830702243 651577247 635786207 282210945 965932085 298603043 313864539 207848507 534736385 687458039 847024749 690167777 684235173 507061579 110297377 758409267 598693093 840681137 548502577 670647003 686775465 563478057 20457467 754613097 457751047 878515479 603488649 702819925 740320059 167211081 83676037 623878148 207255717 550087411 481686859 744230845 138715089 678093747 356773337 451749555 940680309 571867535 200609493 499027195 205001577 189463283 377570191 739315867 304305075 924125365 23256063 455978107 399043965 309982993 783842243 7194473 702900505 191571629 269427489 775012131 925081091 117311383 262433293 652922695 297239007 975219781 52909337 948785761 987204985 958979729 274729609 732462815 849906627 994207427 774296895 800918045 848386775 524018313 484939727 738794841 855825659 700639221 170532717 793293505 661536665 856792711 991468283 596063329 408611397 486233635 171270655 924081975 167614391 673325589 159524263 992579105 761056471 195731989 679460811 141026537 285629355 945026367 607494123 201852225 603612267 36664599 294298669 244011459 47510641 39576205 962874979 336862447 66475327 285532405 376230657 281563693 596823937 256473867 50340903 367850705 996705289 844549109 84069533 437089553 322601685 10838593 539577555 912989969 624436231 449328355 820764639 506089433 264592105 535763515 477111423 989739099 618300655 446444299 953049629 600227953 464602293 901911937 638854087 983271897 634388733 599236659 888501045 537652031 132469683 906200861 734009285 425599797 169418475 13745319 813296511 679301937 221771231 202434203 117777937 266722967 454550513 542842161 787890645 525115311 905639857 929957893 976694983 415383211 495758797 410281243 89395601 191031461 250787363 642227683 301668991 608030875 620614837 651432495 693353101 72359545 448085167 702407487 520405589 632201745 736462181 745067703 56099 802904089 705882449 212812709 340507107 339141429 891623703 769092477 611628589 243903213 680270465 464209181 338053953 646067891 929951621 989062603 879057157 837767903 452605755 275168307 184973577 564007347 894865641 579916649 394158981 245148249 127683831 946279407 795354713 952037859 173609979 557396133 833255945 100758599 741414319 255772123 207810247 475841897 582806007 655922247 333564775 999831057 173224415 727818755 761557101 499753711 599740567 393670041 795784445 849042337 310962815 776925937 233573351 667713443 591540757 722958947 195712675 929303393 124367113 95252909 529063503 316279083 115007787 309292275 875018929 275812411 934030711 976107457 734349629 355140531 125972241 554330127 905168901 949944219 510843973 71773497 989925067 73537507 497006469 517244165 664571895 281706855 245531243 531093151 294399895 762859239 894126269 468024731 85346401 226184717 472487781 39408889 971036343 63944297 905736053 240126495 531494813 252236405 906478379 979548631 551950789 134029971 61722343 127186263 507222149 547479051 276938295 642274109 441480413 816553485 996224717 702432399 538903667 966514357 866266499 169518521 444290713 850627587 222746463 405472145 86349635 330458849 43227787 753555541 15027729 126886943 344516955 333904553 700528459 687078775 739749703 472926873 488935137 400091275 717764087 606864541 770365799 48863201 349082675 99714193 702599457 778492911 102135023 483648697 534935283 800119819 328710215 57323715 390958957 42205047 697100925 307167431 427922373 895775323 97093373 631749183 846643421 269895883 644216665 970530065 249383995 383389631 542900303 63472779 395949837 509370391 161749697 555093089 235234605 334027167 14553785 673296817 570584087 121809413 273170027 263943169 841293813 799972837 812810547 592026173 568451731 170537407 165235347 749261755 672064621 838508795 840310073 602782007 285430173 418161901 564417011 406235607 314725103 646993357 873123521 111546923 833754319 986632123 983281093 918741795 970133076 249485763 588483145 618804001 466547775 930047187 376551363 787901671 900060153 417407175 567576267 170036899 51851917 91435871 628202021 469858541 479489461 193953603 664893887 101951933 533667535 164964103 203211689 999716733 629708771 402252321 395058975 767046649 656803489 722531319 779441540 92171621 514424159 439812813 355948389 714292063 199002139 32470231 241470837 447613931 197536127 922145583 74460557 567123577 751265241 896430293 684921265 934550749 398749729 779360689 25620751 166349395 897509619 590542229 330735351 810054785 164390299 569927485 253552613 964523637 523290373 336477511 206161021 150765989 313323723 882642237 704746123 217417451 756682281 448752275 216171521 554615695 57136905 523469725 397526521 362288189 94200567 174711457 208126393 632598027 951838253 472248005 461951915 657911671 708733579 929451291 297564257 151575909 62065301 60312479 669700503 389062689 919808125 983054383 802398003 803938915 133732121 777382293 184974907 851650631 489111273 825516163 368303079 588617297 776958739 748699795 898488977 869888113 323223657 172644675 792237755 192347385 872543839 340742399 863093263 20059561 882849813 128224281 730996325 544599717 770193235 223396807 514566323 578965883 709669255 762198829 472658465 950128159 418575563 861183571 380598519 872055791 593914077 482121515 993801129 329627825 604665889 40707213 298556881 12743057 885763755 279883069 264501557 946770469 794036529 292791521 171120831 327795049 280154641 216253195 883643267 439004357 556398161 931490869 677154235 765101827 497105061 309249217 980678089 677117787 59363423 268414455 92545851 252462183 745724033 775788809 418340293 642391345 255884979 268061711 58724925 34335777 812220481 656186125 486577069 370345999 244976935 808490729 85344315 64538937 418721535 579028597 127865915 493700163 308892691 768179563 96393515 902174523 656178259 712831341 293010605 188820117 605924437 106064131 667654027 582537775 991436889 416747165 393509051 670888525 536266053 292417945 127066709 762670751 937951659 917603123 664717981 244807481 537171645 56599959 255951103 765175703 630245729 341071061 925314319 312245151 893697817 150998503 57696135 146208927 707032853 894911407 991369547 296116813 455941935 642830323 322473575 902134723 211298531 144007785 38968075 335337097 451936859 858601895 786331285 651199883 48171365 204370479 310140553 163190305 593863801 467202411 857589647 619934467 254516147 540641963 531358333 282127195 805323743 172699689 278281037 930121651 301392233 951685127 695782437 391842563 692901227 215021899 640917579 191310247 573967521 541842667 60881207 464316003 271755379 791983293 610344321 764283239 470839283 186782339 270807023 928788295 535776981 819869927 863466601 308466175 866675321 518700153 864324357 948515829 521864425 412391089 781615871 396904695 899533265 889469173 370253239 962714425 859534217 306305419 420836795 713266265 677028367 864413859 982396861 160098397 976414223 857548633 605065623 797026481 593347539 923092653 150060879 208056619 248196181 366205063 879252495 265074439 340911155 547979963 651004713 805342701 227093685 465265665 902288153 776807655 349618889 507323129 231297157 285030253 724351497 151996207 629935925 143393881 673329073 822126097 649514781 813284083 571977643 139268091 420174679 740167145 74583429 85306157 630983977 149488717 320724853 735124687 46277373 459453087 918048605 150532597 684871527 288226755 656078275 526557335 753394207 602375687 348651733 693636757 936111373 524407327 982784363 429827771 941699385 143647273 689005061 395092919 557083607 738379945 107832267 307995941 773664067 631439247 299238793 606197891 372261887 65757999 680643259 298535999 467496375 245826373 616929403 185071269 1712191 776437241 266503315 499154163 757192847 331778261 716295283 158121543 742394319 563148239 727243313 603033261 873302087 130611783 501474701 322128403 171785837 346326015 900733165 320524627 53289433 479894565 942698593 695996209 814021711 713944655 123838113 226363219 997980859 370870139 194437131 775535437 57390129 854291723 354532775 418773397 485170411 307775441 135112739 408710801 993877325 410628863 196461785 494510469 489353953 332245811 688103109 202536357 965561691 331733873 804039057 357872905 549243289 765982761 925793931 91387317 683832985 376579629 919809451 890500239 161402505 143426493 278478989 529216107 264456637 624655741 315625853 61131007 909409201 98398075 351198311 752911343 590793221 258735149 104849379 756432835 961926533 63655789 572670513 885685997 312578343 585090435 239838777 665045191 597337859 147726875 796808839 907392143 211372893 42455371 100353621 949963377 352715171 864540815 93914755 855184511 440159077 9504719 900215445 158008751 889826655 526442069 499212733 815549157 607075447 622890969 463250897 584232425 151667891 252030325 114601041 423058029 852266059 579179187 737546595 127456009 330198167 631191163 527452375 110541889 336178973 868496421 365294373 666240379 703073927 942949487 86944363 341198345 870609831 913680509 436247921 172242469 897986683 980909789 69805733 128817649 878318371 468910211 426818849 369092725 170841837 816969165 106715553 575312035 443526987 902231937 449283983 164029011 772243159 863578571 906915831 709404999 680954967 468136767 402179221 109298217 121961397 678830047 672125125 433994121 222199555 785775627 483763853 884690659 133437311 596247443 305179551 600934291 510522505 992160941 819298899 50067943 473036975 533180147 402223269 748382223 299700387 494606957 786116413 849254179 689407553 246459017 275467371 626664997 319132043 246660889 899577129 889910015 533008301 708901211 117081617 53302145 114360315 470353143 386162797 651590757 107704047 994052857 308103981 67024973 719339307 414805205 755844071 376711361 644276861 690093415 22983641 378802481 24111831 930656249 612860655 749047289 4697429 447899957 537682611 532034393 579468603 765783599 409395037 806741627 905843953 468711271 97603279 735543919 438918923 21002689 397226895 978589999 600072007 930505099 204271053 627000477 525598087 76499835 530051165 180741503 306834645 504441771 638669763 156350602 981259879 786183843 77128481 943391063 157393557 776016975 829761867 532338021 102821859 380602629 200507319 690495773 102052351 267723905 663694721 885983443 695751351 590836971 750904949 108601279 401247501 40197581 424266751 935231235 536423967 219585823 197611063 659758757 616882233 801850429 772671709 556103835 326340047 360504555 500747863 459041721 119704703 951426649 489346231 804356805 546444295 787060249 656779953 349246823 756392279 421994283 64033445 302363951 762252671 787280627 887752091 326473879 401694907 643235903 306117187 858998271 30629231 990298179 41229299 968598705 950159143 108842909 601834411 666968033 73932691 563308881 400726289 806789539 324817299 759195087 493876597 517232637 952291877 553454571 895365839 372533719 563832185 271128033 492987067 918465023 565866975 551403609 715746181 378143283 142491349 278188381 733986075 540984337 590088187 645183845 55747601 662716965 138412063 12969035 382281387 701757661 517391409 707249751 401760203 709751701 474440785 483527989 861563397 292355467 228036799 561221885 193967757 987203821 900447975 438374183 194356293 94530503 635411547 381042589 847890611 542093079 154948055 659814315 563864325 353311163 265581633 131083013 972872979 899678079 65572769 534983369 840325213 220727313 880553003 424933499 963737353 902729739 616600377 607033611 447358695 857295345 268341841 847097291 205093489 832267049 959827485 748168061 476864961 994174727 736217457 663614273 801540513 10228161 440937031 190926247 540665473 793099131 915598017 141803939 365472631 962993469 695089709 849949587 757072193 358115833 213468669 381053501 416875849 110899593 162290381 838360013 166182045 746161579 636830559 322295001 598451957 962708237 533636511 557639519 231868335 444544059 646862753 308064195 573768403 850882739 722134175 752299473 265648143 115930067 595461629 188622785 882298301 111671781 174700101 621142317 878739417 407541531 125454379 218619935 650062603 707576461 214551435 440556543 767804325 831792445 933508199 414598823 84176027 476372757 150148589 91133777 65447567 430714855 525840237 655564195 834665159 847960681 742602083 373315241 691395633 159104319 73877619 815739355 74770533 446957553 174410855 256859159 562749603 147075057 701023027 173451933 673549521 384030103 744792051 416604703 850965631 568734503 898847723 807743409 52206053 547017671 492947331 165834703 16188131 658494089 110406480 984044385 652448765 32789863 355001617 410847409 479102819 269451843 191934115 572248183 147560431 160783845 91574035 777017549 598557215 44695295 433892247 707983419 277165849 568366377 130973831 89951407 386974637 802942949 792373865 344714363 777507153 730622877 519255269 293964127 529380647 437794465 481264593 597521789 213435125 715182123 415234601 531442279 247409195 302558557 543566093 787402767 218302173 210591295 418106571 160345043 381300429 475795649 121828307 626198903 416157795 572572607 524965317 439782955 823317421 865017851 365081697 455592835 30213985 780296473 879874193 737130107 503524319 414141105 831146861 401160313 730028593 155992887 787314987 749499979 474431235 382758669 748966449 760732455 439076269 230017919 905514507 129635751 863407407 275440571 319173227 539620563 797098287 442552797 71040045 771049239 669634303 222010855 577558099 251887945 250721937 488293565 856406793 670903719 594140043 154685749 581436065 491043027 388763695 114925831 849921688 799318751 699281005 472094677 367371409 858768443 252222175 694236709 374078807 580281033 210616259 566894701 515224541 859614413 22367231 107298307 30983743 190442993 350931491 258237481 694142655 643732047 87529317 537072903 442546889 578704737 281362087 227401393 28118513 367368461 670486383 357048351 659163377 764448927 675383019 518399537 132194987 467164625 174946037 638725811 934231853 703288763 871073033 334967634 883236011 284465635 819335505 125256365 705231485 435204921 250937753 478741825 390026279 994021649 414434907 996640377 310539861 274785833 673307575 398119331 130567643 816796579 688260209 308162813 75191987 568116239 499690235 147773607 22595329 393822307 134699117 975236519 189858319 425864441 80721281 164164849 70707537 710344347 153831845 536139871 357904739 840508785 627693539 619721137 115659529 366392851 768964085 897207695 991888939 490037887 792701241 80625293 126483679 234098969 633189815 829794851 867727967 272963503 446313759 390550961 716754959 491398773 472818631 59933057 526836347 214743303 995664813 390803909 959549011 371580271 996809083 706711959 605253493 616608535 586379647 359697399 993855973 279665621 417768111 936531149 173427915 214661349 50632621 581898221 759981437 4061165 138553279 689557517 720044151 923412475 885743571 522632145 855366745 3192451 890929027 441401539 986726127 555048037 5637643 613094481 512722479 449129699 680057685 742404309 993005363 717694635 605041901 74990739 923878203 104675027 465437965 731995825 760535735 641584601 835679637 452790339 140551223 24090271 452014857 871847231 433907065 862243191 190780827 993295241 455750237 473974547 732980769 167580137 147370993 594839951 983858459 651334929 657922919 590789493 834941359 422592667 534550809 499867821 946724015 735898117 849442701 207692689 650543501 69687227 221410925 903250395 104270191 533195791 174229387 756505009 339715607 548651575 406003685 404249761 822690037 696794967 112960155 945243807 404094499 42362231 713050107 253075209 755381597 267987593 182422135 20107685 722771725 642341223 507325355 56413087 105626433 674217167 90876761 811550349 364956337 264042093 569833069 781825387 470249403 84584913 108009977 89793441 330788709 102809463 212822075 754804729 737575011 58954683 416028053 776567209 171119111 65968619 47391633 304347473 104704851 840439607 636950499 316919795 707126255 368766393 2157927 288851455 290654503 440260975 735752991 795273287 787651829 437933381 310534967 236878603 968197881 642365963 50506243 761804527 218297207 846647163 222645501 381016063 945861217 518760759 838421449 742305971 611601997 157081031 494165297 917997799 771677563 69027741 310993961 16777953 635787985 52655121 938686157 42143821 227415775 208518245 308809055 354246465 45624540 132718275 820866381 596184377 380107689 589498171 873088039 661197339 305874635 964785351 386528425 379520821 214258035 216052297 322104247 80139835 323968887 296740745 359424859 182161485 963802709 89990711 126399945 970258669 278686775 453161199 225727583 744589065 157274859 56783921 833857179 553701367 699628775 19476839 487198509 262031989 857995341 440007137 734443237 999348135 468471267 253863385 257343423 721999897 356768279 872017777 921849311 9908931 706106369 940720049 210325135 922163201 428347491 272984969 273136965 432910487 12337823 369998037 215999129 862715061 175058377 359768917 883643217 157588204 801427349 105907123 407162199 954480959 4431203 280043135 668403901 144494607 19055421 616117043 179659455 278296363 717617357 737207087 906930881 282581703 378105967 859147455 520388943 135072899 667284513 765190673 551242523 744248927 508180105 940577857 795960319 203413967 830094841 738618447 450723841 699694753 229789027 569306149 693871179 774396441 31747437 294530449 121445423 979537367 867888473 718649681 421493291 314101997 542715927 663060485 514778335 755449035 248282433 73423667 776404505 357984339 767155731 628364881 619380171 98904263 655010935 208285619 500995345 775886039 843858939 56506783 128105773 255278997 441338581 284039485 19379339 219520897 222506727 376044443 768583613 669906815 940884151 764520631 490717313 4594139 519828595 637729903 345242295 875702093 546940659 94749071 553958765 593976817 824008887 573092549 664625109 733323341 360028903 182509485 146989131 405311565 49661519 715843527 890632017 491099719 763139689 385162107 350057619 806430711 553002581 731914013 951457765 69566339 68636119 215281123 551234113 979436665 521825377 330050801 142599883 354155215 212081161 259054673 175992781 147698655 997432463 475779057 980633531 999416177 630049369 437040813 893057073 145565363 463119735 554452291 845354737 297231159 495483553 152613727 298131687 255313915 347772981 223738515 934419239 809453671 613885243 491534679 385671147 430251335 448461921 843509259 488956311 645811149 142200065 488299513 315004853 682996379 660106775 931794003 590113787 300860597 420749133 936895795 312425281 101996677 587610609 463351447 930693771 447229157 312925689 867413355 656988679 755201039 796421383 133271169 321526277 493488809 341233505 492741007 422578177 593241281 556552949 820909625 588375455 608520907 354810971 683528455 544039337 899717287 813702611 14710379 100506389 913689749 310829125 289027519 909527547 422915143 598332989 732162113 670709409 217895377 687649013 786232861 695475311 855281841 798275405 692968293 914617595 175992521 705073865 301676303 10658561 806686059 912775323 928981503 808763745 930209351 807203993 345464317 10305065 707943039 909707329 627603643 6768009 627010453 749274047 171132625 267088097 13916793 728214237 678939331 391892911 103670397 11215379 865924087 280126627 861803617 647913859 661727679 768443533 699286857 578598899 231794261 963598699 393354691 744929747 641585627 875715421 107222211 363935287 780783961 531796913 378122407 834169827 122472897 97822169 201727027 339650619 629677803 703036527 840906647 656829517 932315289 606537785 253516135 767531477 339190133 310169377 759514015 781296687 45582865 769454395 380221607 760763745 731756515 846349759 849668169 864617757 165399629 766334997 344881851 219571129 260192667 853936325 113319837 99428149 672628221 319151747 349022449 399791161 506581131 839706409 120767525 921647377 433119303 52673727 44603663 914035383 418911515 671932011 57788653 370026443 712605399 891889025 608097123 767672209 623825973 987262079 56837501 126070011 253250007 301097479 12177075 66247583 13817669 417467875 109857249 757439163 801733615 790272519 942935629 63210040 832754737 69717903 515928737 516944297 326656587 654434749 121180663 854592317 733112167 330060029 193554633 167781593 203977365 944381923 689971709 337414403 767037903 578472489 389573089 732218859 98784503 359132595 843930409 265130085 632416467 560872843 790912501 312220917 565162009 714640101 536324805 47895229 431642719 966395421 876692876 330038417 883875111 423062455 827553949 832731621 40448729 745331035 195423667 543882203 309729737 137588447 100896503 172363833 297718575 335212861 768441843 41214573 231144493 328492441 366249119 634033807 350206153 820960829 564662357 543691359 39874297 478463903 823842015 512465475 572198803 267282263 474081125 14702157 175498583 487802155 156578689 611081521 644975603 604006403 757003307 222156623 38595829 82076405 567218893 995673007 340858071 274735675 688123443 773081857 688922617 43037753 257473425 510429339 107421607 636614267 668903813 939517309 885713679 692281523 759881493 10856269 312989261 365011387 371258541 816373083 288779615 966780057 333271331 97814941 99583795 786417013 733211315 662195125 684268183 352051367 617541637 299595753 690820419 849840037 819650851 127772713 293887197 571355669 392800899 57582345 932560873 916965571 240733701 58911437 754831579 97853089 318027755 659126359 295875853 483626953 138747363 204207163 936242623 526343809 912154627 655182765 734357785 946571827 90957257 48613775 115826479 616690289 456918297 464360293 672459511 134850041 497820991 938483299 316345685 404930475 88630259 67236955 153799187 494744469 388353617 704158927 984649439 119217129 31119839 702053861 461020243 746451971 485287303 509507949 600134387 534588261 732659363 13395423 647450149 639524539 136096749 293256027 123279677 532591831 455434891 758663333 363562097 159210935 155616523 552598063 898612197 815907709 923014755 866853133 844499107 346767219 853696749 845997571 225430425 721383181 832039793 376556661 128002721 313245927 560858139 624057203 710900607 208505283 405446529 213392565 903826137 341173645 775649697 533050777 667942721 355703385 494848221 353101863 964557875 934686559 789640967 664432141 930366221 955773959 922766415 622733731 280771097 856251609 772696151 344140523 173292425 521196171 179811617 942580871 971148917 188637429 300104221 839501515 383696353 678018587 366337821 48281771 326068147 117361961 372965729 503115465 967656381 653551475 556583565 365856363 480116921 888371571 614460847 885526143 561611081 814218701 533652539 816108189 790136565 532862539 266496271 861493253 268307759 574613731 304429937 603760797 233203279 208651437 275240461 326649845 294363801 84044525 76089337 805150789 354470195 512009233 630003121 535057773 8373551 655071913 996070429 564585969 971368071 569314417 120100743 786496513 798747421 615174989 85897893 285937271 847224761 175610951 614799255 555437521 38539021 737967765 981020383 927284533 199324849 579781775 636323947 406013811 728366631 221298363 531701907 769771009 65913305 776020163 984227087 429635073 949066263 546749561 944845833 239155001 635511323 213197016 4783373 60277527 836424455 957675783 255787023 596542901 542496483 941474639 184839277 44500687 146714017 956572707 34103275 767566543 998570009 674486045 778265529 614027201 563447053 477574147 906386283 614696545 275319335 357402047 488763389 973575433 262410487 820323171 702381781 588091589 678096887 907224875 631326913 551921217 374328199 762665341 321171189 249118933 458907891 681253857 395620881 935720833 633958251 305412619 473617687 665025003 731087623 351225045 559499381 525244259 141703625 865528133 501064961 137176545 594577561 237739397 570273015 524801285 400015435 127846375 407548671 118871315 593595031 594110953 662524195 990685691 439551263 590712109 302496219 189178967 769732715 295627901 317281027 803366501 278006507 375390925 48274143 817956107 998467067 719831607 357971743 700180185 472168667 102663937 926070229 645128965 51630515 733848215 580380801 207788657 13561495 480536711 971288327 483605155 237745279 10669457 847152309 673034441 513236045 831954071 488556863 30117565 366510535 331333027 43267523 686175739 886024355 497786601 120369095 23044267 780536181 500713925 191281719 412880543 321031875 272214457 870651497 554347595 664019957 573928305 200724249 608132049 590790746 175251905 429277551 232148981 275945005 568282787 662264309 591852329 731996561 702349883 777594787 148467331 525715339 948241875 701891795 156454083 732385551 818967265 650291277 198007121 414938615 760985597 751581759 293250361 903848963 573514731 604360507 749487669 432774107 18904727 825676097 140860323 263566867 741167125 23456949 184386443 189321251 551817633 202865507 380654493 864818539 823488667 472413059 977988141 75867701 554705295 628437169 196365631 762002613 213308721 152676595 600503671 245860863 634645343 555844533 443600677 348441369 883467799 58095307 394280767 669807081 208827529 510013301 450653287 667149379 77133829 123540825 595529187 619452637 132646663 812154753 533180577 784728667 820826163 223459171 785237051 16001607 735467861 475240413 426699245 399893007 609192543 78042165 510447519 104053261 876712555 121468697 940272355 246399621 8248511 74200987 996934125 510325405 553573315 956637241 503534239 37463913 368230927 550792667 89095549 786631903 435009881 531896523 427169465 166409443 318697863 829964737 703335209 593285693 515220901 575719641 815340877 580665759 623527653 671299735 630022219 721460899 793402273 487447275 689860339 992466119 720224863 439311911 540032701 399008377 790921929 808030731 836456137 679624709 422306483 368754877 819198171 984330919 468583189 463302085 352921187 297405825 354435351 638283039 168887675 858225307 299455745 641377827 833737183 740082151 5239623 922236057 907587065 215144511 498899843 857278381 790132183 270648417 63001467 182654195 764084273 245688825 135898649 313403757 277205349 155583127 959204977 125683835 875965561 635599543 488300733 75809007 609374241 504605367 291151711 288801785 234148271 335230945 484817381 999301179 836642853 856592741 110124033 614171319 533652267 461860193 262513807 260838875 739078157 82065361 649550481 569724031 669210309 967885729 718790197 327576795 916477171 561617825 534230985 827274137 128142555 482019211 393341133 708667589 400112751 397485825 998649059 365565139 222972485 497367179 761821397 867934113 547309213 809548955 826703769 374742901 766910045 519602825 726286663 859532281 904283669 680289687 14569507 439754055 367537405 138778095 874304921 501783769 455990771 128173985 68735805 877482135 256723071 664202663 998346185 90602955 361484753 882404579 940935201 694844459 626004415 355580701 166286415 513237207 979851719 421978117 6780553 703475537 542119955 263395383 665225767 696766087 821470321 159002677 2990767 279844815 366742359 499611491 961302729 500701157 492101351 195741975 633763147 772852209 807545831 964087177 973252655 869752959 427595973 517663451 385482649 632009345 155531929 235948053 327824085 955615833 501435429 149294631 785407315 614624971 53006027 237098733 219977139 402001921 403546015 467789863 963558067 643771541 939188309 576658559 330493507 453573249 322182221 825859717 890257523 22252075 647042961 196970931 863226497 684988257 628675531 926700393 898685389 901831255 398426967 545760243 95255781 626521771 195721267 322145151 581173369 63650403 731043589 549523241 908340841 911994091 720626719 611705841 55995573 743747609 8342131 583489985 593396359 339947307 838372517 954735209 142957367 519737283 53112315 990401185 298742075 85714673 686709605 663523087 447551291 394836011 693256825 272372535 816115967 565900365 645766261 224096911 661436025 319810715 670462787 945271659 621723337 945881539 598951025 64197649 636504367 701412572 496822325 700172201 902461975 32858721 475551857 416439619 109328403 828812089 492327851 247625943 274951393 110900145 570673169 156821067 625798755 88060541 454499451 470003811 506814371 904948155 37147497 895178707 528570325 552305137 723639811 850593845 343191893 415777035 987823893 337571081 382936741 658114909 233017369 663114423 487617393 133795497 305158191 126655891 916217227 960572175 697874203 536617683 544645105 571628063 727287375 462694813 33059781 820317133 115932129 517226997 5609809 579066745 339764625 409639375 533402377 402939621 338291141 156793861 832390281 641536831 593795213 556469589 520624533 815904797 339184801 553747821 617588501 465112701 971112031 214325721 46528543 559436739 809508047 773445399 673450733 268260539 453369503 322359685 411485667 584738973 456972073 325370477 54168715 286963205 122640745 419166465 267484313 53748215 172271369 682175323 738595561 30709987 424460119 388429689 549538431 89549725 577373769 32534087 216897923 916160097 284077953 225599127 176210507 592687573 301749573 271760927 145357905 404659207 465240451 22441603 526281017 881928555 106760915 923846221 737087439 642908127 945720181 40780267 451912963 319066025 950968401 427891383 121714933 544592501 360260083 145804275 536393699 675084377 878229397 312651723 745847101 754589395 228804119 156952651 91693203 435897797 351027453 55269487 498369697 654718079 283125113 612349209 252333131 834759351 259482465 699564561 695118237 120773001 52039731 320486665 137685193 511305849 632871961 181482649 765412649 237471349 494313187 488247109 835784259 892858581 486845187 696503411 138975937 594224211 127230109 638050677 445533557 740214805 186873463 288042629 717463643 335224999 521274625 637152709 573125017 79006465 489096527 773154365 355583605 60445055 292221477 680092383 924128871 724950759 914142951 607921027 341381129 453318501 239922851 195023851 780303389 537941391 641310485 210752193 123461775 523485537 317101463 64279703 625652081 349082945 616961077 616227555 23442433 714641151 569727643 62382345 687565727 409956043 941886753 558064975 714448601 665204293 975424967 102459883 599449697 612839797 148035381 376804851 438931987 985095619 179889591 583960681 790654961 310091015 139791431 748713783 248844583 86199423 643802501 901351981 269618441 307119053 219519157 867720197 83013135 53407747 306548425 747472225 251150049 514254995 15627095 115698121 255198535 218133595 925507485 96841901 347111733 307409567 975995269 984042601 271000007 609210895 526845597 908066623 257693759 995452863 127532317 279376979 175299851 558878251 408330979 926293691 744023737 645167673 958748791 816877679 979632393 225149495 449088521 72310609 361046493 530929369 719948397 274318377 955082303 536875581 319925797 913375143 260741989 670310121 19011673 576549223 32459175 308088521 541412823 21516009 272597385 816963635 2586645 387810967 442154167 979730149 410788917 672753857 969415429 289760513 254607357 161702047 592291693 316789785 435818203 998493015 646626579 440684061 634790119 416226031 330519619 843242095 135760865 751548759 358591341 680951505 119738415 983925099 687467055 313219699 451692003 907050987 137117773 525671143 76288945 454946943 8329902 590746413 798941177 641866427 640234605 126569641 881761219 807072023 877011901 236816425 87350207 546129395 455510277 463002337 861939523 745523355 933862863 376751983 930492751 893357629 275295697 586703577 790711177 844763893 58420707 546765195 462593345 243435203 54589195 182292057 168336493 697541775 658109811 121008005 408179887 16919341 337186669 862552495 37244493 596667475 216389749 378661606 808845623 216960935 974221361 13404579 152189441 524516781 789351 473348541 157245165 259458777 81404687 944641917 768893155 609092741 540998467 284667025 535507569 621319665 21893701 605257483 374827725 87637317 674136447 941337195 14123225 485239445 458855561 367803027 619351065 532049111 858986009 858953429 41929663 948397297 314816791 574765283 109049251 362571431 293863819 789960155 104341313 254888877 682569129 26044737 373513921 431471261 914717899 470834181 344296947 329729525 207157879 555423611 494637903 763425569 212163415 710355039 490585333 572922227 885732415 686552535 726447017 485269281 271884583 927836785 335430107 819282001 342968375 573231393 754319525 311808007 2102455 473595975 572412101 124263223 377860123 732496549 39526817 516332473 747328254 558885481 789856841 933793617 264721445 573981737 248461429 808890021 483536249 833757153 390900099 25637959 139013391 853238265 25353593 120590771 596031009 509723707 117867531 642953287 946586643 697881311 190957451 476531789 896072047 363931009 673246717 118067703 82099945 389362213 696536067 650105437 405438557 112883771 194102769 312515715 1157069 985174421 93277371 232629839 160069735 822935411 980248835 994505619 365202809 378959737 879258125 732739849 632140675 354179253 847759563 181603667 286018343 277974171 950505685 9513465 462788145 54835209 416522599 698114669 481028241 889961541 862062697 824954121 60007781 624977915 793443691 662519819 589935601 155434047 503769253 579682463 217878685 126929811 191785461 335558613 515999231 148000471 617568229 992655783 396340689 444117083 218152095 571522039 27406327 323323605 496289535 248975245 834517885 975216223 28062595 51522843 485954451 353475971 460663121 104762937 524903577 472862761 943932217 67629161 780066061 636804265 315234993 540333589 270839967 896328385 62117083 876959117 62651167 257997461 582482301 994851853 802691977 748670385 373200901 876103345 637188867 539683341 858281613 957118343 13169107 281842437 137662673 349512831 488340081 763541599 956358971 155134065 434461815 66146119 63967191 353755679 227365285 944597841 494637921 69646643 623531243 427129213 266200627 577758525 215894361 153571633 829997401 119769271 862105389 661513527 567070079 891030017 253595847 850601669 568339965 537562215 828331957 799480441 629156819 548822809 743035817 159738201 902395559 240153135 780433791 867073489 460391881 799184299 374372919 481785015 753764145 948958327 898153985 346756169 923724927 165125987 379097903 205287723 506092023 716261929 722476859 271364969 847818633 368556649 701862855 922288507 85077455 451615919 431915425 22171963 563671815 740882281 915437499 176766195 853751319 754511859 170886193 354900555 359800207 985562509 673167173 715553629 400726693 73226849 264328803 814786979 504908859 273795199 389289759 196110595 407028695 431255263 579280433 692742347 165528231 312322663 405778561 245278383 476928133 566497499 4904471 106710989 322265837 306053617 641579815 472157099 206106631 458269759 336134925 6566709 857264549 820608581 563808589 813374401 785304123 305101169 206723727 679730187 242768363 472270097 419532201 649967929 16886649 640059231 446343317 177684443 469267799 739119227 321558389 440264417 270019739 532441455 646111641 442767021 941373957 568317231 848108655 549873665 589833979 328663951 777509525 982669579 535451279 340899413 976441037 739107939 465881205 709816873 895554821 861747713 962712077 292930457 291362637 536352335 226645343 461477923 183930593 51503897 452470299 317489957 681573157 927570579 990534805 42314475 103922339 353788507 990873809 191759779 111417361 895446645 857822579 926538343 45216071 875817041 921942731 551696955 491729995 637785539 596660687 419541253 232612421 917371911 474607393 367578777 66519691 850168515 991777799 503559087 741075865 929063173 510079343 397970663 685976079 995876931 820663539 213860811 907293113 839195479 722749391 796982733 16782989 368421257 49202154 987831111 804079523 518344069 742589145 490058359 780586049 892552289 226271437 480179337 984653009 631336091 441540009 478634127 448874981 235882263 721721841 240567423 993520953 928925217 426686423 949938237 137977523 920033905 742062641 543806611 408146267 537379875 38647679 114456623 358721635 441160635 517872871 77439659 473270315 179894057 735556409 616320395 126466867 830022335 683742189 584051509 657356071 404435005 621249569 774244859 55584729 988596167 129393055 488486681 186116679 809176299 81505745 943788971 645840785 959259549 992625363 619717569 952419333 643867451 106734689 92335429 68971029 639494027 156551397 704365335 252882781 345009593 114673261 86317555 485161375 986329947 536684977 535872901 58095047 884519277 714688269 688702303 840109799 326260055 275980685 360764407 500515133 363571171 613741533 308875697 56312107 665986121 239179095 550446037 260222523 756826403 211760375 490002325 557551137 249712507 734408807 194611465 922442681 462371769 86118131 881656883 806134277 902863029 948030101 868826621 721552177 240764077 499889901 417875767 794520977 701396037 54697023 387088285 367677599 93950859 854302845 543757003 87770109 853931251 234325565 602673487 318490235 323673691 751854015 355898265 11648263 51790855 801429481 213380865 625238975 240022951 479585099 933967561 242053349 592384335 503429405 837212955 991008743 489152123 428356669 321106951 720206931 16069393 934849075 535408263 575525099 318952031 35916335 892280189 983576203 817453595 29189639 98662577 422488389 608325983 915632441 560464853 324484935 534977459 405988335 862144897 122085871 414807043 14573559 634227767 740381377 15077799 237491655 72573791 556664421 45140311 848419201 155285583 830763441 78218813 602594283 282511163 331049121 157074147 674957683 588954181 275116885 697638977 180142897 723187321 314612505 988062899 691045861 574697157 995301731 831973629 20297975 668145925 272268491 470595406 352782707 447532793 784711191 873394749 224964373 680008523 663457071 617989059 384364855 155282059 372958251 270994503 759239139 656243763 978985025 102693783 975165641 800936355 876232919 423258087 51930687 41345831 30962809 346793685 733518405 571932909 10025433 504257127 656000897 472358417 345431761 114266121 624723523 591127955 394297703 109188497 561780099 199809885 960031429 65927739 18205151 450904895 490829885 57290159 829159583 124980211 664133197 680406775 886330035 484428313 193949589 918071691 3307441 655747387 165784547 577128517 63257303 57549517 867780393 154799725 110191119 439192357 837276289 724569777 120249575 260199555 65463089 609069603 858596757 895699477 539627427 637284675 226557435 776431849 774349931 909403381 468889247 531391223 647766851 862261639 999411631 818068517 413938189 108065709 941448195 155478839 209448919 40809861 913192475 452233953 53616595 455637395 323253023 43870397 529275485 240299463 57415643 385473611 861507063 800069237 643072457 147617267 965905485 548141913 586069513 276544521 955703091 304973467 245801055 11150277 861499299 460892101 413310525 397090887 563044543 182096077 777831353 509513113 815018711 160274707 506738835 386929581 745333849 519228505 682122545 93294429 832815843 316582861 671910819 829768039 725013559 376082693 191168673 198224249 375324993 842638591 889213065 826882335 326282005 413507869 255649379 505474263 354471917 576876593 231971037 568188671 31859245 48353133 361702225 479967969 32562527 282238831 336889531 389772719 965635385 6477115 638448325 121362819 979694227 584841025 254389949 65138267 837121137 812192339 960438425 266406693 740965633 931461809 618928123 348571309 933410963 284239615 512928553 221562545 486245027 280193867 502565393 662836943 128651989 694422539 334858059 63716241 48163315 414751513 692693783 322632041 617677043 407712957 612950621 20859823 18570221 17301154 183554473 808733607 738797351 924179681 202296373 872550263 737797129 851052275 494682849 131790641 888886825 733611201 146299185 525076943 463476803 280866197 967782999 43833395 663431991 903184679 77162025 524817957 507723537 613549713 258037285 972528983 769775623 471289181 303820405 270066787 183207283 918482547 430788839 131983815 410823893 499452715 913826291 14421743 44777181 840371779 506926519 96961835 221914715 742239967 331566843 739230903 723846477 709831053 757867567 815850927 458467795 164533569 641781351 797853985 5576507 551294041 498302055 352609789 849738999 344744347 380195729 553488411 618677665 780227891 442610937 613200191 946728959 637524917 709486165 642186255 900359163 244270371 553527553 428964637 172585895 390603741 405767945 518750179 572149313 796496819 53415449 754486723 754603819 250570971 228258441 448055557 248623343 168145135 261272153 33243609 898561089 40789495 649855537 197571931 881271035 321390945 248180829 528989837 150404387 291451647 845218263 780949331 885183459 368651791 24997183 901590917 92127887 18897465 898677209 167481303 944159137 752393865 894017175 815857387 632289211 575667315 838463759 418425933 395201197 115357395 700388479 671065453 615896165 753201395 543588049 872773794 243470849 672480125 688551827 317506097 999042755 928883589 378477309 528544063 645403927 131668875 838942445 407206627 24705425 980724339 599579115 794206479 883942379 668650635 323423781 174989227 816796679 545359497 181707893 185689469 19150069 895486599 597256535 710975797 823749091 918769421 4486645 699666543 453297967 237602311 117126429 398074027 253692251 992162763 82999365 98507347 499409941 171060757 276574351 172751799 951458605 824040717 448070079 958089745 706622879 738294845 877613897 27099777 658172559 433156509 718784319 758697746 487844935 73662089 466895715 765440437 762346813 74034373 849688603 819338051 940758281 389475201 547566969 725706365 388611439 530137167 768498225 547619595 277757277 594764335 508566691 421957249 139095011 885179013 348658135 26336599 804420925 334836767 100861565 273162221 538440655 229880881 316684267 357148559 66080549 190610777 955562271 466233195 191964913 930173083 320133571 400082333 368078349 507340391 462705447 749659685 863174015 88523153 525046589 756503531 719894895 269358677 18486185 877893059 856370739 827405659 834381489 439700837 761216327 44425389 671939651 34638449 642444363 200787137 723793145 315363185 656854541 242402167 520870159 454758617 335743 594613521 123502447 358429181 302570683 545446205 85083815 829019683 893329927 560753171 993683437 39672177 326146253 577589003 790001187 395946491 950753439 237069327 510506701 407019705 539414075 782708331 821658909 17581707 601271937 257673171 705198827 284662587 261977983 923084645 876928433 862005883 95367015 110211749 893597597 216091877 719554965 761198723 284392569 279860983 439086987 988847185 60911807 935095327 494113781 272079 460951695 589000105 175926181 233574179 406610605 354489811 52774553 590766551 889337737 545888955 624962289 591313889 226201661 406504811 554152443 885397407 124578695 508866773 700125995 484947415 142903501 370880209 465228055 151089845 869099295 692303651 669573257 144013007 928348725 305653361 418861927 553245731 471394157 746958159 608782277 432178963 473618125 590076211 493097185 398261105 857832969 356557185 449316381 996258159 427954547 322941569 898276355 793261737 387564815 868457573 446515527 371805993 111831423 430878277 148562373 130646615 891902231 187668261 220766081 879175693 17218251 226345195 10288547 596457861 344201021 733059433 735569793 394302053 121778609 689523547 873811861 250521529 374301977 114416479 192330371 113398009 601864971 311479039 201920021 722310915 41299143 944975275 102299201 898404119 281088565 358827969 763844127 290933735 493016801 183874429 726831859 756892295 58202373 236372491 814396203 813536115 416127615 144763003 880049495 883781523 969875417 823002313 377750835 443481393 110502205 495709393 585430179 922584325 784408455 564894561 478364849 942134057 301717813 814790953 591587475 385148453 62141805 716815809 764566177 536770023 45960959 494702251 301138785 773670081 897405281 49491025 909575291 880171635 738472373 198010629 148934087 563326751 975262145 41703933 828437563 807118935 86939379 911931995 339386109 569105421 693253989 636746795 86055513 417109407 749633235 226907997 102689471 537611985 689526183 526233289 895074255 172843219 228912621 313336625 927778633 487437625 224340577 461419583 747422231 394599679 915710301 80032131 420741969 662969227 368966637 422492535 469012269 484554155 712592573 716042877 543366163 622206613 139195685 111056859 911699849 368727779 684255269 814443207 881415495 972773277 499117923 916503895 202082343 505331503 293124655 332716941 290267435 481540719 167900289 611849299 489214079 245259163 778969591 291874937 431054453 955799381 327460059 6812089 283777675 553252271 746311447 324319155 434003553 223030553 623628103 506085619 409650885 526028661 104923561 143427047 395281065 312864007 702063905 24207339 989835817 224491897 651914307 929151551 404426631 222853349 396130885 594491661 88086063 929363141 572353029 141914725 971364789 225459967 809232139 343353153 876540627 32191711 91282053 812429953 630531179 225645087 11687499 706906097 265600141 887993815 854633439 545232703 557963111 920716173 993554275 850914567 30809687 378070577 779063979 861438921 127396575 734881559 629974571 136065773 25295787 522543357 687904773 270379463 133116303 355474693 444706045 508300431 154021509 436790207 882953605 279539045 778206897 60560417 158965939 327447891 775497053 524754053 623743815 315119437 804013053 802577333 246298791 372307239 638363437 732803033 850263013 286663335 239746993 367270793 194049205 595323509 849780593 433347 2562167 278427423 568928899 522243563 172743475 857107491 550996513 885488847 123836055 22262495 891014575 759152545 513237245 182233503 479116217 969081347 490630755 495572625 163569903 295256057 788799855 896456399 60321073 348922095 509841009 137854301 154560637 967578811 242066527 686338593 96416259 11255449 559782875 15562479 84325139 995161135 22992939 725057151 274402857 522123403 732262973 107879281 34253289 35326241 641755049 61500751 499812895 807600337 297184177 363170187 717012667 58428125 898758711 243469951 290416349 691260915 501933775 18039913 260753347 90974504 4225965 484444279 27419101 352284925 899584179 700117941 809465787 52988497 978691173 309816353 462203675 934045047 807174901 321105305 199046109 751017247 375598905 328581351 816226575 444069227 349129649 343590077 538005987 41067231 102436739 853374131 732120243 53130597 617436543 341684813 670434309 792958807 574215965 939527153 247218563 832815215 880875387 904173041 493515007 761995987 11183201 899553673 23453047 904991249 517214015 246785495 564588043 727607837 394211883 99063525 244423433 636364373 732510947 177902245 639558371 784400511 946459601 414990319 730800949 748763591 895790851 87150981 62669761 218115523 218985265 492987665 824685939 747609455 77774519 473079333 392840031 359640115 383802529 929338167 946903997 954061529 114223003 374561451 152734453 780275351 278481151 766755273 888231055 834632717 781690313 636618691 877903935 179231293 949490593 574026929 534912225 115075479 370980313 276785813 921361783 312379117 751778917 611234905 859805229 32439423 185850087 274155727 526212439 676867825 784032675 675674541 484861551 464277071 322783371 792586389 258067737 11775761 680072245 110544403 200946719 116291347 58068193 426550423 227285621 636339867 611143541 953595257 591044663 406747477 874415233 861050363 990034857 373508949 992539965 690970183 704430643 205729309 415425159 993585261 634423147 610397069 58541031 684690793 579282443 736175861 364877453 432898071 885227255 834741769 680021069 165037125 857787961 162316265 86556331 976272803 23374343 455716375 195837387 591166665 654857145 96236417 350662013 357388345 746823379 552474493 5378103 954545501 979074051 885958345 908982299 555497861 604189721 783017097 555335663 607378667 673839377 906377033 47815201 265577391 889765647 406171649 439548873 444022493 354195807 305833741 535254951 201389925 548701553 367863089 61396259 57617181 373563877 78619293 989052745 635825613 971962745 212897251 703576533 624607255 463162909 311188739 455929377 18283153 318430177 529601121 119121463 684133555 313864705 846294987 279414727 762267103 900859363 739218293 700246823 909639771 410980365 394817279 101668951 749154397 347493687 668777 21675517 395515643 220009275 172560679 330306665 656367925 211613721 574028551 868027539 568170233 363999489 227369805 897954073 115415573 120221509 863805337 481658691 805053251 66868573 175332605 877531137 290400547 756513263 398887657 832018663 600770369 653077191 423701055 551679801 407005963 339549143 700883521 516380891 710611165 183608891 586366879 170068829 335053559 554461493 329626475 685961973 64208513 614071601 419916325 623869317 780865679 292171969 5814449 499365777 162296601 740768675 909198171 432925005 299209727 695631289 53131995 294988683 769136651 481997837 744652109 848008397 344178673 513237459 63370551 523577915 535249733 84363621 235184261 612191905 653139853 577908043 740162957 255652729 84978479 91810091 429056011 946616291 678762111 300459225 590400037 863365027 297444533 736449363 981692777 199244331 172221169 190348731 558412749 177962897 777054013 536440411 548553387 75595155 610617739 454228903 21053899 248917661 592818357 53805371 219991131 52727993 409564027 582938329 502985197 15803041 384184197 419343215 110646655 406190259 140993639 176561163 980420217 745912823 518524567 946304237 581490599 677495067 492829817 381236855 10350139 538594681 845439829 995006517 207943383 932813837 680198239 463622103 533838463 288543361 81595819 699268155 405118365 996988963 32768831 790709861 4190987 990814953 338996225 581269117 926395139 798068341 274755267 628739289 579431979 290524941 45900609 135146739 257835665 973328031 577107737 718602863 449346729 363074499 40169173 624621081 345808465 796669625 817974503 659770593 58496975 348442215 357856423 906295525 465200335 579245919 783279961 216442473 406935911 360882901 458558243 264143063 280503573 465859497 451808279 703054785 773402043 569943397 706808113 58673123 715589291 33821491 120204623 648091681 623801237 756552431 340658235 956719751 881161627 433046039 824356261 146386759 738033727 96702673 239921707 118628795 254474865 160756461 433864265 808768361 596909955 916370147 454964075 394796793 189827637 478588113 915582689 538126147 223118251 304332671 684116199 256563773 609390195 795660125 467946907 360439821 862663553 891664767 785888263 802973695 146036531 981449897 612353307 520533893 463631437 774412349 381502133 125551419 131244799 51308879 243148945 670422499 157940189 196748693 81376603 569316711 93852899 935394411 769993635 773973471 245204601 710792669 867555 988951683 170883177 68204439 754644093 79062197 648503529 329736689 484862137 51537667 80809369 667383531 211186631 25667103 79078011 634837293 175959237 459368933 201535741 495339267 736083119 398550103 647079669 127857511 965008753 911937697 290757025 430253817 165315291 125668885 485359269 680709373 667055527 239519025 521398541 574103141 913478261 138530967 431939153 128977093 529419473 425021457 482860365 605095265 553528363 697761683 856678727 368425501 168811227 562692665 419386601 893919369 6282019 308409669 572335437 688399581 913434669 764343587 290006253 598924023 570533129 314950759 960719535 589216607 74673073 294352587 80147681 982105667 494623237 892223027 944383031 826143869 86033617 213473193 540545745 360208521 159425731 377648737 721883951 369029521 753774455 207007927 901922629 401896547 628156013 788743471 646669155 327279733 478210575 703341937 328870727 982566633 896840365 793617235 310983961 673504131 336409473 572083663 376458851 557810101 346909099 931504137 692783389 174724503 380042039 455353933 102060193 994718949 293555219 356699915 316123321 59493895 323172123 698234337 171238541 8289037 178287887 947596435 985645495 652077233 990938521 370869769 892839727 56174925 638322759 621800793 341220959 120677355 239620502 583570111 198537747 416396091 772816871 613437083 439302015 155840147 536158851 68535929 709852481 225583345 270094489 700699663 113866847 248255999 635250757 257017397 815384901 454887691 176800647 30064113 851064009 354977805 37396295 682700653 192973095 89182883 809560665 424570619 883126535 297209621 342778485 773199383 94166643 432807761 453276987 198625381 340216801 156617713 652196149 862571185 738707761 412477233 238187735 806039021 925650597 364555259 354453365 963966517 664861163 55441629 800654421 310258121 869695769 221820685 823213469 896446489 827021741 955747181 373749601 599819447 119687051 616881537 532314777 47416923 760824319 164874363 411631653 400009709 643745473 592116785 140020175 299675507 961083629 447910947 576308553 421089061 352900617 126570617 797787949 399381597 682560255 524769023 514364921 631683741 415938857 755531823 498258203 361110161 56708929 66771495 629531615 783460109 682658413 570163121 779532419 476211209 757267771 504058167 377737509 431220653 817784993 412426709 161136335 914049857 495047417 750125129 621373043 334062137 842616587 833869305 676058091 107897649 416884995 58265077 991521013 278117099 601596791 409341941 431935037 75605843 797575781 527876437 351680085 898531453 220362799 170924577 464239795 72039331 530901159 927300103 353913019 653903911 249860605 165672283 734436533 637810841 929420755 557247007 359576275 124137895 983414827 627604219 400927279 240336687 65536629 840438332 297161159 902959923 936931971 507580635 226922375 888428255 797733781 741811575 575946046 420324743 45051215 268467029 314545067 692269477 781669567 809117543 815122281 996974557 54290777 243901251 893386243 346841595 420572667 199471145 346537707 539562479 76956651 352696321 154874489 826432727 277206485 205759063 600183023 643250679 941392079 319226213 937230711 325533111 547257173 527261449 120569633 985298093 417164367 660370379 658187241 645149843 478264839 542669787 788654507 574703437 710646067 257626639 694355765 97231335 139025907 772267749 718712119 438919568 866919625 617074567 997301065 456734891 594416547 554248387 43295983 96333747 585630423 188695057 198544525 589048921 315342883 701056655 519982203 865310829 707314603 47798277 494885357 303928043 942734077 471029217 34106885 213538041 402721805 150046781 653092559 801906397 727226425 338035413 802885691 167104271 678384965 204629011 826919713 436953383 617962081 455087107 587985475 463996651 940508959 340031327 527620939 516824901 703864449 106601607 328171977 487046983 949906919 528285313 126721591 844487471 17315873 70624251 811527415 492304733 277057635 182610509 72739665 916299103 813314381 371238519 198114933 499606759 628289503 804838431 467660415 58559183 336160397 472713877 871527791 610479645 709496871 968532433 44691503 311782651 990043371 576024945 852316047 328365501 80436097 198216125 288617289 447275995 546176499 170833573 211140861 639931133 9093817 479503551 980751671 256571371 249860527 980260937 963994213 577407385 865116441 115074093 88439267 242761251 872315559 276459257 14565105 756496331 658640491 760515557 728559033 558703613 111156709 989620687 203086923 725159499 233923321 528120895 780841377 645077875 375314677 807816803 832000667 761542743 885721485 361788947 417749253 612980993 100080095 69007569 364831885 310414757 116222833 540101311 881124303 721615263 512355631 690814897 438069067 244669553 778947695 380832795 321881193 905379017 429324269 96406047 931530365 396804981 482656977 5205633 449743295 195330165 112695717 952702899 413326415 200477675 299136353 954270923 362384697 759137569 173930079 852219017 86269291 913458573 871178087 194967123 820729025 233658823 602040487 24100667 958351609 347143827 224064689 919447795 887878849 40233439 233848197 414781665 859451559 946621371 679374727 427307271 408070691 99169635 609636995 27658005 270909081 42781243 278618289 36380005 811088467 36129997 453627309 115601909 488938367 298564559 447610749 3404139 362691897 272091929 166658957 46431255 795948159 710446767 295803825 718488303 320617279 191480255 997405993 451991701 713280325 94746521 710511003 624989775 248023887 922091193 189134353 14013195 899209723 449094597 286883841 782478945 884929235 340694147 172365897 622689683 556607817 41213675 535523375 661554307 121729463 201733653 806111329 570555077 930950747 468612935 910264817 360555661 16193635 825459947 267367261 496330171 266881243 208723347 736506765 548165849 130793409 152532219 87196363 896029715 128479475 667743497 679563215 600697409 146469179 679214275 859008693 23034339 358948683 784667489 920238593 688171039 601016507 368179005 215190435 680218053 612334862 364458201 82031597 464763981 471621804 826108383 533009567 46596309 456012263 667154983 595687389 495899941 46928889 173955751 94248757 261319853 355956737 670013063 463276187 602103171 897656329 287558159 345389423 99399013 720395267 794036659 789605233 565199549 830987975 792639757 818341845 180222361 470158617 399298531 633427497 475866799 304595103 34514207 505812337 490709089 288813291 540921813 595343117 993034677 172224119 533943871 192288207 423150425 253757861 440747199 263703271 743810215 997123517 404111587 652223223 816655003 261682161 620041311 67079937 58226397 427244121 943338505 781350771 582543551 977575159 163332331 486792485 618189877 255524021 134926123 717312591 390557409 501997669 764917023 244331931 631904007 281728957 794538559 968215829 751503513 978986081 943235635 933918513 713353261 307823833 497180099 76861901 609025539 499858837 305391589 315780399 529129217 320617969 229392049 855210241 890252215 993298223 718568043 703350621 876677469 453445491 717967487 829524925 697209553 440327381 780099713 314407433 106853275 218338889 221676331 372733323 226533611 622187185 422751073 833997305 484873877 714399705 82325295 888172145 328679453 320093041 346796229 705803387 775932839 322787345 870734209 657168127 923168515 922003003 875866855 975557461 492557991 430111065 334462367 22801977 545244853 342790331 145421951 883471059 436778995 926867611 906663809 81224111 596671695 128248089 776714443 837364159 602397281 969720641 528538019 904809317 752008041 373046275 672384897 505199973 84249423 799990071 754750205 604973545 927939871 687945375 499986141 217625483 360480915 277442275 349542153 234839109 461050635 934639767 90390935 547530365 310298251 132631859 194402755 871822849 584394437 802979353 93215469 811357957 175322639 655012751 231413155 348876583 190455913 480399819 992693911 8129645 438036089 167220707 644849571 978890819 316773519 685367513 355468493 446848639 844756899 599241365 606607167 389753951 444589651 59484907 686804555 861078917 356490215 285145747 585832557 629570817 175108431 356643373 419192907 892939849 183675423 663645509 275604909 86435897 275195803 720693577 408074375 756475413 81403815 848494229 6087155 595623563 118733265 620449641 123362103 583235763 469955669 348072173 850279613 409020165 268075279 3744821 29524761 382123115 861854341 926056249 805178883 722360113 369439467 518103513 346269539 860804619 271752979 201312479 194923585 980723479 297711999 182540031 111616465 696068827 629071701 175970253 585524847 747699011 715459431 764214479 604722845 822240931 263815977 319591021 361126407 626441405 988892603 19397877 360898689 82436017 471318247 524383653 353820933 495607567 575783449 219057563 483346101 879280843 24138089 92074209 742357471 889526853 785367189 454503275 575329015 742093119 916498951 499072525 866951061 691497703 843236303 252746125 988619133 183112403 468931743 778545041 159579035 401957377 346802397 355861933 350060803 389571541 723201417 933947991 745358831 28138267 171563353 749919731 319946947 291670795 499022241 886992843 165676297 312748609 581663583 785365773 711330933 471015873 292333629 680460243 920602597 814708731 170818441 720033825 177376343 482720707 505722681 241426141 448736761 735800661 938212079 85242585 957031711 19234135 711059183 978212305 380942661 845892567 652646189 70583651 439378955 702800713 644924475 849600537 264001597 258115979 801749083 705674853 409969361 458808547 139819635 78618015 449944031 93346045 168943381 490624267 899700651 744089583 474125173 303426767 79496099 741597493 131898995 882041597 733108567 849474231 759351705 116817041 205568387 459663807 9592849 369457257 461643021 383383557 563767223 16332367 652247035 46638245 532739081 407042549 621445253 12043043 465719085 553308659 519647235 751496813 768611059 568303819 81112571 798435291 906567635 362967015 714068759 453331495 84500459 211156121 714202665 8242295 405862403 811390231 700011311 47791959 164510857 363062661 467475529 603853759 206880407 470317803 230766789 241581067 49544937 863248441 52712469 724257025 423844585 256243533 511992531 585782989 382114213 772398563 815478213 645495813 789067987 566142119 288985813 294544549 326624725 616181289 811608085 270354195 295512753 863356899 420517571 913448223 606739221 824944951 141329983 335203577 78268761 181893229 368455447 912191041 84042109 451786167 789948925 482435839 593332265 878781997 106132685 517543067 700248489 594789073 852934537 744920813 265119991 502010765 250030941 427033395 826542769 204770353 334437789 577086223 612010017 869240183 279060675 428538259 981218865 25090049 652798321 37185073 770947709 245004117 121111925 352674759 402762307 142130921 684806337 826320281 762496361 21373203 914806897 85112407 563599743 946346005 744377289 277184787 36730045 217570585 215314737 71194703 827583745 501883695 562386751 208969451 205758163 564495953 872150443 750421815 453042785 658623071 573296221 144900583 940458117 764144677 187355743 26236185 364384699 588841555 545727713 990152531 937742125 110755967 271685185 357868673 578646953 95285295 899119873 833879289 297261733 311948747 259296975 773381241 241439043 351239587 256117625 785978147 782371655 314965233 123840513 874269833 685690915 397930709 915378053 449064603 42159599 651455835 345136720 885153467 987946599 140913 637788889 310185643 926462963 620544755 529432251 707797403 212643 525729 827910069 117930269 792935215 493110308 997089463 216765489 275562487 660996623 610850513 624093243 820591103 397444055 732028991 762862089 816603129 297702371 660445029 714261711 762125115 346733431 275983823 892700459 360591555 500378055 871003437 724696611 855434811 838686445 868140127 402075683 367766769 12935401 331369059 397668863 247077596 720250531 198090601 717654009 27431837 704106735 437136321 732478129 151548793 300103557 762376937 506510903 515867231 496795653 76458113 175812865 834887401 10766587 465807191 313984745 145971539 857903317 569524315 175470647 415063175 6705901 10369965 27837081 547545363 308105351 552863117 803008545 589441069 892170699 208938343 807392847 910991543 492208839 503423693 728963333 66829365 185054329 484473469 713181077 309479897 778158527 906996055 590074289 556561273 327573603 906517353 668135543 72448149 39450135 73914085 334997867 697464661 698185589 971457829 731929469 48279941 267021565 7274415 680987137 161420191 438012439 159204653 229125555 769433537 931376661 798172787 380729785 817282229 39023411 106459515 510519969 119515365 6121871 189411943 341439327 571576685 36390451 675365509 989902931 337828107 275772945 506446663 567766079 20372773 817305859 565448521 956329297 323638475 998329543 253933389 22724127 916131251 516002313 193316159 968927909 415231807 299328347 910698803 257696587 281778037 304624691 290618467 393357275 788343813 696597493 381513779 530913933 355674947 864686825 201005 760757501 712837937 697369409 223634436 918667055 434719863 998412823 263855255 288922257 399491427 800346729 365581031 697220347 832737515 845545507 236057117 172112807 619406257 155027735 374626191 971592763 75269369 290470907 107033015 315226053 367515573 448345459 693453113 284963257 171347835 901373703 835799007 420886773 414051723 291664425 414598557 753714879 269257677 2573617 832373647 357698499 993470925 952687201 769119993 949730581 676337093 884882147 844550723 595593527 784112019 6926281 369306627 602161417 847532991 814494473 740208117 719631579 740508281 17515655 280683001 924540259 151931543 656348939 220804379 469888187 904866967 854168901 1938065 358587757 319339427 898998481 109188275 403135329 633642633 148148017 767916551 776268527 622283457 473035979 924673077 222577109 851450217 229476849 622194451 596694071 241487433 423027165 873881501 678886817 144819919 613347761 127504627 911181323 807816469 727165813 613587299 58331345 351454423 630227225 477208925 609472441 28789373 2441593 680850561 750276589 969097241 844142421 960435855 829032198 797040223 557354071 521544305 547108865 902867377 982660111 518204735 33203267 741818643 533677303 685969711 604806807 13749047 490344817 251188391 207954483 910471029 7434437 107594547 801015221 831674055 494246947 856020101 431788067 399399643 130825639 133028217 461568489 107655419 724712273 622725905 383856093 52244769 547132427 26461049 816976957 123080427 448185509 756829443 351250861 74376353 795114713 612430637 48894009 666306611 624799815 343273879 255681113 926348855 461944187 770217743 605639143 33271531 921058533 3143815 730465581 545475897 6047709 253940251 811951571 846006191 833815459 138215949 764155891 194913669 468058725 439830473 298055943 156342169 591124017 628426979 515704565 333197683 149494785 405474325 43018507 91756609 558253749 524461633 833440509 203411419 158208537 657187189 737344489 630612931 295925211 714141157 768218453 470779419 310646423 527353065 906432557 377426103 733952205 368150021 858264007 200810507 608411621 483473893 699205855 40240185 213227315 300436829 967486619 460356613 982248175 14917223 219290507 148122081 960430393 186870566 654852255 144712931 978322717 559380199 967072825 824100299 755122569 993157915 107872539 62376959 358855257 323965023 969281907 843379343 831372109 624005495 85994457 747150131 334853389 566199883 254621253 293489483 265331245 797195505 928035617 932796123 325210147 196276387 299596345 96328595 115968597 838420677 438576065 382872525 552867079 969013219 795775831 567163271 328129645 334620333 508268799 300511077 892060065 484780801 691358249 430214075 984817057 905371875 690920105 884233599 2851419 378475899 630211003 109166415 802146203 753456159 387444485 844162675 45574175 183015755 878595477 210900953 227034757 813423007 234346721 956671769 471433815 137099497 504244675 803175795 535074569 380970265 607158147 940026063 301510383 53341519 936283853 839422139 671060047 663261385 300772023 26419565 278052431 582616055 54149055 891730629 743002625 603312489 910253257 358429517 669081953 135859421 379674145 670832433 8509005 410423347 343730815 293607241 306908559 167058041 45933055 46160917 310779865 363141857 279621925 860943547 162567365 248963525 671678433 397273099 282111441 50038187 700310149 318247805 845746537 230596157 884604113 10954799 447589343 106534733 216534249 33977833 179112553 282342873 909357659 702976539 821891627 719396609 985699099 776352475 87206701 354819859 326632071 365535719 402137953 618478721 677692517 959883689 248307103 408963815 312583649 613677615 971070635 909912583 509214353 972211247 268836395 56226509 531182449 778250763 395358641 986722891 752701417 657159369 390643127 788242111 713707715 92976919 669391519 652023947 928172855 856090703 296692145 151656761 638138847 527511917 30946847 973083773 689077189 930907161 162297345 290623795 162178385 179116965 421775195 538351709 815137115 84996101 682238227 908029991 720158753 811622105 583520763 495919333 415075399 734196331 208492493 345466897 413561307 35198119 878603307 166902095 14665553 359541797 670262685 944479081 506777735 18117413 353663123 17489747 388082113 487435917 373289067 735016745 329187503 558770413 231247457 126940973 672963429 455847293 6689441 565072077 597913439 853209371 94631739 903906201 832369795 388008783 251679017 664437837 28887071 867826505 877562701 971095501 902508521 410375389 804904301 176558115 899885307 77030287 542102847 520022403 695293661 480857987 860043609 298583883 184547451 346170503 451272765 888558329 547718445 802598167 14938453 319582013 865383339 619623247 565115889 724167911 25991455 427998709 330697291 483208179 4028947 671516541 296401541 295229061 840777087 627783929 102632357 149799399 301515199 759764267 613208737 892616079 296694679 125460859 571152719 305938965 949202743 246307573 972145 2679359 963570483 591199059 257229233 550536183 261438343 313978357 253297309 70633807 433091737 506312415 512067507 407528835 784607799 822497219 86191187 44269559 481706133 728208631 131648709 37011255 487769425 410806907 581166393 173910517 912594033 515051253 883971275 493494795 314690401 542876853 367161467 853256063 796108279 760341171 913245233 129422715 127598447 505465229 85806529 265354577 620206449 619665547 247924195 420413823 530341127 823539869 138229559 654846117 414594985 292758871 341211977 980651665 127047729 936687613 396512647 644809525 8522215 587566195 103601229 640151981 526242169 908426311 88339419 911644475 541404665 300587957 120746841 51064395 111330791 238231193 590044635 924997487 892341799 595217785 438440281 843947621 362332423 136349831 862038963 822141197 657535803 578046107 770482613 297016437 312244961 838037041 767752205 232806351 494427261 124060785 209260119 531499895 544214527 831552557 273052177 364347887 49372603 220358361 917893545 970163427 280650093 545188757 786596203 606799399 568197437 630674475 230916245 187500725 46652085 923043335 797740613 190279601 664648651 945840449 235836039 835308389 319781341 24387991 10975049 655986757 124033715 281278323 347239781 841789933 669811061 799724773 855810463 237303839 581946299 95819423 80475549 273203143 978046083 425229061 841520883 839597049 839649583 621380381 283161623 278243055 552276113 727021463 661357423 879149325 224862683 404544457 378357823 280354269 785961387 434044081 71543227 496854805 824024325 699979257 454645243 546478477 44275289 524635887 906346243 703940169 636815481 42894729 923530681 474287479 494005157 925876585 442021617 723703655 846016641 619968211 422766177 33157013 552672539 495506873 568211373 733711781 908455401 965659827 429040989 293528161 752552645 560557565 533376483 58900159 26234359 619646079 63002777 365783255 825383723 403424459 351947453 368242927 35732599 422038037 980682363 836926063 651577687 491404093 196564453 76418285 444938675 484026829 870430193 365379877 13866197 491852015 269258627 590500343 278257781 46330495 600956515 84828529 993775021 573041659 311026755 138812355 592793095 556545929 551984571 394484813 726689899 57337081 128821069 790958221 547289649 877406403 304425571 579728691 519950871 426313989 450738255 720365839 854602049 997099655 519296327 318967839 817767485 444605367 902044015 378074755 886964223 717355439 611316687 71433609 833808613 420532523 688202585 373566627 699976117 466637205 973217765 368626285 633321627 401311227 795973941 297204647 185220651 711134227 14684659 868204609 128908903 402234175 606921391 658245197 436669359 453088133 667761379 124094211 330036179 421543059 658189809 942440907 783923977 134970561 744033313 914070829 950125803 32754703 271053221 587741 825724289 664991523 564331413 695104439 50846775 752371279 273497843 370120381 414200549 165640326 12177321 631479835 52512963 651151979 421622150 664555299 206836603 337945925 37598535 141668435 472639513 441252863 15830923 348462669 635968017 888277557 821897689 532297947 124721727 616402725 355418023 797783025 929969645 618686133 210901835 174861995 734008261 229710965 298556679 87574091 54032603 794889373 173259269 551971133 152800175 954678027 14496085 424192021 579486501 787552839 450416881 629323917 329992587 833433727 754791609 205725321 383943575 931469453 239012729 221325587 796161891 125266669 440806369 292935519 693438839 485399241 22877065 915874249 662259647 351833327 423106547 178049237 966928017 766899925 435076999 593780267 994757545 194005917 434159257 749372833 266335535 105490187 962388065 375387697 694846637 581119633 201071105 358037247 692266011 900246085 874846079 139741269 448948949 314267111 88165585 982134953 608488095 217839071 665742027 805944211 219270823 49430585 919112243 504669401 33108613 26785199 831631537 534100835 998848307 51740321 398732757 218677319 752614423 472199187 501541911 726077887 893462525 674066615 169717725 300558897 276728351 66015201 83247723 433244451 868209429 861892757 113286391 781417549 786752997 610933367 666695573 44862599 950317823 420417751 627411531 644739799 416857911 678826925 155928065 566927717 567662793 530843287 523005829 109548681 805850717 3601885 254664853 197497785 729513981 876105069 991168719 829253275 743030303 331733473 848749759 153524219 688728739 274492277 373155539 942698187 702295499 86571283 425241191 167086373 138916165 12172615 182618809 209853775 271876393 446877005 128594423 556953267 825366767 534719999 806808621 749898467 829419649 758507753 591144025 413342365 431003435 322548023 484250457 78075585 294527137 864645825 666242807 222326109 748166655 655886087 501094119 817834147 757007055 60480049 199676861 494332911 406317051 879068171 421797887 667680963 106748631 211312399 449895187 345028555 517168675 841419611 30881357 10416601 734077701 209425335 941271523 618363627 44281863 376147091 29832697 207587619 652099103 363261189 834617751 509998027 255265707 955446221 644908463 453095511 643816305 38503505 479549467 778319203 148322717 271765409 819360921 742526897 962741445 664369011 595674071 409999661 649351911 817513769 298586721 317525995 422293605 988759241 801428915 594988835 300511505 724057089 888504111 693431869 911643421 650040619 918576927 649813953 967097381 855199811 337595825 83868773 693059123 681867251 439449599 142987265 282751151 647431305 386259723 55126681 827472755 500295931 932632767 444416345 344440247 934917611 401652973 553632661 735984423 879028381 290929739 196986823 29886665 564291587 989803389 464175251 630875159 447854515 832280587 256337859 994519535 858240749 707938151 529057101 675877777 43275159 452171241 578387529 767591855 627504451 332955603 594619899 903087965 509993509 682979407 805485777 226045719 316949533 188929647 90281307 583233477 169198515 77638185 495044437 408035761 902757655 30861665 749591715 621429139 694272799 940181727 429098065 677811077 266211401 542240083 604443535 890268687 464355775 84239451 760274619 609680159 347450446 201819507 37769817 108532487 990200689 358507271 993139731 981460359 141560387 123162983 179811259 847749825 297212557 964050381 722623565 68630599 299519933 98702171 530042605 153152523 176429547 631191065 752805351 846496619 477709529 562087415 289907629 123262507 638802153 67337169 127012825 909522811 937297455 287855209 302278705 369703663 670314335 328115555 549330335 416891779 959322331 71867477 746265397 692442781 332852647 704459193 699935537 2100491 25130101 184973291 851176947 936351747 304467611 688871993 599182601 50819615 335784217 539424721 430224421 107873383 222382487 323071695 158326305 623825735 827089761 500852019 213694979 492624789 127601777 359454695 215522805 150835087 426270309 211789243 650516553 489082327 212330373 230059113 178700413 808946815 118427585 400308115 977725491 596332534 458967471 6310847 687878709 903794721 116580749 322142051 743500151 796815679 925318725 246825429 379901971 667559169 401267301 517635159 300087889 160136059 349143845 865872657 614732695 787687463 951503203 190679063 308219769 963980017 422106277 855088225 310423221 126014239 111715359 998538959 405702189 455576683 733378467 97017133 897779691 742947315 435757747 408306985 841658403 867654967 59919735 62134623 695479345 57312041 342395837 692420175 249846679 637249821 963278331 41007459 635314945 732862417 100413009 532199401 224298819 217140327 410336649 84955167 706730071 668922735 109648911 920669219 455502433 267717087 569770747 797743361 778833579 609614865 658360589 324577191 398544043 205632719 277121451 90715121 970224889 33558081 94514149 192225695 643977817 738602751 12425587 384131416 295882935 45829895 963888051 306291635 783855143 676021949 33584303 999237669 587957221 141594093 962754065 70372367 177425233 371503311 803765301 270791099 573356791 564773119 445149463 418578267 191497611 711316099 220799329 742852105 410136299 234136263 440073057 453747909 476281621 581125535 956461071 583459191 458709817 184702541 678146569 494919155 425677991 837178481 966140055 381271279 656705499 478754075 197460135 776623375 1123705 883043775 808880081 257601501 836312909 954885949 430945621 97498311 657549129 532138199 336611099 333058599 830867591 727025979 730073777 698712641 44430413 904320895 91827789 403355707 212279555 279617057 695411151 693447977 521756993 308623363 148858817 180713729 14107837 51932535 458977871 39958951 601963357 459906861 630950993 889141731 339127341 148960071 703794759 940152935 777098847 789594697 404566871 781254861 172700751 60310557 712291409 94276243 329439869 991639325 687463597 606808101 127308441 617885443 435409801 35311061 161815157 180569077 947196589 553642713 233453833 633567617 922813321 384086101 451943805 344507291 85163569 379686993 267850265 126743969 389571689 186864319 779854161 642078041 247568533 330785399 140272319 50580463 132314821 666392637 78666793 370696441 304497583 863721911 198217337 435895667 133934517 222113911 482938051 260598981 989911005 235629305 416275265 25121721 25968853 524258201 536313941 756418437 297526773 148743589 747031949 930472137 124231231 540876877 75824795 60275847 36796245 845558185 949866587 700342063 789841035 328546749 924070863 635232659 800509909 951790959 950297381 166266867 446140627 770647953 353803435 191347443 577495503 979850717 187292129 718686879 718788789 326450165 662247017 168967535 541582365 835405409 759487757 527562047 248548421 526568851 904907459 151214677 887543321 102045923 704569251 222642269 100551203 397106579 675207665 963336043 969802653 574415309 239589657 108007681 762410341 832113569 564492463 458488063 90613507 181448201 419111277 435609781 576987045 976178151 316161079 16984535 13087525 776115459 469216023 81251205 167664897 694020877 25634371 595008321 816027485 494365345 775797011 705067513 533231629 410061375 647485709 232862979 167720327 275022673 220232921 404311325 704085481 758820647 250397005 796736873 129172473 636214267 78316643 278615673 802208299 821070319 693108799 786615615 765253009 3959305 410523181 372215321 387048173 975102271 145724829 435319243 802530727 65068903 668082479 600786053 550701771 861406787 35612577 407106265 90738707 781656189 335375587 903746247 639401183 203584165 512297221 696509619 590258483 794049077 689845573 360811627 336180929 894637709 234410755 112936483 891365855 553469945 662085837 500359035 473135757 567465127 640072531 238596211 162175857 513610163 408403573 952355453 317182683 151550493 441922099 100332397 11808195 950534605 33238967 126000769 526906567 646373527 400964697 412797275 317579055 247400243 640458895 945760013 807938539 910362691 867040513 738098439 222918799 249925965 65314679 346485291 239037535 823325637 81600483 485633467 756922173 564898309 841234789 23470183 139668669 609133133 238657341 624799553 328121109 704474567 650462679 384283337 443448867 814282625 935254981 40669667 918188141 476125049 227913925 189186267 420789285 69005709 118254777 81384553 740303907 256403081 68804267 592885929 574399715 780632347 380476879 497599521 414543757 477319903 379740289 151867581 964413171 332980051 997769027 474954451 968524425 194596581 824781761 831520287 337215855 306707939 149088205 603716807 962699631 674580357 11748965 687879769 860373491 827635439 169971371 913819851 222740247 210760235 806878953 395006327 959832217 884028711 602405779 950225957 990882015 971989181 649400389 494667265 268417017 65066417 633278147 275921571 31665311 366958505 469637621 971733251 825967407 857424953 697350897 639921291 353670321 406106585 541881841 489874437 776705493 950069481 500069209 502211753 287178735 323461811 263729843 705422099 170243075 24615529 779118003 967654985 800874421 632315939 780050229 126536373 397133395 669717989 658117693 795257137 951157209 556302485 479428851 206680567 578289123 117659911 554301357 190683565 623454903 211971825 380669413 125717601 387607111 785385975 616191807 520868999 308477227 245203617 920807047 70258685 916682655 69881185 728787117 238613257 130036363 950747537 28418001 866369367 144419457 968299631 30908977 543750397 385009845 432627751 710147389 427687801 824388103 110085835 539905669 144447661 52191743 244767569 630548677 118206955 8951245 57154717 170377441 566543587 179907399 553712247 693773029 246629047 99561453 247252113 223246083 950591209 3252709 218855299 810728597 147382377 341525759 939130833 399865633 926995593 581752755 914624737 687641937 610490889 665931295 461123589 346968055 638804493 79249675 376909175 387249934 412561699 55223013 794260825 340036799 791751743 681671879 531880115 457265229 508534719 222423405 790627447 428463921 263629927 529328193 516836989 516274181 182443111 595828817 710955143 509378443 134516307 238851923 874888511 875689903 469444135 616080041 962504501 87667843 331814987 237444697 104279013 955901253 86229641 855073809 127048363 782914901 956310807 32303145 444569557 762816321 54308245 113355937 424232851 295933371 145084421 759269919 329105149 458677407 163777493 499881205 632075541 977501679 732416219 397277719 935861189 166115031 322610773 990668837 148246749 900348587 655257575 955238503 16590615 265965027 910725789 178552269 750839061 219026215 292981743 185765357 526743135 734518335 651164345 709664775 411420773 248406815 495722561 668086785 296680835 678298851 849528113 202325355 214734841 597096653 553741475 352373885 273574129 747957067 511874833 829066517 133728635 847993579 516217697 963398075 587440017 817095021 169893345 211439261 111053077 185546419 419188037 564847765 700459213 554621383 413543853 398457375 865567599 832493535 212559257 496327269 212721297 126709075 871914749 604893235 986105269 766517415 689146409 998542085 393389379 373418375 22772443 433323511 541240207 324057543 368340795 264125647 707047377 971443297 71111891 205108479 25508651 827855481 771504539 267888285 121923491 651771483 169266925 832331113 640980271 56707703 293867155 931061707 464264357 567624811 644367285 322297295 780356805 102290939 837297645 18508847 894577981 990812175 12170291 218505035 811499419 368807359 916434417 218918439 792882777 202903361 576496115 711183733 222368727 94620922 818987885 630097545 399815519 345390199 355368701 999709287 193676837 91380075 485920169 564911795 117247039 579386543 331036125 131401917 269072301 676995913 7216751 667314301 934524765 740261731 987905435 315103121 38825501 956774735 465231879 759057985 610730917 417768585 981035459 579087483 250763673 660508343 675409215 842473177 752475779 893207199 745228893 950151063 451204817 876953401 513646431 601577375 729151455 680065695 271557107 541249917 25244907 151349523 846708783 85096045 756197923 294074879 699214737 517011273 570978197 556230907 424811517 760905629 746293305 234988733 773918911 561599637 57901811 408700461 143878543 593576969 615209357 627045715 324206473 144860025 423024565 186645091 269104691 70844683 814850053 865649847 612799095 110566545 452595457 655360469 546549679 607747711 519004687 854568551 791830165 93931765 95615619 90926913 619309135 157863099 174968467 875674715 390518635 623942721 909967971 904378333 770156255 456127645 717019901 730107663 807661317 971111565 432191311 571618149 952646309 325892477 766818099 337134971 601961451 988547191 510919789 78309395 378022765 639511347 999217571 354625305 531476777 709224211 799941991 782216865 173163905 755859485 746391861 182145509 498843205 606580223 581144171 419860553 533564331 479688979 639711571 591792215 545827663 395260245 976135711 103956675 581966133 158884207 281815015 350247273 118905549 72693167 813224877 409056331 447363049 197732107 468144477 374177431 650000329 664353827 408963779 142698907 199770129 674924097 750316187 691202009 993767887 725334097 14185863 593091565 46141047 667640811 3076879 384910761 712223463 234920527 214417573 283560187 102251109 286223715 353399457 239009025 400405917 59080889 72678215 88398591 161878437 781550725 653764541 592047965 296048889 974633639 171293461 395335345 984196735 364743591 173967689 451329205 723679367 356812725 985785403 147269453 808147905 590955431 855292595 952313221 197360719 261203451 472780643 630488719 72975027 246001627 455476707 327837893 570356443 519744532 289234869 918224555 286005533 246270497 160631107 110374895 912213815 173481245 398736605 68191329 597411149 545791185 237800381 913975551 284635885 554478763 101011205 408628969 349097483 373762755 257009852 372939883 757990915 695068379 382331093 511404027 472535711 92358997 796023339 216322355 144988425 65649733 166460795 93297107 668640469 385501279 317915761 199025867 975716101 220342277 256276125 684689707 296257273 915121723 350353529 122543921 425550209 716585395 28404837 443047229 265114577 55842243 881745325 237424861 982230665 914557291 349215617 771078595 842429609 263694931 272563705 387934923 754109093 850091975 858855703 270075639 834902349 732336577 62716355 129503857 6327519 482691039 35311825 805804433 205731331 747963497 297205241 135478735 625091267 901286735 552547037 575952077 997213079 761069863 960947715 516646745 376429659 553131567 115915745 450382949 652584787 536465233 621340621 345951757 54259759 743720731 257008905 121269395 347700481 43856069 675396541 26928483 116911945 954603309 946657277 852870161 163401963 94031833 294358721 871468885 654760757 584952317 561233643 660595223 429352923 217803627 983804993 354964063 410749435 969797541 463247481 918238305 64708891 402871507 537597991 934730105 991687207 618904771 778336721 171450667 678783093 190906347 254953695 467720223 940006081 839854699 765568161 78360363 757524531 556864781 856621391 424968265 134706517 777207357 935010063 895321499 627553055 188540179 391913701 29144177 968782315 72945231 667988933 937291833 37299841 294907223 692196745 942045585 984861967 803154235 617861617 142500157 617618983 991178675 244363173 858251557 489010121 110030877 860960569 288393567 23492697 502187137 171565605 761655589 330895267 149261455 477107657 51790811 158663135 729978013 50127983 103462411 48454825 741384873 276295241 977863787 32641543 374237533 191434865 852410579 37706595 154377991 720944103 561149257 34879639 613609119 563045523 873750261 756043485 425388739 193265225 186187565 621770717 37316281 928743871 132483693 767278241 538813301 473365913 305185109 7220383 582622857 150336865 316328369 624724661 900357431 351330949 852469111 237531689 462784359 5854047 409360319 781408681 723413669 575794739 631982543 560681031 646790445 774597671 918290961 501720193 285913817 332482639 31300887 85115711 676906037 212168865 439527069 284173515 468243821 559791361 638399625 675188189 249743705 31775799 536202211 21759121 161604215 97829109 521170397 130459499 913946611 718382805 177738967 617775195 269476503 303697749 95377233 369153971 654889949 1114337 841209079 992822579 922055395 66172875 72577947 864842495 566373745 290364745 800661563 380184229 830628087 63446655 555645431 829452825 98655113 556359541 889580317 771732155 39195371 798187037 893918239 824963147 905048961 203540305 777260697 482647547 73319771 52620751 901322829 554187103 196972335 866748227 119581735 582968693 83032927 618468157 142000441 617209759 614061809 828534329 525547457 710772397 705289363 190583957 645421601 790539221 939229597 18484635 824478179 768857011 338315023 936581755 527450299 76111691 426053777 474995539 773520773 36570379 343342449 417050655 617243971 935085515 12016037 64343499 152525857 600029123 710312653 135432999 554050163 54752669 187107635 128727021 958707123 221069157 577393347 46959551 862964099 970999695 994399765 689068325 550839987 859710457 443392359 496929425 448719921 792568553 352976805 206877531 102588955 970826761 197455705 91925701 242525363 665522547 239193533 439701241 155356007 187116705 524956591 606715911 978845637 256769915 822376631 413421289 228324495 102715723 71274499 146541697 294175393 965227463 140020589 488242327 860887565 785495565 915994739 905893595 858707713 294357923 585454905 148406249 540792027 6187383 868233107 331635265 24274719 943682267 990977527 145134925 382467189 639232653 900281987 390960733 104396211 592958901 831953917 702941611 256254165 757967583 39250135 641820505 158788091 173739773 273386537 5734511 503252593 932921457 831160495 401372637 368040877 453139455 262641617 847047551 141357639 49202641 106892961 735619349 172431621 513644673 775266003 418224457 111870927 153878025 531438025 5790891 608267453 335514319 906510727 839605941 828282629 685120161 57838015 400474823 484803597 486825907 325910215 244977965 941835361 255377827 907987103 194541077 961127091 551959671 219574765 323466395 263118045 382871451 598443777 506410943 978029285 377653477 867530963 211714411 759624181 70058385 475884033 732786543 278989663 750582087 735859155 367267971 94655905 344971537 573809975 418563917 528633691 218592359 568374727 706757457 177391707 785818661 175576257 158911493 699966099 815391119 191908873 252948925 235224861 980826963 644064563 924586175 124263231 484283017 343079029 112973363 151801187 785826729 253232555 10341161 699400221 690156957 408348513 885076889 969065767 964020401 720984003 296096617 981346915 788485529 45728171 267998557 330422495 376829555 382019989 542259241 938680781 17112005 694398633 941967207 518407561 857673595 527161273 678221975 688148629 913148905 180727353 925690401 240907421 359151825 787198793 727102041 936898421 505792595 798211251 394324597 881349143 62278655 177954785 679461787 880215973 86490569 83293423 507660751 460635247 542236433 970995099 336884485 90593507 362871193 42749515 908503575 440216223 625419407 185471247 846440387 600444773 80706953 461995679 226583479 827080737 105773957 83327833 132458879 146334695 919784423 943871045 124648345 353330929 775875963 632947219 48534115 752586659 935620985 428101655 957315367 160109447 380054653 411183445 199757591 508006995 737091467 235113841 519965261 114033375 992668947 187255225 909179079 926597679 535986665 367215657 319772017 304631409 708667465 772929117 774145821 853212660 354970329 627208347 750097793 523452471 773849511 583420117 326923329 829036763 155505959 467666339 474353127 293192363 632243511 193067329 383476961 610257053 393914909 952853143 31775881 154115785 669630853 723088951 161889313 937687413 478814085 593755989 642854867 343192073 77106073 300285137 36941233 912416795 242205097 242386995 884838065 572871271 153845503 747580075 620878263 516857293 865211731 861835279 214164107 448959065 928229825 837775327 216222943 237710913 256258509 140422721 246378315 246918367 159884389 424161541 173648467 479974323 841206497 892977315 238914909 683346797 24084475 195451193 598789051 393399517 126877401 542938511 431771559 879187969 34971143 747380755 620428099 131730681 158739069 989635551 692695959 940543251 482798743 574190511 813682581 734630849 476966683 639483117 572027157 955626909 13074997 880736935 983712217 67821933 647701627 67228819 184572555 829831451 418844649 942664211 621810621 371090107 765501669 121611563 845032165 173185925 377293629 950303119 984573285 663785697 104458535 611251601 368769417 800217431 332704829 27221811 307719041 775615387 605312135 605753115 730880613 569879943 338282867 251344283 258015543 121575713 118727891 767125415 483218913 406083986 161658343 342633439 315992627 287424561 664276049 109254539 488882919 892628341 921492771 408426395 275121823 557477377 723106767 496864677 206192867 306280869 322885939 205561577 118104867 18196559 390395027 273901389 828956091 881062685 486984863 893943905 675869931 592293713 537753193 970025053 241784797 946860887 296302195 700636447 843650464 182446019 523362205 421456175 932110897 267582543 749812279 923492027 183986543 978085597 556955381 418243229 466960417 57705597 962247669 759690577 133876989 428837469 517377469 385562625 342620057 702416603 453718585 691581817 407926135 557238393 224762303 955049781 321727233 623688933 826946573 740467791 340496007 519239663 818857797 708712595 327125825 805884563 756632825 356876141 421832277 782627317 497176857 843859701 113698247 43644511 653011207 520406251 41422221 657131591 610065541 952991159 380463229 724786501 142953667 225288549 900886361 215508765 756231507 903305391 459446217 26318525 578458933 70932979 799012705 412907829 843923405 734735419 102369945 168468161 96718825 70342193 888133585 73790917 742877885 265231153 180746837 876858317 21953255 35225657 628461907 59301515 657381741 297212655 837609191 785445593 466369723 659542179 956564751 605274557 386948005 851814221 936584889 899338591 394119277 548139147 33171123 784229909 12357043 904502949 491159733 882900315 889000327 109483913 461293157 713468625 878862431 640751569 248909895 662266181 553794069 597432249 160339151 323682729 27110129 122327083 19453271 274613271 691068065 55872435 667229983 546955989 438690615 153916813 67097167 4083021 555732019 736851091 549753595 310239505 399277431 792311377 756790809 931274463 413535317 785183219 386845325 735098263 815351423 299916625 334168609 140881735 510246675 564333035 635801731 534273569 580832149 533459431 236162637 733892481 857424117 57366295 3259907 132387049 904043655 573909999 861522699 443942149 881925383 979320975 841794745 249159335 973283227 553221567 838871363 382405581 393175761 802826223 466476749 168732311 314087837 809271861 425695329 818686035 523353695 623414095 801425645 37578357 717797847 200553639 654486091 882848147 396659257 370978123 188675647 535440503 754624533 416948979 63937903 485330695 307931497 5500157 622657133 387078487 370345117 756621681 710094517 968560293 183617403 958240253 278411173 741702739 459864123 206249723 942526855 900568299 766708345 43433063 248617101 212696353 741146169 586318571 83286479 528093905 689398505 744608979 650659921 574381055 454519393 303998235 592947193 527160787 893507547 895189597 637991065 986404259 584232189 799799269 171427563 949973481 864920789 485055647 446883217 253573449 775323863 594870307 440284179 279380877 955844065 537421745 98423779 180271275 259389241 301054255 495738201 440127419 610939787 59552303 452330681 560766977 77478379 880505061 290310953 356863467 363551963 366789937 877834683 642161161 248998203 712265115 889197161 740667415 897978715 789806675 859510549 869752313 122755569 359377455 600540807 379501753 121440535 166090669 547766129 344509325 646374231 959696375 914275691 850226381 452562585 734476251 323599863 131163391 242467125 943289041 784052607 182239179 693909737 899120119 32735315 398261513 991645145 608489235 31497645 42328495 260339089 760129433 32431 972786403 498319881 790065563 95436129 825315057 519335069 161667805 3477941 698088523 269810963 156703169 604065923 449026187 95895701 230060123 925240973 338290551 550549181 607482719 944512893 249342967 65953925 990041391 94826723 685144867 103586643 401846479 421880633 121551153 510612469 341081841 752603871 477062281 706659745 436733675 889467681 246496945 852957937 957832637 478794543 367189345 650509549 693114125 405411617 84373363 484109313 344522797 997239545 489649641 628891395 694630673 136434079 889397999 918808625 998990681 880227817 327594711 863185455 586964813 939541897 891262239 544355593 191029469 796911655 862095719 861666615 106301087 31801929 694324349 863656595 297090769 370667615 75184979 14845799 831609437 949199301 517656581 895698779 974330833 574659003 181431509 187707017 219317349 949512299 251159855 463738987 565272821 103450083 949682855 707660519 776814349 582632737 369959415 839586123 808736219 963239173 485106691 21926731 503697203 47557461 118235861 444677125 898844311 171689927 486714529 769435391 73452079 429493999 792047811 95989541 881282503 884706643 705101501 476451789 295785435 406179931 266489659 610731955 360215685 740128087 832843025 755694589 260884625 285424767 554027577 49634619 21431403 62636025 933996247 404051549 669668651 272735945 83751989 689755589 605930385 898834917 845217223 946032693 494000387 857263905 410949163 22224347 106415249 104332355 983666719 499547983 378417139 662919153 891312529 387370121 595840647 329497791 84593813 198374387 503109717 873167397 43908709 62764889 408374029 858143619 351971941 863242991 334233349 745061667 274024225 46263379 995451963 656525625 622517065 628003209 269252953 25781977 403735229 413185537 163105453 535692553 896920443 120641935 953219375 91514799 433941683 89583471 968050045 58729119 981105589 602765127 343319773 951555215 919430909 812284452 510521923 532213797 898978607 551953279 692250433 356030693 943533079 955858479 513265945 325696579 587510693 581116797 920982963 639946393 414708985 35127829 410924699 573744165 685014355 202125581 952149005 115047955 143724829 577893603 153247203 984951157 79571181 974125691 681947817 19479105 843208319 17365025 615959689 835678299 446337971 627633805 146738785 514566797 817652119 457747419 405388457 54560133 877867869 682145423 394053775 926730973 771856735 400891545 132135133 534020631 488836131 185736779 593453837 462992799 269120851 449253733 422798909 97609153 359815361 825387019 931878453 56882105 578357099 731943371 156349541 829665449 659127409 670035609 225152225 799514267 152230945 337930707 2226029 798812539 807509741 949445951 690530413 401754665 650231921 957558793 672336881 266512737 101269615 645158855 955666095 456439503 248331219 994642805 929660169 664006661 186922417 352959099 134308356 709813113 122021441 576947619 623139409 571164559 309992939 612241957 813216581 209328527 419264055 471255195 320368609 934142635 176305369 571768335 268456909 467681531 15067821 673899241 648630871 705933953 205073589 214308865 18013557 960692263 986409757 617052053 71552199 159995069 81944121 136195145 759170199 649324541 529488259 129529898 796195023 456040329 511271071 626161071 751517707 688926697 244731479 444876979 856302217 922967439 480702879 20178811 764571441 216941523 764960403 87321015 300261519 916754935 818630519 170063227 494735325 254401573 835898803 243446339 729385465 953278573 354915037 820905461 582997099 463952329 22725039 521943519 827826785 165806875 220721421 544077239 817166773 298925099 961712897 776796823 158075875 169187497 792272321 784294407 594041109 514623795 781660325 593955571 264738585 689896005 291578673 943568049 675422823 781204809 442785299 799990271 660563739 578779027 366966299 360554497 307352065 48739675 700902725 404759875 552762245 818722499 110897589 842672317 811794113 859094227 800400055 449832139 330691185 706010747 76790715 153706545 242910717 541762455 546585953 83417887 521427063 149344743 148575847 359176743 639274899 375584277 149252797 174780233 614777523 598797489 30786163 800078059 757266907 979197749 559442629 234208981 210309309 296503041 566285593 735851843 282892207 240225889 291467765 441689037 776475313 158274434 74910225 17480315 186637417 290420611 170414407 378634425 455992103 530842977 488971671 696531037 655247331 17520391 528988209 714158755 260003131 677421637 145036391 794591027 920900215 461025237 332206769 104616215 46015109 767205463 923576247 160891847 683224831 738228053 203914559 536444957 919503649 681553475 720659265 155059553 905028821 957233015 877039831 52597825 423162281 6650161 998390083 241035215 725920213 138802847 579051249 763330699 567656245 973382351 174098035 976226649 215140949 331392953 309587335 157485191 483945825 101432131 696874511 186701513 250950961 533810737 371436821 637362237 827593799 443001655 701536205 322314599 738400197 735850991 216046225 78190135 224252543 863132633 276986345 196194049 639959529 246016349 295232379 893317505 146531107 784194767 20904731 881671647 698223093 339162983 100243911 932453797 956416463 383163973 889387169 882478281 217235655 608313715 378097651 26712745 814985885 692127459 377454129 785581325 614189495 991452015 594867447 991738141 897111077 807007701 314434567 751719025 812458143 436847043 115206735 452736519 321555331 216525509 589429983 177412929 305203161 269690201 419066867 336185585 368844369 389229533 368375277 627441737 509517375 292883355 885144669 348979173 127601319 193433541 181166321 27769551 292091691 645244533 691330183 564812145 823628063 224273321 686517283 957589663 529316985 384931919 651785709 125254809 515930837 483533107 245983803 230546947 937945215 270581267 870002823 244610283 567615331 27835533 506454133 916223943 707834393 283716395 388094161 440413297 472533219 431872607 825534091 200174385 840276643 535759233 997864385 320607155 171107307 243318229 78314679 641529357 988543477 553666433 738943191 537720763 438342555 281774231 590807987 921835685 482452583 67761681 413443591 741175317 945642377 438096593 56102071 621288899 238610647 340979871 780657615 802755785 803608529 219330861 416516481 800233137 233349277 746114325 770641191 740562019 389639435 835957973 902910023 442734903 162918803 912581081 613409161 161405931 766710867 501622129 521357765 126137763 979306003 423789529 359046897 288819949 580619585 970298669 171787061 76720829 669632247 306180219 533941719 932350833 673134577 520144563 228397135 613855183 714088345 823714221 456291639 324248067 213282045 200232236 255732561 791729825 941599699 451873241 889280647 969225643 416740733 224233539 282295025 546552705 389710847 400349669 862364103 99006963 708913419 752733729 475507819 300592439 233445625 379854655 981089643 944496359 784252357 676756847 77983609 71717131 284727319 36986829 371684465 475413775 956475457 421249369 649867349 761212107 363687223 675500029 742627921 315005303 683053977 727553417 191007159 984856765 256453807 128104121 169832709 573056937 55736169 384527401 127122141 991036845 286252893 767151463 613972745 1087403 986844619 804080611 438484349 822465767 277801113 67525109 597949781 129832461 195535702 603586527 503093203 316154929 327787581 870450889 53036899 363517395 768948009 59040711 264597145 864997847 90010785 30909649 402839855 711231115 168331993 642291657 330079497 435304613 847260323 728337783 969816881 56708671 14896259 566813323 995702491 48074721 637431709 955287713 681345125 524742519 256102591 132344633 272094797 696462167 479667557 876463805 11218497 248145725 68233385 568342909 855911445 763853649 470582359 302207155 523429571 813500701 766351323 300369279 491240303 988203673 548092237 912843245 247581285 575488289 656246381 483421675 860441621 768574585 50870691 249007701 598694429 653738446 224244987 836561899 148608577 15644347 337018671 405274196 658565993 120983095 32755357 449895719 44308651 544862121 992235599 260906713 730276419 670483933 354322159 369294283 978780305 500562957 653620185 720417097 533234977 757783761 238664203 562751105 874302377 786508079 986650923 244854159 36138241 278457751 694231177 819115123 16778287 244571869 779097629 402391061 635469661 920631101 346664837 48414025 226498269 278644063 404990729 300219847 111968811 662230349 712729751 277900079 840931053 816985981 110792903 633933835 488438249 5751247 598643675 559808717 353895959 190843013 990935221 124790479 316296081 260842317 177649129 700586321 976344215 728810559 363410093 404622459 100813465 803124435 183804381 807657057 510321961 756572915 451396357 848542201 594640639 269732331 69409105 888496169 663300355 105785711 69909145 462171317 853329723 10213531 750361181 619285329 684963807 563524345 432207043 455558295 406769225 337716595 402834845 727561989 380451835 912939869 222403935 642416647 168753057 778063223 659489833 838016239 865400847 501775591 756444355 211606517 173138749 14928439 262786973 289111865 727804243 944547421 852107213 2228677 87893401 218354615 630299153 994743435 847558019 751859979 998576595 716900195 15121837 722409093 804445729 720026129 558911193 938341563 451568307 118102331 721533171 851214251 399432935 996060533 795314703 362268087 874140357 783762485 561293671 660678321 232074235 41881823 540375133 62254283 362183907 861075899 51602305 917575073 690001273 790668027 928820609 814750525 403307623 350427063 960134715 656046855 852127737 297151219 288046513 867074265 515608363 46879893 63524111 529863147 534143127 370783855 560551849 571045351 428703113 698210109 301344761 360761305 648700141 502846875 738609315 173565749 53958747 350293271 407676787 65937627 58561299 799146273 730391641 996032523 989690107 138984979 646725747 583161207 109822373 33799211 331073797 660488755 777249605 136019093 884669559 115158715 452857275 993136225 68834143 701967863 140046735 60255113 785112439 640818225 939199729 680475119 972300963 221386783 535012533 784851035 641378287 474551265 565644639 576668543 779857547 161226745 380214803 764116723 544770263 82921559 234821537 509455929 688917329 211182925 463221121 824892859 105555369 867927707 510505681 752537545 939285935 937184867 755872087 354408351 342335071 48793655 646400647 296027737 329608927 530833417 363345523 29273605 323562357 686218551 35644637 98813587 747126937 298438533 948891181 625620187 565492707 512046115 238031985 171271071 42058521 932639909 872485471 455721097 889059109 119911943 93178457 16917801 141474585 653894063 346509155 40392185 462798643 892743787 800885807 960879963 804512723 962311023 188710931 357115029 961153671 381990747 607177743 524625629 587546369 427548977 860286409 830163529 501123099 436479327 880157843 745743579 759105755 862598331 791451233 42048893 326637931 612539779 262714067 109039359 850471455 592348761 36050993 561337627 665640559 886140751 951680619 848797041 688953347 395092181 399530005 155904141 317938595 367381709 791018355 35068637 278850627 951372153 862417768 169624509 800190975 986866825 244388999 670607981 769796889 890826767 876046853 570270487 829917437 475608459 482628287 435131339 216672573 771342561 129377345 236264321 78205079 61649759 20970935 682222879 425015789 550782649 87368955 867073129 27931465 138591247 597674377 534138645 891975903 452141793 926889355 840345529 266616843 387874337 743606477 236272341 893256271 233395491 902127051 549074391 677161561 744686757 712819359 512869901 568547575 977678281 122573845 769608625 658172969 257652511 851535001 534448867 170026513 275941789 553148739 481794733 443724281 529181597 445578963 369826307 349098327 514224105 260817583 151225529 736477379 225058985 29946343 237624981 612468481 759866997 279214131 968066623 134614015 613408075 566650609 650783301 554249165 830508431 39063592 144941605 512094631 293233933 262418827 556467517 788553969 626758141 337899373 279066073 440885301 136482811 678530509 955663399 934638633 842066189 36458837 222774081 287465637 312838303 613915219 766897195 930092463 557058693 243664831 959920331 871300719 999074817 273100853 954256629 65076795 1444019 110414081 123333985 516422029 382402987 677708561 588108975 895623435 941674589 782309369 311269993 296434811 929105321 843898619 8430081 553744341 711120081 723709439 725329361 602345009 681188995 743828113 733802519 813322965 668424149 687848173 917779967 263253035 185703237 957363949 344474267 904643269 9534901 32015643 978293219 57270367 21643639 289772455 605609399 430852319 33630523 677540711 236887777 62977355 370846499 831012059 901228563 152916187 244572083 739280169 248499941 642701801 996161237 64087843 288385243 222661367 545998563 226782781 58882139 607352751 657213335 420117399 926288311 963622889 379001111 895172857 982077995 801193115 682533617 49896913 302621397 749866733 206334745 983559225 420095935 517705511 851346669 247893487 382671067 307215293 217979955 670742361 469649153 549881417 114536471 505785989 573481203 683306643 279411247 245460527 939974747 534009215 513290103 798061235 967997131 550267943 555955543 293039897 701331129 432818371 669169305 451589135 508543625 390356405 144008819 491112685 75902851 165630603 277300613 340614323 88734425 792407289 912999120 853399817 761332899 107858389 363636423 634332987 324422883 274762281 170460729 295983429 230933123 402998811 761727847 646572737 805808723 563031553 507214069 720016889 365015055 709159763 71994095 859863261 859022163 31823801 938823117 77543427 601179821 979478523 704071019 699641771 172457101 362314511 901818895 335787195 942806091 237119757 187246437 210446789 813419817 453511737 858460545 976181243 172939601 994540031 583661029 65775683 466006227 670453747 265229425 570118687 328750763 664557775 732789877 314743999 561968053 701830519 610625957 481470973 658307519 271252983 698829089 149067605 203883641 60637823 424545899 286948593 875410043 976054381 75961969 217208479 188941383 791340869 307005065 854305495 938134343 866856367 766613873 565936565 379266251 427432065 86709835 326375941 362300173 386592693 892106665 762023987 52108333 447423345 882207869 639057753 596585271 434256635 439472933 184482355 942241561 807276491 299282533 950772777 313494959 414140537 902462573 580719181 449335993 298457035 19693519 898417747 401106145 555845545 778698891 273986971 621997751 562674217 848697093 717097519 834619829 260189831 32511755 725987259 865457467 189442083 932239569 294772887 453649813 375350155 167259127 609145025 204872435 20799345 970785405 493463269 612511851 653134255 11526613 87814477 384198915 412208715 125424595 823199475 697726115 483413103 853978549 675402869 112141083 253749613 807395613 637686043 321917733 192761795 103903517 739349459 992256865 524725777 458859301 801950263 841176923 382615589 49499671 694346627 839478913 355395057 62930741 277560737 937548079 93082767 884030255 608052255 315669925 889938245 75601175 36972339 214784267 905857149 703912813 945131199 507606133 717040843 822181141 976400713 370591195 680569831 420100187 507387135 642105117 430677433 222615543 771828921 124044037 721534281 108536325 615509751 513489991 172712907 204089099 731388641 931368055 160304027 220049653 349189955 340525339 956482363 548317721 189465497 111433881 594131031 223668787 17306877 855551301 811520195 476293481 463870265 527399511 792506745 522289993 635238845 259134703 646241691 121217481 853022879 515139863 371870071 985021507 50968991 614005441 479770497 10744447 891548451 465568967 263787857 241883561 629943099 972946921 79533227 155840857 747934367 586338767 241382523 505179783 835726253 889723917 369266133 422587549 281597293 82200857 855631603 626390629 596214925 105147735 88146489 209707799 932219495 795372559 303272753 630671183 589719033 90500723 158547855 854742035 321454311 535805085 55870513 175170509 465074821 693012621 54761493 98399575 855577289 231298859 471941481 710386411 624521551 147044169 717899393 119148847 461354595 186728611 409713881 636242481 815824369 893966039 681110033 68674149 532822673 29427311 472483573 625329065 658920067 693421533 736076411 614585923 125383855 453134969 575417531 862560735 999504289 394533255 331948025 302819475 99573907 508392749 11750307 107158493 117546085 729237885 193093961 357926303 362022043 498799475 194379687 90524459 71238247 156421099 813246371 861811249 986412447 393341109 188429635 923946451 662285763 326370171 404037823 352308627 326167289 111034589 980053871 607584353 672167697 339708759 411643609 806065551 555396227 501618261 114329511 612036573 361743725 406482727 829719211 462865519 629678743 170309641 330839523 266325459 904928879 433625367 768257391 445584637 90823183 533534559 729490077 963651147 167910963 14452689 846092511 256688257 310391876 666375749 369659599 485824463 729692499 757595263 808549683 642591945 317738259 834226468 862875637 693599083 132428519 109680841 903589671 424426525 514771667 221195493 460552199 327017641 994007177 484068571 800011765 677189957 140897889 682709747 729678719 698163089 495888983 637291869 602153815 469861263 55460627 44435253 737633113 227949229 342943975 290167165 179705223 198645953 464373959 312795673 745969933 57683721 859283795 14791393 976320319 59440425 862333907 898331273 466910871 933534765 335790903 833614771 621976503 460951949 857701141 416009707 415970925 367100453 927227565 567762081 900854445 179395385 572671461 682250797 985419149 423318393 177939021 209070289 58909271 60453881 506633755 882842039 869298033 981020981 702991665 404230127 571756401 865454611 298373141 558971251 474088977 824286433 453223159 822930467 236536627 410884179 19483819 683450571 161417703 969699465 329742773 264296985 626692955 595532803 137288503 312028073 861721581 81553589 951696901 833332475 43034655 627960047 774491029 192440441 381615519 25694319 197696259 782215283 94299197 520126813 290617883 120025635 137572597 345983299 694032457 810681001 291871979 474084889 788911013 530817041 425998953 773798201 987922927 59367497 633093603 372875373 402008973 195015213 989081847 926523101 836221585 14589565 906389859 602036259 394595759 629175521 837098007 601731895 338796359 14565101 605639203 927489923 895601761 799910169 594804675 232734163 636221357 29039045 79982939 964198235 16189057 972426301 948761207 230635193 641013213 12111791 495306951 478286579 674348903 166119479 183918379 288411765 813395055 345688021 908775073 88739349 97476845 32618353 899704665 872599055 297711231 395842015 259826595 45183753 627490155 690451671 684302077 818071315 403176869 895334905 356972295 515309725 346373055 664709071 408498319 632689033 447559677 316873933 499882629 12366361 779712833 445665863 410802441 246188027 717095967 845981059 318671451 107608901 644805067 941272743 697728487 38504821 967053095 768949191 373465407 851154031 636318137 897639899 985790753 663417215 233077935 570204099 918955117 982852701 750564833 167950665 194660657 417454117 18355919 895511583 402707871 986974813 682567583 575559903 242315537 80369647 60535843 149730311 971694349 485929525 776413391 907036933 366015549 590469609 236088771 629664037 610386805 191972401 358671303 400968869 42335407 809273755 54328139 258074531 581121549 921160989 773925733 78139177 619693789 178993425 529842899 116583977 758017681 107543103 448040703 749565565 964842949 77727955 775878903 690958307 303264059 304651107 19273843 609595143 111304927 264019435 146934993 969611387 499297989 137625299 871893017 238490549 876817447 305160165 10661369 154291225 236014697 772698457 908093643 719860207 229905941 678253259 155957899 827851113 762024415 69116479 699175395 230948769 49594275 800284453 653488415 681854869 697063781 744449359 331131707 911444273 955405389 534612989 497857745 349783621 410234801 671940307 18095405 414357901 515676171 720237279 141128507 517532583 332149759 665298837 878359699 930457117 546251095 654545875 902249077 714485345 735570951 169959135 544502983 423320267 655524653 851738469 271691545 148773789 538798599 971837563 552756643 753252353 498923779 399266461 372143685 252108039 33046709 496604337 97016707 952211115 835886297 73035015 483087247 486154953 321269071 511904335 925707069 598044719 207377699 939530923 26561297 641332621 910520715 127003805 222079535 795986043 560397023 748448787 545366887 130173 903303589 314839395 759890481 768693751 555987845 473078347 259031465 534680897 921808469 750828783 489588635 455032719 528003345 292987613 302959477 479333891 808236249 795755017 663721291 369467049 748688379 805293007 705331935 862268273 634012903 520750585 526614681 215999795 646865725 922082737 264957575 160925873 209400509 930067595 554942815 739616149 606437969 560859017 124316035 452835183 285729041 965998091 662330359 327239865 493911859 497849057 878646637 25459157 456558365 544485183 182885179 998166025 6598235 698383811 312684129 332332171 271456927 598666099 54605956 793060209 781086405 132330685 34923257 242631869 665646543 44674163 431876529 250039641 152152041 323389139 980509261 913417237 470298469 105022085 830079765 396029611 98193857 467278739 248806393 22570683 379639453 991795829 504336269 799967441 825291974 599062791 588053525 186444635 593669425 50581901 491649653 862988213 379252727 481605559 825690941 777129759 756484955 958179223 253797795 871963587 457560265 749633197 166552201 596157873 751209429 948138205 280074613 541411299 687619385 761475957 698794389 246179129 676288471 582564393 516342979 72364927 643863997 435652119 782726779 971088483 377369887 993200837 178149607 172161665 135575893 73903903 299309523 905907801 427671523 683323515 721508283 719949651 446815605 161648021 170147513 611101891 674798815 590530965 313969049 698378464 241417243 610856197 847703749 580463053 22042957 194325723 97562459 470740115 112697279 593520503 839518739 305019425 504881893 204649883 793755739 489203795 90152283 82845047 650611005 295202535 892999653 244370845 319287411 907176075 525649003 688921613 6000475 455173067 70115075 88456491 753909245 78113829 321919207 37698243 873984521 854814455 832888187 931499277 402091989 566577293 88543563 888359333 141295967 219402005 723409671 830588561 285823825 340188587 386181773 338229563 806335481 693527373 98124769 122141053 292038735 318166505 816302635 630894737 487380719 750944075 512876739 379865119 804096805 408157233 693817375 255301937 444589533 916255033 639322341 360695101 276187825 623473133 621803745 405666081 304689373 437693375 372950531 964675107 653270091 111735049 778026859 245222641 673345159 327407625 36770903 900887709 524794827 615614957 719950135 482070437 846609911 26344897 163695771 225224945 65458575 225025923 323897409 468173515 227142341 436742929 638165513 540275179 239930479 517215029 83275521 844921965 313694989 788081825 448957531 69013717 14848965 346021101 648753265 340786451 889407337 61781405 489053129 692242809 346906989 923623703 941634573 757053383 874956017 459457965 234161423 962100257 787074493 314452635 63560653 634821653 412030271 442968831 567068519 27588503 174190993 780263651 909187115 568183303 123241585 52216889 479107723 353663269 372806723 532341209 36708387 2868259 160012059 871049861 122550965 673640597 312134063 675747305 584496429 391348089 282798685 80342417 634918557 945531441 524121643 53094905 335246147 913342349 964250061 725647747 327737217 607808195 664159893 212069239 799360225 34637423 549657477 57073415 343718167 354090901 530528837 482573387 844094207 626893475 749720097 291164485 712998811 431809137 674107157 225927903 822773015 859859255 552087739 545955307 221831111 289675679 565271389 628852767 786601253 565807541 603768043 279824159 576905429 183674861 536570363 892540785 741528993 819067941 756746445 723751819 745461373 265140899 468103751 383946435 944886149 493734673 250134267 443222621 556008701 650937225 384564251 786917501 35190349 145649029 703561357 269673275 133411083 243684077 972347347 823656843 246263793 816928011 599098653 932309583 992833507 191909781 390008901 205440339 109199595 25322409 375212743 361186887 898113855 206064333 588695245 342325699 722130999 68834287 348758053 832355401 805252439 15974497 529651015 832105283 291180877 239263969 589396047 849413121 366594281 537452695 719399433 212697789 287654439 3701263 717538529 632244631 886482219 72617019 124338673 268830107 367169345 897724797 939647989 52710841 896855513 233026201 123344981 547684809 634132881 696329657 600866851 152290189 15851821 930924407 718019859 113505709 190814359 838132173 783054469 295682237 47004641 170577697 729349251 206649397 77192263 736573249 647843513 450325367 355306799 37635169 492985727 448985289 378494239 291782687 996793043 559897697 787844815 97315457 348993375 626359125 584819735 473047283 563242867 824803495 604303101 92532043 588546051 863515711 23177899 354484421 339240367 28545521 790484083 429381385 333638591 93891701 935074515 120501537 569636129 967894123 26098283 527889029 638387567 42125663 420657417 715866127 562725861 611484863 995757727 756521225 552203373 43626215 938271305 188774427 380151957 703980055 348452681 579478623 66759315 833991031 95938059 755456589 105862217 117726235 566304033 381519055 440542269 959217147 324197449 222515761 888506525 356618999 348595555 534286631 715694657 237557721 370794365 173703631 602912169 314924373 26712009 812168367 498465789 960653567 38828707 100837299 315980809 955203165 149033101 612850991 211210057 537167317 932884787 550809827 821750999 737840059 658905705 118063349 955652733 617599815 312407337 4457711 654789547 277066137 309087895 442273479 800007798 9401531 304883453 963814365 956698272 784841889 962970831 881075699 43097231 575588895 537159081 706553911 439742545 310184443 319643469 347975231 104137375 162106843 94899369 754775305 49571799 770359635 598276299 793743865 85760257 683531993 70015475 752265179 277577419 218701521 772228739 374705127 908094607 528962181 689883655 593419449 939104073 137610019 698562095 224023893 603558051 318270661 359594457 754921003 920605163 975192943 208467463 236871181 113925913 910248455 655896295 350117181 275666889 777367903 304571081 921483867 42873415 312873779 242558249 986736503 693099647 829616929 496249771 656462085 396145417 588264371 224284441 308514019 424984101 706729307 412893801 575380823 979458235 612546929 961893811 790995981 309244247 566397753 568706877 553738523 337431859 790111961 865010287 83045885 908357423 743340643 697027809 673849499 258608335 394819283 537803081 522800191 80860997 373136135 504900749 324253857 362316391 411326153 282415289 175597277 19666867 298611147 443622397 322540151 924291413 153213605 643257273 976551517 844534551 449250777 997417837 553441255 532827505 940797649 61842371 896267727 262069383 79913183 518901651 953415483 734496025 650471993 709531347 751180983 540615581 111767811 220155305 585208635 912817959 296726597 539862369 162515235 956334197 948804335 404429677 48110901 336342257 195003103 755786345 226517405 166056359 131209169 180302101 465186033 830400083 249834097 909267809 293631789 834033233 277284687 898177887 747553975 670336935 689243621 234035271 256590685 737976839 862340501 946855297 16027989 465041865 610874023 991762325 52372025 462480105 414886733 686989623 604802065 117856271 721068703 70950467 86874699 130268555 553803679 567652027 978844345 867241045 955075639 97799627 374277275 128741645 579372599 8587973 459122579 92906231 772679257 93830695 190659763 583516933 487522109 514898067 138180973 565307597 879802991 898793427 872060575 849209741 217114975 206956507 379214221 359921969 232416869 268332487 850896615 202440515 123497411 869539033 191316415 186508283 481583267 539232637 535930519 522458427 153736213 632447559 387782735 624126345 943158803 313448689 739497783 815111957 284023421 273362271 191043075 520714419 231671839 982325915 195151057 989515495 308172711 816440793 309484583 249842387 775686321 230679925 770905585 832633675 544599741 62258163 662587013 682764739 345133621 401506555 239692193 730950493 308463977 354367587 994410343 200150495 909464467 583480101 176050537 160296631 913421779 872513125 585347991 375668733 338816565 101053037 684013395 194217329 963189927 180777395 675748447 884228473 463220229 746896335 480912874 937124391 470185743 793138311 570310025 501684271 19225967 289412291 453012025 353422321 102288563 209332633 711139167 477671541 960349017 288660291 529505225 827343979 369136065 408558631 646200491 35141929 231149873 978836427 449945251 512495023 932746461 581753319 567900855 248673187 9439455 662136659 58632531 296361045 314809143 167953685 727587659 114488763 187166413 693420373 904994529 637608823 498209397 228350571 904159925 7372751 356572135 118975949 915158231 306643635 849123523 404837665 257560509 612099255 98397077 40118067 445551425 526488095 679691979 242717941 729397675 531288525 391620031 453381761 211012265 176204885 285361077 563674141 366653517 947406571 310826707 328280883 89182231 546479729 728348461 167871317 686776297 535682669 420437947 427362113 394852629 872944653 900598621 937262551 952943949 838193449 791071197 844304677 546473903 323990337 243826413 520787805 141621695 29189755 408241959 548239835 172328557 234481319 863283467 538506273 996983565 408795197 991182337 911464155 798146651 161468765 34494811 394086619 399836029 660593867 86612309 144195103 98625281 826925305 774210573 926156489 332723163 13178621 105076877 16695843 691599467 510308245 49340871 876118433 247623025 585549355 856511381 23150559 62674209 371178957 97524661 512976287 630057995 225138739 456618195 403231949 248013869 411415227 653021057 461718397 445875183 34001773 635821877 112126695 602776347 285758967 8953683 9524339 483552745 966374579 552932899 629528745 636064757 442165149 576691159 530526783 79105347 14600541 812311433 499183373 834255169 747705413 23488055 709209879 164142023 728492873 46096333 473541513 601892367 863883019 976656413 900677047 868078015 323922129 882920413 211459611 131082213 887201673 176209329 216603993 725282293 892488907 916848929 573097787 62225101 541171159 472537503 707010487 708237235 687547027 428672387 350610405 711218515 376764047 188309263 203803913 952835777 476905475 275345773 702952849 492413567 263957199 929267631 72360461 187433837 631075703 111545291 135173177 75344859 338798635 373390757 612178937 940891263 656869317 178728965 537897049 950945651 133612227 952257947 530616969 794979647 260065355 843046403 704371431 685832657 669166893 469594303 786653175 888243579 505710303 810548789 79658851 589461501 447305347 756730551 866821373 458926971 670138847 881357183 833985985 456039809 630565987 349698991 566976723 873285127 739779619 187727181 134455423 312630889 328866529 86744655 845846839 249779821 76220165 99294603 732999829 485872445 127378077 629935555 34023007 648949363 191081567 94339233 290770815 650270473 797633707 841015221 50472199 529034853 253492875 523392377 681246005 491067221 946948267 738558031 293527657 85216015 811012195 577313663 127650865 350295085 745601715 387799097 317593151 59296695 326232897 702135961 887296365 723998745 908277085 976869023 506026177 93835305 752612095 239922997 727055461 365552677 149472711 545284395 702042797 353127601 865702393 446858811 938194193 607170521 857524613 853758469 367847737 37045781 95392517 430704917 313411564 689260863 831270071 183531995 620333601 849678753 531737473 139344813 570081775 183943395 459462643 85209041 610587551 660687647 283799363 326576751 377092759 993505231 316161107 642014103 941111915 831737561 306932905 194296899 590129625 739327371 199727475 132775251 784703939 614625689 885901451 422100627 105856051 510103585 999609197 833744305 177206109 683050665 571881539 407848265 877464733 950575133 872020697 708290011 350804341 619310035 857495977 374221519 511438481 552738439 124298963 681749369 52528325 590476639 435247899 59912209 218725899 72808171 240310003 790431415 97583239 367615003 791688049 281156727 762569603 878653265 787105621 647060031 9663605 180599631 428904455 745031659 831515637 914230339 874441363 752472889 979802823 139629765 74027699 98963159 214031065 776857293 768775109 681547091 995909177 721676997 231254993 63395877 550760489 961740409 526164103 155536563 315176967 499878429 948693051 641648449 821113951 290242383 744348913 382855683 627180007 288048659 636354381 474523155 213687415 561241561 528287647 483973231 257580051 474283125 776779485 666858245 890384873 269113123 868308393 841419681 680691529 18675593 111023945 78626049 599791279 618714805 26474155 201920963 842166975 814343709 818432361 798517105 917250885 66872475 888968895 831517565 855816755 490008439 841784469 768512577 927382179 740365149 671341693 215931901 794323931 960444259 552999083 591047129 607077443 435009543 951255297 244828391 205383283 765656621 411074051 15708963 254049825 187343393 405650915 186685547 54248243 785626779 659830135 545369993 997280949 733643189 309553983 276320047 440493017 775520761 525217377 941878005 768107259 782034769 901596591 717087839 129511067 148183569 736818843 13076947 108536937 308229113 499988043 83721125 291395639 71352109 818783873 182889227 19215613 821730107 862099117 690717481 269041123 183427607 324989673 181924359 79027505 325540639 307051761 771184023 109773659 199211033 153901359 244630705 380763643 962290225 211434929 834696729 133353687 943001853 111016751 371963765 998635737 351571833 208631303 610310231 783503637 950570765 740774207 467352889 475529157 654474883 362874763 834824317 862846795 986374419 954310205 682006891 134563125 162768727 798617175 154213173 899741493 961310807 350004097 449502707 127443495 786837121 812839687 444936617 217564941 387388071 690117859 826220859 777678869 345259273 75642037 641395585 453692813 375249995 311201985 905358383 870823157 460053627 332709625 834868969 640461807 395283981 222374387 320171063 79264581 860176607 641007599 115457161 639469 878432053 384018899 359968571 253826559 912355519 529326127 867605903 176110015 108864913 369702971 499917739 781750937 816971559 341859029 428801953 550708769 170090343 88868229 935342187 648163601 694237599 209243003 284181225 990210125 315852165 338576525 399505127 265562079 989885491 792184377 821470741 368178685 128839473 183677609 8855819 377925631 369069419 923651499 914170443 495387499 734895671 924643253 927571263 471876329 627652691 12461801 405948727 684356943 999455459 428262925 527858285 848735895 352405619 469809039 558949635 727087845 973011963 987498631 378693119 611812229 700851671 484964791 971026519 752175081 947395787 497744513 929257953 257580715 364563719 728023545 314511967 626134159 168860445 133864403 559639673 872035203 165326093 296351087 968796355 95766935 284982077 386668247 186512053 677762569 422041461 27887541 872562097 834717241 714198513 239160421 320537597 485911733 393543753 179515621 628782031 595293229 32183941 63710171 539039293 787798657 245144081 661160857 951756873 682583473 776892099 629725457 74858970 299402471 909811671 329065193 579141831 590781307 222606069 893358691 750062021 689243619 222526759 761222255 79900021 610102983 322095589 546634919 658044259 265324015 387707401 338102855 925154045 853462349 794122971 801711417 475012767 337980929 501498633 400234251 742504585 864113483 822633381 85160435 309627363 832489879 484948783 128905171 137625025 370028409 379597963 466559281 233685531 662523561 924803079 535595579 111618257 436599567 957718615 608984009 12958895 549417907 976981913 84124251 767356003 476754889 877182033 823444249 366421897 120164781 486923887 8062671 150941599 286072801 802928711 248951543 8758547 148064273 954840469 281574577 338308657 793605135 911659135 794836417 858264119 134719705 21944981 744997273 167416387 45271953 955529159 47412303 282426465 118396545 518780789 219992995 808632447 194538525 299542373 545630715 36563831 855863297 444074693 253629799 135347213 210396145 605070631 956014239 932610023 753955541 804661131 848102913 698783897 499472835 70466387 621874837 904586905 59143413 289013585 486029577 42752075 152295631 814719671 828898487 797065465 439097051 537110049 335399579 239749585 460647117 630023321 317217887 520292589 385665921 636268169 999228753 148826193 324772347 181141701 432030567 311362787 974830691 998904717 586080323 796371319 410386703 639801221 229339691 361809347 956901753 504914107 564493581 489931115 265950021 834659747 612736897 717389047 790850879 321042973 93668295 950149337 807379031 449818731 145642183 525077099 693691565 329044539 721936141 940858603 667748479 895405987 822253523 751192197 242241341 711795231 809379320 858922315 20110455 224061335 710630659 760568371 494865641 538778965 852676131 856357409 36582775 625587473 272697647 982771421 972240941 971186149 121873317 376679449 889196861 762131803 891987377 744978029 247828993 335436379 520817437 107915867 112755199 298954301 498265697 975983437 272317409 603680703 330104223 459287189 259640441 654263813 64766877 373099113 528817603 766313885 247734475 483899629 254635493 694966651 394198589 867537193 927405607 45468669 866928823 786489871 549289979 271029737 128029085 684456823 905810945 326254443 658601981 8602403 226046201 916399895 45938067 847094205 546846927 752401135 487018937 887083477 647852949 905655123 619884155 195205861 440060553 843757075 753597829 478808655 617585931 688818021 157441839 599428187 71969193 396500195 274822521 345683259 22055189 291522197 791434507 343254023 83385131 234651623 327529009 260932033 251167213 170266801 840661477 393393235 239685255 650397227 647304903 873290125 542454861 815250943 994565147 305159721 428962743 702996793 313709779 331004617 508940653 326651723 413357189 65435891 820817207 197299479 446635631 670684189 867991817 459569633 532438139 88400029 22252031 877945429 31354425 498688693 74462043 239988103 628252635 689430415 27447179 176129527 186787141 341955131 394297629 927143561 396581629 559121075 642458577 337580939 111962931 2794199 896844681 132429747 228088507 391991667 901976399 347498779 860396569 28557111 248484953 450242123 928850031 658780603 466830079 530000687 962219665 119987329 51647941 623543325 457798643 349767665 796883031 210360529 500286391 815102559 576212105 742736755 419418531 38640899 755029333 587839373 554297125 818405117 152238047 321296663 588035669 929197145 135674483 861823341 142818035 458109189 870976385 469581907 93941093 298357213 432637095 785298679 232915389 40621985 403588009 607479537 203548847 233305083 375117681 217709371 901392027 682072187 488466705 324693819 642627721 453509529 99216581 786188221 881170729 43221947 525349617 58986491 692169169 261280805 317953825 254320269 413780353 990409229 802117381 831169657 50232287 131634055 664022397 281062959 891886651 395312281 501133703 559188611 8128139 327476267 677218131 322975665 833771633 957252363 817868593 986476641 330710579 421439223 405383837 761285277 727930305 744081805 897576253 249137371 711298991 820814169 480324567 155796219 559399487 237195465 713663843 880027967 6880345 72707385 229591547 549278037 296201867 379655143 171406305 306550101 672761355 685783297 456633471 782465719 920687035 520180883 520592237 967709029 158226719 232776603 260954977 75394219 636978537 536328951 315216195 684244541 299422321 910331505 232532763 520302391 683189683 186266045 563961629 27454755 626787671 646061935 263474339 230221035 428169517 752188429 63092531 119559139 581967277 59820285 331020151 31964875 127214839 519564691 486208067 292421833 543800271 966266373 982730641 957124711 520502439 726759031 591605123 839887515 639540883 415074801 61377383 572184515 990154327 496425829 147227823 574623397 28602711 13111981 139521015 765699437 606957219 816160647 752655873 469908657 354105331 696990369 406152377 76723311 577440933 805300359 345779763 455579401 13364929 486085301 294272425 158857297 861104629 367959693 562451583 327294583 198142617 984281689 315865407 761283357 959550639 972302405 863639709 69765191 848972505 661330289 831743605 300158815 503596907 490440921 300664521 254863935 95681881 951441001 128790727 707247135 258413893 993843699 106654141 311450793 922260083 67974701 578158637 251347177 212808149 942987707 376436403 777948243 740892931 335990309 734987041 260755397 968658233 581782237 155911525 759093381 21259359 124390459 938769053 525438271 25560581 723329665 765055501 733701385 639706211 904924377 520728093 242997343 558054233 768562773 544467811 458524713 601217387 204354795 694961049 708332721 534242505 251003519 481188003 855958189 245897293 776977369 991792013 302212669 683689589 19430313 24199049 965073891 89077863 37946765 544724209 361957775 720742643 831941377 60848713 943502739 663542159 965682289 933129535 357429165 326720861 155102765 433009571 497894917 808209443 872844143 863711859 61321255 308821839 167263577 883755727 112540679 461125371 76409331 302505219 464435459 474450659 35462957 58636165 978428127 475530097 101135843 734207471 732058315 761451697 595440853 631304705 725084763 625652575 587835309 729807531 520966795 827311061 431874555 658716413 71374529 562899743 759239225 501081397 97789387 608570857 753813193 466197427 567237853 874913163 458223347 838935557 757227671 236404997 596014567 975327709 824493563 844944381 794593729 672206871 142660471 838911427 197298305 747830197 588022753 222101071 182691601 112977121 154767735 775738689 76694593 351119859 177120987 518925533 537197003 64455779 652330527 852439315 827559249 677206483 454830515 565960829 924895065 630165265 169564537 954190169 94618713 370488079 296819123 384160909 527851943 909076457 589384721 776350889 16026757 321841121 89406117 676122339 97571099 52677731 444599023 921019933 826129277 584263939 596727507 209651165 540443811 67083897 25662879 52122449 289108845 946228141 504058631 333503059 785527207 913468583 365358123 863219295 592927999 354962843 581933195 152220061 658966033 969935845 215412505 845621215 117320541 534280457 945008425 832760217 737109579 866381743 926642553 856793325 491354671 381509293 33991467 487615647 363032385 213728765 366949583 789408545 634489761 986109377 226266971 945321865 245077595 525632329 491040041 425388183 859238493 509324803 144083203 484277683 304148867 132089485 499142417 377273321 835684749 198251947 710541803 648508147 290798371 718149957 869330319 299793967 559233753 12910961 128927841 944129957 662330917 935221097 260625453 91097861 511172717 706771601 523737899 159463075 238846453 404504947 30995191 18233987 432353009 865196229 310839703 988467529 764451963 472693343 164335735 139552069 237334931 606683719 442710379 205494125 736796705 714984869 8892853 571761251 746966521 942782927 839671541 86627693 688752081 484059457 711589435 339185529 960431693 668490907 76865787 823393313 862923511 839611817 183990805 880516257 168699709 384889441 25281227 371045089 655973241 865207259 512377803 808655987 260747759 806358365 267760171 452405643 977411525 649120081 611507303 889963531 274442253 576305225 664711527 346958967 16439491 29659651 59869047 263272193 883875269 853978207 605689161 53610111 639828957 505512043 600231167 334070641 166377405 511575383 693695261 574842621 997888255 508542339 975697805 924728307 808659233 156366191 847600297 419632075 342466191 664107207 160644139 136541605 706325403 485486429 373368377 551314757 955505019 82679855 296312417 600349723 665746259 433196125 603865751 715625537 525957419 79064629 568528953 367526259 152605941 575734313 427394317 191334939 321569673 843060181 512407615 895699015 781048747 430065915 73995109 597438639 276438273 435522183 236333435 879673265 517868829 219035531 179826665 437114963 604177017 740013125 938088825 430112583 789196151 556527383 920779105 343253989 780091231 26638731 90235457 648164137 45907811 539018581 339646235 11285181 788744603 860687185 594775135 162383853 274703883 974635649 25203935 181234867 741524889 978644753 334179035 693687471 574248727 764545877 955093239 683628581 437006911 361284295 562526527 292123399 428458675 305486089 147825707 929245163 359821563 89712363 299620759 606078225 825926535 660138331 638634441 245778271 980926901 778667127 366754413 960079717 277554369 13103745 442914711 632630363 5083863 527553255 544554697 679785247 717466119 301127479 518521315 236942137 889712459 253146675 575046709 331866585 615894917 419608759 608461683 584249557 409235067 760546005 296444605 245076395 996192227 705141947 432982421 987375749 576495699 131529671 473678057 675583281 428932685 724333949 376459791 151886885 670910267 284677253 631940549 116653443 336060013 51455413 759390509 873274896 996473373 283401481 730950873 377862717 712424557 986843297 654111675 426867487 206992995 250149321 365379121 948443511 750413557 138733559 15746303 101536941 562243577 54978499 995616341 978800591 231540017 873781235 510006469 840959123 768289095 159187057 513161807 258696281 50537675 662613327 590668119 673690409 754854199 217606601 403798443 858763955 286247915 158389571 204986239 194412877 392808243 472548937 870957171 628492535 277349693 671429005 940186759 777264727 198778149 955743977 809764653 459938237 514345963 794060899 196637241 44279329 892612983 813907237 785954537 570558497 755530653 729416833 518931167 63754501 254505749 423574261 478095661 238968765 253664897 970755873 606686531 240528863 895323495 794609363 935262211 313294505 109096763 29644797 922934959 338073605 132654167 457708475 6170613 960295809 472485115 986465613 856955629 763082579 254383695 139483939 270469137 803754845 832782183 674813391 859337287 802866213 279196731 656321803 877995483 665469913 755671723 749950137 310839685 687684433 520451971 726839783 782105953 445972749 72246641 906894279 719694325 61995573 520556049 271829173 734614829 659573653 380553953 850250035 351816543 385168551 541431887 795716845 294702151 639133323 513877673 164751799 395037707 542435077 87827239 323265163 98122809 696042887 370195181 704578187 180932807 994523687 516504581 846171655 376441615 169821349 187831389 670611821 698794201 106140007 93228239 10595931 84630353 127380093 995258399 175693971 982029839 429726367 315606515 517907713 616826379 765629995 874199007 415485113 391190703 853488681 576268891 759688181 162540741 833389383 239973831 978096409 981916037 966769887 654823789 236368303 719452555 330238445 643570303 933409645 788306909 803042331 669522197 447818539 450902757 868806327 403390771 811009517 439862141 347624375 486017471 609990625 371972575 843306685 336360333 541275479 875322545 805938191 977037907 772334027 237803521 504610203 941004213 432942305 817704003 746690553 183000635 679275363 964308309 918625641 791455831 571438663 826317693 795219155 899752291 675985317 792341607 568740547 648648349 798678467 718362153 904371315 264646193 317157897 692060737 220242115 140505137 550160397 602251921 487591735 693297555 687690891 348788843 214522113 553182523 364137059 562652031 744435703 208007409 757467553 134256367 284316567 321845351 855453819 680111165 383969291 928598581 552832075 190287449 315093795 669988575 800112785 65875093 154250065 62591435 31554557 24370609 667498681 371399243 432222559 442017489 92014113 326368921 122767029 394903683 85826553 250352855 461159967 264680891 194574677 57354765 614345451 78709975 27705593 521369389 797899915 208351387 413531719 229728271 769209753 454383927 173613651 685313653 690259163 781776191 308659411 963311881 754395195 882153135 554280739 57826395 225884109 427029999 947021647 129794023 344913097 513978057 203458819 376974089 702658199 818999667 879213719 571846159 634666431 428448653 173012491 655244073 545186549 505910553 976612359 169282415 989254675 862779269 902515927 100586979 967196447 721755815 601793909 367587439 511653699 640431037 732644481 289172195 344172499 579304043 143387455 468887545 602405705 658279357 32127137 400031827 477989447 211562283 166013501 298916217 958494877 204018065 482639697 266117851 985096249 978753587 931891143 99932373 52936249 167787969 624939821 16147367 403092447 387013967 221363131 289905275 896633239 878670169 15155023 353983585 224036853 166718149 783256689 773469011 232985267 969569249 781750097 897101619 392440757 463037793 958490307 363269319 560635397 109580643 347288393 106267333 836560599 398621805 230496779 33707715 138202759 535275115 394723799 293719107 724048793 34543027 592136739 982332845 653474741 317285379 637480465 808351061 990376625 962287487 620014951 516821107 6489991 164085683 366728595 605902377 528589147 31047831 774084781 22968957 52018807 263945093 811992693 157158757 969632593 887539271 88838481 825543605 426934145 469864965 180397395 752076851 332473035 238765143 275650351 979619463 402608669 507999803 226567493 653632065 555474567 137672981 123821725 229912027 852567109 338753459 580350951 963130293 761001915 724010825 678512761 956166937 231578229 191918197 486436689 90088251 935454245 873080381 188551195 129644591 811833253 117076237 118533153 656171515 666349051 792707003 196511067 933064583 322792271 670934659 592847723 434959265 363478519 654121483 143454359 588807687 242470767 574312035 331575503 185025623 798564183 174794747 199027879 469504797 867434109 714115253 509498465 827476167 684243923 471778515 240079077 718599345 515064179 876106755 178051265 490679321 730576803 907773531 830426411 939155245 675603917 706430297 480267525 619034105 810408835 57446113 402107859 330365307 998113667 214856255 882700487 655576209 197567661 863015211 280747961 745679111 858905871 222735041 821430821 493138571 5773019 995164295 399879219 981477303 995213677 340992359 956191667 340673807 7013447 826599611 989431069 448749561 901445653 582019389 995743377 321733577 787682729 156402195 78785747 548753589 592524545 6671819 476011091 405986529 885518909 411831643 911594539 639652181 356347053 697012509 217008921 331194629 208189375 902020569 214831747 84162501 605093391 667244987 159049593 833880921 766780005 780577113 22853555 488147565 688783015 41749167 269700751 646739853 943340777 616710181 513207827 470441015 219222121 219882373 378642419 514044361 494802569 385187079 144896641 338408077 174441427 641230919 307948993 830182069 870030587 606919497 231363157 155913561 220303325 389494653 700046481 712383355 908887165 495140021 710109545 648727813 542590467 605064753 348934527 803011529 974286789 633406357 458476055 942635645 225227325 379344879 231715875 964416453 583990799 887990451 257025339 975168809 20492037 940506303 707723417 850185243 54755093 770240345 738011691 240589555 4600663 59262253 579367803 965907957 532864271 956259153 592448707 365257799 165127851 337621569 983677409 155090171 396995771 403123427 755856223 896736779 766471931 332069767 56038247 925385561 333370191 674005725 809161428 420817837 200291009 616805127 740920359 334759864 305002119 197084807 603508867 52056341 349999865 423577931 763400889 60629315 328155805 234527145 786182207 830215341 141877531 917333343 199885879 877166499 841879115 594596497 575393383 267928415 671964451 161885389 657590333 72551171 506816201 33469957 56214483 936392855 534871945 987227547 9772773 731522059 648902101 848896851 901853149 876323389 381819207 700890201 923467463 313816553 365783461 854525505 634116703 817731769 812839385 715833869 38106879 194419267 923408629 422928669 494733747 676776699 881052981 354499649 535584551 393123651 595662079 392388269 176409267 225718887 705403355 647208703 55316311 383498647 32753531 789692477 80003769 197057259 89813183 891351765 165518377 213015141 217495207 445952921 968011167 258375917 910266207 765108935 437300409 280215383 342562105 869699847 155830721 780864347 876437427 392477283 119247521 778985115 750447215 519839059 701293045 228606365 172066357 230786995 689822203 868375767 726235647 519141319 501613977 138563999 540645345 921061183 158730591 161595191 59851299 634874925 781099139 537314759 247964207 400541200 560628199 503474019 888614808 656928975 895424785 455944451 800857883 411707317 852734255 773744009 886509465 748216951 355457563 92143803 86907165 55155251 200575313 669134413 435398107 279772783 474906873 848168665 191015215 784529943 424123109 256200415 550239387 394128001 460419465 383646665 498846411 273969257 999850759 267739877 42028691 207747831 302333475 595916913 970559981 175432373 324344143 633100941 824841469 89272473 756793761 113638975 954167053 306944771 53208537 55031931 350260625 438259381 406544220 381163803 351415591 327060447 56101183 771974111 121992845 203929363 848315699 810948975 786591665 359483473 582596761 18075231 894903463 829471227 476142457 376209959 552679081 120580579 501178243 434654247 598640411 75302971 345704715 682672809 503083657 98967201 553747989 943269855 426508707 713057051 601431365 16024291 865910345 228432147 308433131 292833973 421101689 404406371 556107261 558269245 330643299 305135173 325475613 500474447 954823255 404910689 957171601 31781025 366141393 251341761 546818631 526355671 120834165 93338075 944655065 424110715 557328911 737838989 281699971 487401723 770856079 617178653 364133677 33914545 47447317 934135351 566191721 203610593 101774561 764146419 774304363 677846961 648890973 449895625 322687253 559648053 334667807 956271267 911976171 602866275 543097827 556400843 196690975 215087391 784092041 818390521 348733831 690927153 897534495 178738249 552913315 779332683 285491415 964232255 639013273 586448647 207893003 499239371 902492217 70719459 761818689 203627839 588404475 106884939 453953827 454650459 267093757 414387601 46977667 664302915 315484679 351117803 378026847 992004997 596832137 628195709 89187033 878141205 454937497 285101135 542033209 843799891 282932725 869768275 253510903 410610687 952864519 127509603 394162605 711545931 960055517 26732861 607421725 232102347 906598959 516480653 913101875 298070397 830234969 301706723 763499011 523462851 286243175 285432763 56332997 570472045 768743685 910662257 739424993 94270385 112167821 271015251 990211039 365195563 658969083 987846033 510922098 734346207 274083831 617884997 776662137 862267451 598324435 558991981 391544307 853907735 86218883 972888565 676206605 260431531 633516713 117082285 378908955 741006241 178174857 738646095 537826455 381534213 376744213 6184573 775475749 117016651 340893155 768653759 510161039 797643857 504583731 103317127 914584777 663848539 805562091 66427437 286002415 61987353 463490203 855014899 937109317 34589087 122651259 654784003 506563891 206921833 287801705 380057197 601654351 873629279 596137197 972925483 752626515 480776395 204873271 234286623 596612387 147988835 213272349 864643089 93712329 128281413 159879453 775276464 442799483 229062135 343410785 557833627 340978577 699801703 697986231 979198543 363717519 784955367 314948757 406958903 836401699 952288053 354321949 346924451 267279901 463668601 705827349 777552333 446364537 452712767 192716523 502553047 84379227 504196985 691989431 385248969 704920079 767571081 458094905 803835283 163692037 790274355 142157017 422016017 496447197 779480481 439099299 590902787 32952661 219260525 124246355 76759059 579697501 403436945 644591939 290879185 719271685 546645875 952865661 883284407 64550795 757492193 713126833 692707365 97161295 181196047 71073333 699850343 523417565 703334555 874268425 81863851 235498731 797212811 989046483 992521741 910983507 529239627 148524003 210643341 495811861 129778609 510646065 176233749 307746657 147365881 431718235 300153459 571614601 479386827 600772009 990403173 678230533 365390129 628250379 593560971 170849149 806093987 774681367 70933355 665349047 150441467 772079883 441596283 325954731 471052931 772764881 225133583 213791603 767141091 781361655 985490285 744409425 992532531 310152883 280950461 520246961 268938993 89850087 246631693 239378981 375263233 377746713 642230875 308542315 843191729 306038135 155423877 265580133 941260469 939511513 488578647 543326237 742231339 453098431 619965055 401696711 489438105 748773201 265256601 582497213 592205289 34334299 189357093 93129863 193293941 463105623 911177611 892282315 591129847 915624549 701477151 293337949 714166167 999583817 554789399 472434747 516240863 417724277 435991447 44287367 57535941 279863295 313029033 839532939 793000105 203554215 766555707 477263547 801929293 782316755 289802793 41211571 156863967 997151635 215582769 109757237 875418357 899707039 259424257 464954159 614539917 225884245 376190245 749194673 945566731 463626173 759677467 57995511 478620731 93268357 722200385 510987107 47935573 842119431 405650401 946134661 158922485 373712191 254060333 75773963 713927455 120229335 772966207 38767827 830515523 919244317 877150741 844316129 701552691 398440455 323794587 332556637 894095919 53480247 298557347 921756061 220231645 729572339 33145571 858117659 283647303 698632745 436951551 140471931 810993891 781203057 152326015 216781193 69384847 452995339 478805973 955951669 832016017 380883167 966243931 103510685 993953429 651135609 281779279 361298693 404109489 404435219 554187229 33278167 740572257 600828299 772228375 85061541 922755981 197200747 8847091 457879083 273737087 233471455 231727189 273464141 693053423 393457341 665832709 649262871 249117177 232473481 674220725 115423162 418130721 315717222 166336509 875012755 567797845 21310247 369249121 170350373 117595373 903833665 245972039 685605912 678628771 316538323 283305473 246103623 603348893 296798373 198973129 576289189 659877735 985777959 410945729 267397211 733846521 752397421 907763953 563028911 368699311 36992827 326284875 386075417 92655439 229453555 405164199 107439411 339619077 317637289 37778375 137548991 907109735 484403219 516688981 520619945 145320561 1282701 829934819 304513027 884873 534843939 344999655 205840139 342901629 199821441 488871363 203105825 197387651 752753151 152115651 385510355 307398197 858426013 449514775 466592467 412763035 112527107 996165335 380690685 333588259 744692093 531607045 162237011 881640095 538628357 198393995 526104577 439541583 351730747 758367289 258320217 313339605 774674531 227939785 872913113 534689347 492798575 679358941 304967459 677737227 947178483 487148541 779755009 873034251 70169651 572147609 180050279 983451271 220970259 236363021 235433585 895354159 164614179 16601241 584844385 642994965 46812059 305763687 530500514 381370553 437318489 523703943 940637387 311219457 523528165 911524339 866820499 995533879 41289069 644683149 806373343 599767825 657458891 745391643 418699961 625514413 606821499 452316755 845103447 714421905 938595239 42154443 222894097 723931049 663770397 919635973 100829547 128851787 938061395 847988073 868104465 700818741 744626795 785391691 947022039 799029641 722691881 592505315 932253111 847263705 387771905 596306259 920640725 114932757 914000133 572225697 722054781 916385695 60391927 853241283 673398047 542139449 165846333 879448463 880221273 763768595 425280233 450859719 994658287 279835583 263253423 625600275 40018121 806517053 923511279 387001863 752985597 108643057 364156593 410908187 545636807 122143657 536702629 261853103 556740743 333559449 325676321 370949647 533819849 981728351 890107171 68369001 940688195 229330433 603210837 231636185 469629900 488811499 135123461 286865245 79970925 416149233 807305259 584989411 230491981 954543445 612447333 593318457 970081983 28960695 231676155 382563095 910078527 973125671 183145435 407994659 20850547 138390299 579127199 930285281 418090785 122414701 289662595 48504517 515916353 32815205 222298993 619219497 445170413 115143857 33296631 859745357 111305061 551826275 930379 303693657 509607193 688385019 813758543 559747937 553794459 950705243 455932039 109941083 330251683 544211413 557565989 445559339 480796697 277058075 679507711 465847195 743629571 297445963 694386837 405069657 380017817 454805481 503178511 816497151 802007093 531335653 91849785 701613585 352473945 611692947 743791245 903834357 328531121 747443119 348060201 797478399 568218385 877421919 266755543 112700261 187141233 441025329 52478465 922290507 996332281 247929369 369332163 50589883 803699697 172543605 789200347 257058979 756098765 931824395 651157423 694336733 950240809 85958665 394767951 446224173 299825863 48119809 935428979 38740025 649896595 835720433 462696569 296088723 327670689 217446209 287970151 740366775 204475179 100733627 770764785 439494403 397545619 310352279 458714729 239299777 288727145 75349873 188736209 186985763 179011419 855364173 762703313 272941889 298283335 584210329 705872311 908032543 860758063 193551149 489448313 767216547 156508991 501087299 752602041 916405151 877836747 285423233 89543611 180531917 111933005 763060981 970327153 234288591 242834793 485651 265301873 561419821 385934571 953640889 341631995 905843033 153976515 779325485 859344375 566749611 824181263 86592793 99986161 127229799 946195987 690474903 134694691 739354035 241020215 804552739 90200171 482984353 987636753 926456735 23275857 504975147 771759195 588037723 342159877 305357875 915462137 332579085 283162973 120202625 342380535 978588623 692131289 998166983 347013509 922155817 398263967 838154909 397780739 217960713 560962175 299947397 430074095 874965441 947071215 369045225 722342649 538180881 797549329 69403417 922946289 365316381 772825771 24661839 853134803 930402673 56986923 915636909 294980293 455507461 514268843 949967675 934607885 556313653 904062695 438142187 693679651 284797895 532497993 148947093 355951263 31590373 660162781 700662011 891558215 852940329 642121567 672104391 318578437 376729997 434649129 28365449 76599019 962254199 611514951 876711867 707506487 786075317 510638693 259798973 952315465 12831869 996677083 63596507 412509615 678975337 583137193 175884101 439757083 260394625 311767413 18074643 292055399 20866609 586528399 862797383 673055129 475763023 408458479 518351561 590617051 672565785 370488371 826872941 781271169 331572017 152424613 701746411 363532547 464573609 912422447 423431141 140880649 326891251 194137453 619644899 77431131 925161451 710922397 992194389 827876077 395511771 816146083 201152407 530869211 733842027 536734739 652646889 694737511 507765173 898735139 989138035 846218237 688640819 344167857 148635977 661086255 666284235 663438917 747601251 773313467 107788747 959083789 13133731 151327107 964071399 618906080 920749007 296564113 53225021 865808963 652802461 371410969 177586771 473497685 437717409 9317495 565003541 521090027 829027425 441138221 289425369 853078393 530014533 814249449 294879067 475252513 547251101 414373497 697904321 529906087 737705889 984194525 512146075 596133757 436269943 383110711 977023449 766096313 218873891 171427027 732313821 388512027 877599897 229566753 525903977 223269641 721254579 71081407 477398187 996826261 197655089 606081903 815400507 188588915 287168443 57362975 538918161 882133763 987913701 314128351 811999639 291283789 75100199 738709483 27319193 979246079 978520033 410920359 176471883 569561459 486536029 532058013 653339211 291500967 491869391 60046467 591093917 855018305 607148363 796562993 525926833 633945233 228925911 719190189 299175771 106029709 811749977 538666783 543451351 686356439 503609509 552354013 935675339 828414901 542107505 734986849 186471237 514869525 825083235 663016529 707295931 6633359 98534911 26723955 880066311 966233701 595589305 635497151 704375665 22459769 871685609 399477837 471016101 476066911 324996051 110500451 510531001 198639947 484913053 330875243 756395307 388734495 84514907 718546423 494348253 444474719 971656195 455651779 37009953 704133437 627863161 240625845 190444713 251506319 906561671 523166163 963095441 661432789 796003035 137256021 317761379 321672757 310525711 74451605 179282439 8774271 776212645 787368213 569148887 275287595 492388873 554768767 450217101 553103447 474893703 915964843 81085007 852176587 438358619 909713039 671412907 461858039 718589351 934042451 756398485 762343665 69786483 220284991 997491307 510894199 416087473 109559239 222658803 34902003 667950907 184504711 129637465 110466419 537675471 559641409 703309875 813958575 150998041 500535265 559023997 244813571 451474603 639906425 419401119 81762427 821378811 310834503 716763491 521155779 332214637 672895659 28302849 763386677 227995977 770100277 697600531 281123533 166426559 594507155 520201889 308177203 584192237 128849827 921518617 468391353 547531471 525811047 211319117 652354643 340603985 572254987 949819517 191712419 521819203 221814499 34724429 511622893 642685535 808946281 74684107 832007459 172862535 484124479 756527723 422439387 423446147 847703091 356152075 69532501 315403141 886202937 312296175 345233015 726524581 390558569 41316807 841035729 960916261 417218567 163849127 950864027 612479279 721665919 640419851 463997363 472059603 660238693 538655961 774162593 710373131 128465011 331306335 715466389 547733689 357448589 620694355 482720611 233948581 584752831 539135439 732387983 689797503 525012537 517068379 807524413 534747875 14494553 843937251 15003197 849962579 866060707 52942781 646050565 881581363 712335807 887828135 417052343 384953561 822696579 988896709 46742553 209086333 491824619 900357027 624098201 689919297 498578455 773856057 221315663 236456237 237957715 432990947 432378107 295095857 472931861 143821157 185890565 193501225 52995061 915186927 5913977 688138965 839087801 953510419 309957651 513830623 873114697 519742673 317960749 619663063 39525053 791794575 388699089 962514487 74814795 669349909 993686191 955572319 652066137 715053215 649874717 395334043 123015539 468959941 97574683 507121177 96683595 708693135 309024079 597664501 817507771 304619881 976119305 200001327 704651209 234710313 605722689 237419185 411395999 89208587 239253141 315190091 362981519 555451575 969908813 221317557 891835159 952526647 554441817 964726421 904398807 574946305 862928973 801330031 174640285 193932277 536958317 80431545 663658843 5806677 699184541 892631495 370699563 139209169 754400877 613210079 448255827 990805883 457530387 172849449 408815677 38307283 416947313 874849461 310838397 431574973 349680651 168754299 990024139 479949191 725330197 749378145 867918863 684984805 190387297 996581163 288442961 291924213 791814257 731590029 464831941 917043003 667589739 143237921 149882055 425038503 195651361 320612711 497360857 30944141 864727559 723154631 343621287 924223401 123207743 168093077 119459077 545581345 727296397 388033799 526432749 218773381 580605283 993721923 42838657 575604421 593166807 563841357 260897551 24659521 179842215 867390489 871397899 110887359 751469631 152432513 438919437 350324845 89551017 523012675 598282201 690839517 791603871 951625229 783872347 119529231 814390399 694408299 23100071 872030053 415834961 935902683 471634935 402392497 237222851 322937531 782127535 345325861 837665071 994107477 73982297 975536733 846622353 326908379 666795179 883217507 78817683 67827559 71219837 397759393 198786435 579715319 430997971 184415979 642856535 705238393 323774681 400115329 213697457 925847481 237626851 284787975 735099861 482158963 433842285 81463435 212127415 693168201 702615575 98256257 501526249 391564485 721553837 757795785 720234157 191066965 313338405 115583909 535197417 595372371 572918167 369132227 890216495 851366913 705083975 52739897 733029811 911931275 384447395 154956419 359806037 759249405 132249403 839515785 617998239 112991827 427553739 823437973 87175867 839089007 900277817 694014559 537090437 524980505 746160267 729246465 922017147 964879619 783797497 805348867 560534723 560714695 743237851 435295827 732899629 679599075 256887223 837123907 380265777 161410243 161420343 275653523 678359789 431865783 372018989 194734183 680324905 679603449 43583639 943901773 597064277 426776235 271847061 2351161 547407237 570928597 315812469 30934665 612735869 134844265 540594601 437044739 603360159 305755967 390620875 351822035 56957183 352497435 611879073 368391565 88308049 545044385 533854997 234532403 691947511 142288745 247457337 196808997 317659895 351151591 579575115 705662003 85143551 157487743 299831723 477104019 139689831 365251959 578802663 841829087 101729071 483740421 14557361 937641503 518699007 980652607 361431525 138064063 632941091 952578599 264710533 488182935 919537813 386417831 503447741 912695519 771020275 793120655 179804385 358256961 985147783 675048345 80135275 400343241 491930171 624058727 573311485 679291113 880754091 656654465 231881573 176128131 202556181 447066199 134886551 912337627 232308831 458003271 665950889 714929307 892047129 882067341 930028773 239690461 74992507 640144467 243468721 771862043 302137187 945764525 320894883 514146107 545679705 339898003 725896309 886125195 98357643 992566247 424099337 309333697 842392275 27666289 245091183 449483255 864029101 457074145 478297045 837823669 767668035 46965971 408551833 862339303 123114595 561130439 493807421 139735267 39330947 961957671 346632815 800798821 663053509 952958275 976178431 569761685 348715245 933296979 186074601 681389053 646841965 119047293 725935185 392385941 416106845 588425927 68965505 955731385 465255801 800539169 68345583 446928941 912338729 704806247 882680115 126362655 304749693 273728345 993915665 357452583 301557293 169902495 706319735 135502399 586785945 851187661 184395125 316674765 148198085 417335899 405546823 292459933 823323491 781933993 63342929 220179945 615350217 809042179 960461087 162870857 296041717 940818839 596874337 574197187 344371345 564232577 199417847 908342471 631050219 725143745 919136479 647717929 198374651 933598783 752394569 718194213 898704735 914449103 733542789 11702115 201578847 745694249 337348369 295202797 647692521 727356397 108708237 935257657 535307414 660830885 749966279 211769383 162582693 28820675 40456879 110266873 885589501 303725473 855794789 591062365 483546925 497968767 483196713 449379435 364661611 472542085 542423143 145573531 500659609 116396231 839081393 941690327 918370619 797409595 820127685 863722347 548778371 844338119 10168707 313147657 61301319 829503535 856582393 218165203 617469191 102432807 921005657 766106445 971782635 663709769 701114623 588709987 158772927 350198547 731865709 28679273 957652477 69397489 718207309 928910367 747095491 875135029 318681207 912984747 998335707 346798103 911742435 343364759 921519 925675959 752741299 488189657 390952795 49210911 66296117 584593359 535253149 917178433 556454363 647455295 14444763 298364405 175653953 281123413 639247653 820074239 616915241 417817767 897418545 976521221 687378561 441714483 430416481 503319961 871524951 187115099 110167227 216256823 746512875 287124465 969864175 187810877 562162847 244305445 681095761 541140725 654827261 342438041 312326115 448145297 489184185 270343503 181616461 980258089 238711983 75805111 419575005 425647809 593736675 247725475 402584969 328156735 370825341 559767635 855490035 85503861 62910931 539110763 400577375 335675167 497029215 294393 242923711 198639065 936405189 249417585 889624489 310171953 418860239 990528689 43583837 727552663 435094641 344640767 278142915 653116517 322886345 552163591 948702311 718854361 434978581 527846367 646902659 759520543 80900547 740460035 897313525 487155271 144400742 481509467 561956165 524335691 252493245 955924785 660637347 667630349 512920741 68709691 484786149 73990997 588009259 531680921 532159369 510599637 354416773 649758157 777800377 238443045 486293771 511476933 57116227 173540295 849252163 688017881 708043167 7461669 931086037 650772161 942963691 579696271 726885783 836404647 440875759 391544641 941361797 300309527 407771673 906334295 996490943 599115269 874837379 18013151 193812627 299242191 734560489 349253577 689107057 378005561 553811123 274320621 97485817 602615155 677499635 122931213 393297643 56642577 724614237 218898131 145353777 226410254 30603603 722849999 751365347 408683475 997295321 10078843 917114679 848103723 16896417 435616825 267831189 600209995 137537795 36035407 824691587 861965267 850855931 818794227 864814265 841587397 479816241 93821243 232928785 453344143 961278197 165292073 120815757 66487047 81176127 442135207 105079385 131082089 752268205 189748613 173176263 744855901 534013319 713149565 335265365 607123695 7081917 775778607 752518051 201003153 300063461 454144551 152838271 862604325 151526717 414745555 437895131 412807149 780451247 885923727 75370963 2587033 822420681 200811163 815208617 499644730 370324931 736119073 671341001 606524499 31007611 595941169 579945159 329062597 1785721 530740675 385415773 734300639 899523307 415655357 936647021 479031637 689448361 200841955 691299845 63493703 275873077 365454571 97824857 344654901 883603377 649752171 32037313 53843985 930468593 600151523 898733505 484226863 123341673 751246017 218895109 108635725 334321979 796944467 698961505 551899277 112173867 186642643 708318159 50204799 664318379 274011233 908716403 678828313 821746129 892815367 858348695 463541941 969374813 970101945 493638319 99989019 261505717 718898763 830497879 268803449 276312043 468518531 984930899 570619233 945232305 47724041 970525835 390711763 942710637 407629163 643341077 945588531 752003873 841189415 681269547 475592525 457693821 605374363 324514353 599983705 672018395 914685459 446243507 502591475 292607289 653527485 874476897 49494049 179327805 985022387 667875865 248319055 784392757 734645497 67063519 384385105 54344477 467274101 900240603 417976681 920860305 507851003 339833189 413126455 746751961 722528835 200049907 294645963 398395363 721752557 698605611 854778265 543295559 793100675 535856345 292004481 47065159 531424375 370396909 144650437 418778053 719532323 377244039 896922387 19185237 596855749 271501797 517514881 635553323 831431049 497885815 669852043 697730855 874401153 385119693 603272473 512999891 728654243 369244069 442664311 112994395 150640595 398457311 19135319 997915031 177067739 22673289 986841307 406194183 836953449 49894357 83884679 208688849 661619479 966697245 773160005 7395013 359876457 416177127 48774255 783918427 514202309 872412637 706799295 707243953 444390781 912926417 829933915 372590991 525979853 912391105 968486353 285094501 676423123 886836685 237941269 156748361 53265561 456106307 285806469 619612921 994531601 750596757 895160807 315269855 426862099 304268127 466156647 222837769 920951905 402103651 303286427 864782125 77104037 805703053 972145535 538102445 927140721 661204719 176908409 736893327 854011451 440190407 12419673 999680641 76266087 277519991 645358671 107769565 945408829 581444233 644646141 365746591 956955119 458249649 113293669 53146223 575056021 60152523 523836407 401725087 728399664 84255449 956789637 117889059 614636205 797708807 536669775 365371037 159999449 568995497 326890233 769530961 262945393 574102585 330153359 852134193 823756817 583715419 101813897 157080531 970780999 420523993 686603203 443998327 760668803 526385575 301050243 787802627 370758941 158416353 919864181 953559303 666626135 443167947 741879725 467601083 230537819 287208909 253254573 479347709 67033401 754119805 278122837 660138069 498792427 952458645 917861365 802063603 153520467 607634937 994249537 949156267 557229881 314125235 113315929 328340481 270829391 715773177 827560639 304234521 720340525 519150883 522712417 600449987 574491221 102989236 554392981 138179957 849679665 839428445 539748889 167261009 318231057 277861611 151429647 547412509 450084655 624308315 677707785 551679559 94472363 956595665 662462713 494586599 520788881 562450073 528351035 469621437 47224015 173614115 769358745 140686129 561625153 254995213 892214845 945015119 690132391 455767067 387719611 982521553 126360491 87510839 453166611 543752983 865190109 415232115 305768873 753706021 263639223 95580427 104440395 982647725 836933273 533689445 49614381 53212677 564526799 156868359 147144941 418890541 769646473 893333417 369106065 167296971 581021661 437392419 498236037 960841775 650810065 678169211 750723231 648209233 405942861 36741083 186000925 79750607 321923617 588358549 489052321 747241713 501260551 23655463 17173309 122273191 403130783 54327857 977937249 149818245 113035125 260729217 627449327 362026447 4399607 733827593 555805737 138872937 215076225 844770021 596790973 231662305 636120145 947035991 212189891 295225203 72453525 188899787 555626165 633906171 120607835 127267027 181771129 167596287 405247131 593138221 369497435 259778739 284561979 713768377 889623315 786878441 473515007 782325381 344218813 447919395 87938715 189904323 212494047 994247559 526383017 431435215 460765029 668111335 337713321 784825643 627715237 543858103 172456451 465659779 443372635 393659415 231038475 283724459 965960365 236259537 246126073 79650205 549222185 393970001 995003117 29371773 793806789 752824751 50203889 623383189 97426907 76953001 573686775 349153113 49280307 789879721 234375897 944087909 364487417 750801855 874436695 774723195 474158277 581391517 399902233 372991369 24493455 664431271 617990065 579830685 770296001 93653219 456492443 416634615 979377957 158481409 64598069 122163705 976438259 354200407 834187465 74283055 546621895 489508835 458578569 255332169 439884711 618388303 671692175 738403877 83811325 46124777 939796953 448705989 987037603 388409511 861593685 244246103 605254355 141185579 299322319 234051115 771754547 719172025 838925829 668770493 148597713 709632837 604918421 562104753 884890145 300922209 247812105 171985 750036737 872453711 296013011 14094867 513711287 129959157 435912267 458812559 721906415 787975141 188657589 819770763 45755839 429394515 681208631 194566767 873101477 486740255 815389923 369990867 56800643 168786387 701954995 467997549 609247147 723090841 433832073 670740259 302123213 81710157 5398317 768879105 578056715 778938221 194326353 624568887 482904295 734415647 923807631 875281189 819474513 63939379 604622437 521283659 8497051 405702689 964835647 224153171 96502149 315893255 164519277 899807253 92780339 833733549 286120235 28663175 731182899 269674881 126831253 73009359 509689977 718569117 678367929 125491513 932642147 583459261 360010887 607852599 773585077 152751691 616429527 209379429 100088991 297605461 505906285 668819587 241612725 925960849 786710767 483321473 551969267 481160033 404085743 256641137 543102401 298181067 9279207 322337675 198551785 492331389 75623737 993869623 209729441 470943439 425177389 219685885 310539145 143017921 863866611 588197009 765986467 685479675 201166247 343739599 749116509 526015689 112788555 730152121 139526285 731484709 782077123 184737659 864607345 427801005 615229159 234614887 156496813 420173995 654673259 482825723 323357517 783551497 628951793 456392921 931104457 791156067 4786949 722550987 974500605 992746999 169156887 779909573 392994605 347185579 434716031 629602019 100929545 518338575 363338879 287676775 657131685 165718363 205224255 248416189 207065981 560012141 424365269 12950137 919958903 127808205 434238773 711621461 291862753 750668201 789319745 531075637 709149807 510043867 648186565 90140707 854259775 344831711 31552879 129231955 679325911 193003743 189829083 373785889 297767459 536576937 542360969 615827217 770776697 978423987 280101091 695434187 996811671 814985503 278550585 17941285 591282081 538454193 659041477 62859289 608935971 404437211 544845223 273612235 913038101 909888437 843794155 554654341 467354065 475169531 31189119 821444797 223464481 975941909 546351423 994809867 606934829 644384787 546347499 625493045 176705677 46405805 979957291 650543139 918224703 160767299 945905555 791304939 481100455 927887065 600743067 318642887 665027987 522349089 836234147 141136925 375644471 409607793 744689143 445229171 753821233 34714823 253574853 862936961 143891847 821043917 65150505 135061535 126976933 954043345 390681635 181113683 996064097 607966155 568988571 959166789 87175927 858781785 240208741 878379597 494015757 368916931 971890489 993029089 168468403 320465399 858505911 984224167 489385305 41727375 136892521 370153067 583057889 672360135 836712643 328875295 232299405 92710025 582685465 181794269 808404491 339318115 886782641 835988203 990973297 271952523 268386225 136673203 785687869 530535651 943435821 464153543 103446867 807198191 978414877 868706789 964613887 94241505 629066081 92228845 58572281 383718287 466661059 337586925 508949853 307116921 287133429 982663191 210467505 259891910 805507217 811337671 19163871 360973125 179433493 127393663 990249793 563750253 391816943 596395499 245684881 593985885 920218219 838461405 849249269 745049053 649290439 40144723 736617467 150685021 936605729 642666607 212369303 226000627 197744515 695530619 330070313 352981855 774843359 126482667 281492851 802576903 520919309 221771355 972414627 969352187 651997393 172076941 375727439 184726769 48861649 780898413 151332723 147362379 87696545 837079823 624988535 853855759 750102711 872386221 325020452 309360621 990514551 588660393 79402677 533407801 338236201 527043473 20779459 799197941 368905727 19795481 417680979 388519625 964294417 684047897 226609621 90355715 945226083 844768661 896953883 556098969 361835739 37173177 56137829 915017261 113001291 304798681 325302871 728420099 381180271 920680047 449609983 384431885 551774693 428007967 699480017 484091361 648974391 357001395 83201963 806909631 173606869 400272928 803319762 6909839 759487772 965698945 50007797 486802909 251453515 19074583 648918567 389914083 619344523 768992337 993740773 484073343 271289069 934531774 802677013 530377017 381681517 860923677 897343495 868547905 570323431 591072079 418915179 718957 771490601 167378017 839303011 7569723 902688227 420816259 930652273 217406677 385569708 773504275 360945795 716197385 765445129 418151829 616501743 432987215 931520353 203650739 224627827 776943301 324330503 493279295 144790579 550622515 787908401 650653493 914593981 329294087 415363073 179721913 292765699 426628187 203202179 715024663 661123431 359916779 967310503 901126337 372262573 544128799 677047621 226286929 514466561 851384073 196737311 756184205 871235575 307242333 346188767 481942879 517312143 531112061 57971989 350589145 601165871 675874669 497715515 797250873 756938145 256110303 3242163 992472287 777518619 700298795 437411011 456573273 43822651 889460811 977983137 86980185 368454407 583096045 652462179 764887225 230540525 688712027 429594635 558045055 735813823 754093455 200719491 44964565 556395195 579736359 330316955 332730639 940969353 607313515 928893965 80515493 448052531 468792139 260974201 28090943 896219185 121884765 908370027 126538661 865152607 334578143 204317265 217237195 569510913 266326715 132100998 69400011 770558663 346948991 697586509 935661 61306051 325042531 421074381 426729367 981501301 430843205 319977239 562692445 649019585 329267373 202099749 199923453 381954037 860742345 458976215 968117593 320133829 524673905 511221241 351572091 319569999 746179109 56754233 968566423 242246681 449872653 467178803 907658505 867678991 266336247 512904551 675033939 53017223 194906969 563009085 109162529 295782717 370185557 134062857 695182919 655377497 649314479 751035907 817775039 522087525 759270361 727039819 299644589 804126295 702969833 706730475 428633691 906575503 804190623 856080599 378291263 102645711 138752609 879153123 740934897 481203783 39824703 281130709 233213237 365707401 932870641 839986261 53507833 607493269 148894679 326680817 255297099 159565517 253004021 364675623 536065133 831496963 569427707 947765589 40969917 127615337 604639811 351874759 550268871 515456413 387097803 833675947 89046593 543501733 783300919 356723227 2690563 168004843 59303899 559279643 372498705 309390665 507631021 435511955 806605977 674060793 756723531 196275537 152802283 989256353 58063357 426542867 840214915 344496209 712191665 901632631 290393605 310030457 88609023 243881223 971757885 134340601 227076647 273703989 786242845 275136535 505338897 657383003 615673023 276204927 676450379 650365879 185537897 846026057 235306763 910988151 994024835 56738797 328732209 323441319 282014629 316925525 45835335 19312965 765292933 654079691 520472441 170708783 123940105 62138375 105357983 410856239 95686973 513710629 901651513 702618103 637655379 993231785 904004973 772378911 991380903 457308291 611847947 154907179 199296697 884807429 556513931 367418753 193129017 774814447 160777995 350630771 397061113 457844325 147293267 101715773 219686129 535251189 86918611 52285949 926008905 252783251 336925089 25838525 1848905 435266207 287870331 158769263 742051685 261794009 971276747 589612779 604400439 590521971 933841567 852040179 618963333 658793729 894782637 63257393 778148665 269227905 543898199 808290359 170023271 695186261 505631907 633337211 31260233 383345485 687481407 156191585 233757249 227658399 127006851 478395185 579128541 326349287 883574385 144802845 351522255 828160553 199412651 647810109 243154931 471742931 326952325 626579 64145485 18073533 200424435 436295433 883627269 616588831 451075221 923807601 165615215 910201251 907915189 3694209 232754185 6063189 203204415 203944923 678773621 486929065 749171659 697502219 855333245 39175293 172082585 747523457 316207895 218528789 184937359 399633301 614367323 792106273 953239613 503904649 184563085 560248757 263316187 672420743 316655129 352090445 341493319 289752993 791760787 95785425 562286601 743958221 146217141 160321163 421158225 939379693 72819811 475559729 108889075 3220173 421652135 444169953 382765427 698745629 429260215 980659489 988255221 696489845 444066539 814034655 367890247 97003607 937091017 82380141 604455397 347566381 383862521 326800265 997046763 572523847 542744401 187612763 337697311 718921439 887435979 577496175 205832949 596413461 868023691 609512119 351281023 270793717 350295773 160111509 407387263 173696879 321685555 599980493 333595485 630416987 632820775 789977993 273014053 293449339 327981439 478262115 58104209 533064311 441789475 477234517 185891329 358330083 399017513 257130437 451625593 467818807 803198157 488224897 262590635 849721557 922934127 35946429 822586093 70650371 998894749 615659799 659209023 975385335 904946951 754340501 182871623 440118471 824048781 301587363 232275541 833001075 33694511 935183895 915516513 891961321 104705559 593157933 160302345 62795511 792838813 731667597 979165077 213412439 913341751 738025793 666670837 13146281 503559309 29433537 648671933 793336185 810647655 431810535 959204401 721979957 448689849 577800701 874136371 922582841 100986013 213275051 113152855 906555077 850547033 248182281 23826643 353219073 303573847 378844565 170483077 889648129 755908907 180377907 999011315 137423549 599302797 871907633 407609935 139226645 558903141 852459587 135803761 289070803 604987579 813036679 416250837 198996907 661480387 46168707 623138467 17658417 806280409 695951905 224572589 675396587 87472255 396742075 882462055 564755775 215472737 989443339 969335281 276916353 735267411 361391673 87486997 967501033 76291405 150575311 758578495 478817175 581298295 812988099 739021189 364471957 679341593 857440117 942444203 669309397 987564199 49757863 296014101 61777969 766515645 368256391 147258581 895005801 814711071 921426347 413307037 663162405 711537077 821991441 361531601 696838393 351950485 249117725 50563191 451836251 498681 15864987 939179583 969594799 211554885 52661955 483995005 580004157 461660931 941867825 452976949 204245817 910888423 970840809 208204555 231828407 653539789 520362075 860203597 95659709 484642745 917554777 992963319 212124977 385796051 463970595 12910245 892063205 195799665 462222175 108122525 106687125 791529741 523040535 256715217 707728095 862184779 565201601 854063577 606885197 490438135 458079291 453755377 332249681 300062209 495199179 327414017 187852611 67395977 676435229 274544539 775084391 285030093 303380039 125272307 444583651 466519357 902185669 851578857 945807305 134890089 348169855 157788165 882025237 971137805 21361855 199251063 852474789 199920653 135237437 993943829 275819331 216980341 319605013 118648159 193121185 471019383 570403787 582008699 358138199 629178221 627409997 107862329 548930791 245230813 895106547 673645841 1084859 30949488 969990007 100592929 718125861 910269179 703776765 237584945 878046555 985213559 643620887 54112943 681760385 389000971 745685175 45109685 271666591 304226303 488805947 786725375 584692133 293982917 495762281 614745335 22110833 94088189 843702893 825997227 604636607 762399335 962502621 392883153 279507003 946773999 80708533 232842955 185429621 474623655 429485147 60015775 410608103 511505869 606770589 763842811 415435251 295291073 347872177 108143671 895627489 673040913 582260785 863537747 926035169 526375023 652528421 162585589 934073105 21287863 247665659 31968111 881140845 576917995 844764805 293169077 475911393 781346359 331075075 178464103 557068861 907592687 578640919 126147535 849481019 510569355 371848659 643224023 439559291 357779379 497871017 732996379 857553801 88468015 659034999 203876569 76067797 797151987 283200385 988168439 16233399 342210843 417191799 644896517 612236657 267585513 486816363 339709755 14721069 278865867 834865885 539158391 164733691 434747727 332343219 898711105 920895957 476245557 973845303 795933127 311653531 874038879 326695967 716531939 557539865 303666391 983961737 564710929 976187133 292540115 379623675 219573371 303906531 576047787 377483105 958426351 827747659 778706147 895503377 718202083 227708063 299724583 719657673 622647673 669416239 12406091 599492523 433819253 727790645 96746057 383471689 279907145 793065169 551148869 966641299 94118411 239209743 111342219 758671339 178979963 209438941 18768523 705423379 363133185 828687639 358006501 434641979 490922921 815540349 903227735 954291189 572746029 763971257 591148241 6093889 829952493 460292441 787689571 150421123 8433901 971902171 512046153 985883529 706877151 156717983 821282535 722435207 749504279 942583531 133971913 413316635 896993433 211111411 697800351 723270987 963771657 741396689 248631881 357302403 433757111 302125957 632974277 149707927 463233691 371703031 442120003 776712137 789261139 992464379 910521619 478150841 459510311 174971977 96710323 981613431 455937285 106772865 191671235 656359033 773059719 705566253 126519055 887485849 962068713 250020033 332564365 876751647 775709973 156088465 489249623 391329465 42349975 267498723 758388399 438493305 723322283 264752605 457033983 436037087 183399979 395837331 235932639 550309581 301982883 579376381 867916293 586896533 551476287 917672187 162177113 780489449 622423767 246566743 686204131 463660775 608423915 148582851 98786263 497430035 693051811 464029401 790197903 139838813 902462411 73285399 120235153 460310041 255586013 625994731 710175367 278310147 751147767 160550049 507845957 742691649 987456225 528999799 546678469 413514593 851758347 134767243 494804265 910290519 133057675 837261543 115029951 524472449 190528033 243017085 701999609 826395301 342605619 517244967 269152883 829180657 581562065 117915299 410301935 468157431 722557617 694607773 208724569 357717941 118605877 799191463 117735365 59366547 102644067 322550839 788128109 169565275 140749801 891106481 888137397 657673029 607476769 74704733 910518311 389171947 530596871 875343469 400157303 522424663 112998469 192893691 97767809 818057713 26780457 54260741 880482119 689051283 508811689 668344695 546793719 675295351 138275431 110115107 268210145 786954051 128503975 400741311 411442817 888675845 720740186 30178799 711145337 586198065 573632025 74666299 197969049 152226469 154622497 231840533 270264271 773906597 836989273 855212501 549339705 824345313 785126227 757231037 727384347 465320045 633608259 341581815 739332317 250998727 639974409 331061651 6170645 624354769 967401261 862726797 797945469 71851227 533407711 50912961 716783609 21254555 887079669 932205309 250435477 45572651 343395565 735632881 220713091 794954003 201409265 651417909 57639197 113634881 371316175 989754957 457628135 175093255 384251135 336314783 326280335 699586085 302609823 210553725 743119077 906758847 193649527 881356577 215662567 236374881 381538805 481705389 712533173 936790019 978993969 516993319 660661147 598674433 57885421 375664005 406772495 179574049 390311307 482245533 953040555 525983885 108936479 648772657 404120623 992771039 165466717 61669099 226674827 501873169 60419495 2737499 216899791 328323721 799707649 990655995 883560249 747007509 891312669 616311597 277015593 946595307 777229649 331902521 43937069 54116005 498856605 79083599 65179127 916300618 842598313 410555787 261029219 454464073 227139009 494482925 751814771 172263541 964943583 564069471 301070161 492897293 559540897 210052529 885480533 701003187 397631311 881903005 708293367 85602681 901839577 184347587 110844633 147620817 34787797 739482799 95559369 644264087 232319105 609066703 407743417 172630549 436018119 930121599 708579269 242812915 211284021 564153855 412486447 813485643 873986307 216502905 346349923 521263255 303043343 975201021 877529589 690162877 424424415 877004933 207736223 901338635 490710183 90193905 671900995 164600885 620892473 371320589 887521007 705249369 531886359 598550919 816917719 989968893 327019625 1558011 234337873 503519245 212060413 921571049 342179047 207973853 69799753 950401977 600907583 966545967 224101229 435727807 654669871 995525155 322402355 529642803 885867953 301422155 940530695 984080949 854908903 672795543 659311617 352390609 734049825 818061417 610904801 298312437 110303693 927359875 592127501 186429821 812120969 903564563 304862869 332057895 685340697 276656047 247539249 402287777 875025765 890929493 244991551 735163001 932817283 852688489 857247945 617167399 850791853 400876729 366457209 528550159 630610759 601395833 309952171 361839483 209015003 790862663 575834715 428708761 102871327 699192615 87999283 459897477 273521643 365904265 306852225 810966333 902123845 741624385 324196925 217068463 408882773 116418187 349823493 799717799 356485233 295412749 227846687 908675043 85066773 113690069 491698559 529347841 431882721 796970841 56924087 947715723 752030113 378854771 969916425 40459251 675646795 833995115 774000221 834455955 570710007 263149037 800111169 867543465 1126123 437375503 78872555 926209379 382871185 594621519 481298747 526283725 937755003 79254415 901974715 971009253 536169319 31327265 364541591 614964361 463297077 445906103 690205607 36982659 152277235 807438189 714500713 364262533 284591825 776432333 592461321 895069991 997943855 878481087 816149841 535790317 29440909 301476253 666514875 828028477 943423127 384549153 635416677 49646955 589874975 290652529 87997719 584897965 545606179 535340059 136866625 876122151 209867459 739975955 582544119 399991521 80182093 821690807 673803261 641450957 271538227 234563533 69652151 520554435 55466257 441441921 179636021 527950215 334636969 184472937 158776365 297020095 546397415 993156993 557277185 413742845 688860637 813184049 600684983 861604539 901099721 464997443 666693629 243703387 453150221 296656623 622919723 429854501 867711795 880802511 985212227 796751435 882548719 260752107 925791463 219526629 521273117 986863537 463148139 673307637 232552895 493756403 667890115 105229157 370994689 144034289 855986831 655101191 586892855 625113167 12333849 697341585 364229083 790590747 259308365 798625703 622096015 416758473 172871619 250192081 179867939 5709109 815962297 574451327 207062661 371739305 399396635 342305293 4361427 991753935 405875 73801917 811009615 189365693 397893371 991009971 343457383 865777903 321409681 725385223 870531755 285847627 788831165 962224557 461406167 259975967 40850349 552922759 179165391 32296225 928546363 911484001 586763677 55754603 612101861 624237291 728951925 446672261 83590607 95401149 36697781 163700315 521336013 770896985 829926363 490230595 387677781 19564329 700727957 530039547 667284613 905336445 707183545 674566823 649885731 704288399 895799613 913097939 756678563 75943807 139886407 395274871 169597975 528055385 733785889 33704943 954583105 377038861 323793473 337696255 202249609 785316467 187162431 97955543 665746683 383563085 20338913 711194377 702030929 62209347 94602001 994126997 689195243 337449193 884281313 104889313 416766669 785895863 463953037 477248181 286551977 756027663 410768505 856853837 499493845 828140855 235134001 84012353 999261521 589134437 880453223 559762073 965716675 912601519 910383861 786556097 808538235 34581527 927276001 147000207 505186161 716724101 65895509 525459519 567495747 529406413 42160035 144841337 311045689 621336487 229712969 482686791 402944065 130228659 946109159 204194335 824167413 578306429 891296587 878282209 722850451 690437747 319446887 390849487 627028991 924248305 355171415 454039705 520925133 585373495 588716893 569776465 93083187 157518957 247126755 664883831 165986061 285656487 434839425 940632303 173236967 801184477 200375023 628661511 196732397 359885807 508910863 921104243 763599097 52173225 405733615 491795025 853439111 676291769 272650689 508434981 268785087 809077945 851486177 67801311 919304051 486989613 597500881 562252499 424297751 795659901 738154813 421376957 42264011 982778103 585014777 278869955 21861721 210724313 930878207 366334579 883714859 585687617 856926577 752069059 899829085 697973305 600227743 671481613 574714285 656712629 172190199 314773529 336602241 478345609 517916183 581750805 984883177 712439931 142148545 138760851 643708061 348070961 587259361 174526097 269170427 659838015 622723979 917248375 900299275 162902811 229189881 446796305 772032125 580985129 81460879 77375891 508225445 406315955 381963735 349694105 998211207 639729639 421556871 90111021 419071175 345177567 309343095 629550777 389780403 56912799 835562411 74553105 284699463 688590861 109539665 862318965 125454111 375096315 748418745 487094921 107126657 228431653 492027231 3548251 47595615 495833897 626483943 823945055 314978385 336524433 579827739 712998261 607212947 487681999 242250225 367055071 170190605 961247803 473787009 437774667 261982033 851959065 689570833 677432527 539771795 15704207 134785545 659452647 153438387 454257839 395662335 417892731 363544121 588659829 389153967 790754773 882215253 683263679 614494969 519879597 830353373 385359703 410155755 247752221 486754641 192851951 87141045 128089261 267065815 146098463 603085751 65664587 298876735 995463529 291316591 469895753 6251521 16022071 526833805 767108967 313978427 739610843 493243361 674134217 662888117 793373579 698658153 165422845 189788637 791895659 937938756 909710583 965480141 392409219 634494659 386782997 111310913 802748101 645894485 66352157 726458275 917277449 344924053 712404539 658743809 824610065 637095497 427183107 594148113 950672775 134078299 992734583 801881141 365835515 504356575 614453495 657089907 936812263 183168525 5966419 422004857 750105773 85512781 83374529 583751583 691038357 533944871 935791835 93319397 485743313 937758799 223343017 39340785 266833017 96787103 996042135 980896277 365773455 371122461 271330429 471936325 437955837 324776691 125851027 750745889 430371219 863447925 956550787 679145201 103931659 242250525 143615575 106387877 510953991 750328463 34219143 839214803 121859597 327243669 680866799 239340987 376792211 398328867 850798549 167759939 761839087 858694997 248711395 273269243 900198499 718786157 199737907 627611931 980811545 829106647 452444735 250229121 381135137 183214119 835507693 16868277 876032117 741308183 882078603 271098853 177940213 738445963 518620621 928927467 723501933 55616909 922454739 689335107 672307853 61825873 387936031 631189527 761081323 343246899 987474079 751455795 870103821 413878455 696853929 931078419 880255067 987036805 828278265 217816529 811644453 70499699 731322295 75179577 277465509 411808379 767601261 464460215 524875259 887684801 902312467 68597859 367028019 491380879 394410501 743861757 718125883 446903387 95259143 832117997 377446127 361937853 658771783 900139327 697420047 2750585 395298653 15777197 769758533 606333309 352061251 128651927 764381985 295019993 284090463 841779457 771781915 692233161 189969277 869108635 166825881 254556593 662389717 497113023 996586975 421696285 159832581 803286635 760593187 880519615 617835789 61948741 530687865 494124145 240047455 998818205 708319975 801668665 916786639 122041195 282538581 562369343 331195033 268136013 303521937 644422105 864815204 79561867 707992921 928233859 302310717 709608979 487038539 464229341 240550295 942697343 534078963 116091317 306828627 183820043 217413823 113496061 341593267 626517409 143026699 93400783 553931109 573989837 232129301 410965105 421713791 778654923 814009355 156575309 394247807 577472373 427543801 943264757 456865353 10433879 416134365 979487271 231346731 508199837 418019989 116493251 95869911 145072671 517822955 803022551 205327471 66997853 918368913 213236117 567618935 24948861 511602977 526300505 157297115 466608209 555982875 453361061 292186351 735699021 817281255 295019813 316881267 380483729 832990423 407635627 409666701 136827877 854487079 815739445 448197829 564710073 750174965 916691941 731000087 62181923 299795019 876188421 44063707 646220001 195055387 99717897 565069273 671134301 972267327 787919499 170069309 741647783 623945845 785619027 480650397 205918833 430933865 788732999 52985335 677499935 756553901 565602427 760352173 919495863 144443831 811237933 666210705 387386343 471807979 641496767 931724755 505053705 374534033 170132667 426927125 926488345 663338715 448488663 569501273 854442433 633898723 122330345 742162447 597667405 202552487 608654075 572860169 768330169 978484755 170423858 282206855 201786527 699669753 899266023 914263085 296522827 247856143 158781073 86122249 245999529 807513593 959188693 43555471 881120849 913255487 598598781 939186077 259922307 710219347 727101311 943348089 190949157 900601997 367960307 169723087 25089737 397045551 989835805 636951221 869022883 538922851 504285035 250052007 24969363 889776187 306944365 689975949 330994977 403372461 535939039 650612145 273059965 967005597 474998437 882563017 370817917 344928979 776934089 423262453 585688223 809867775 967328641 563227575 144844557 878188223 206215461 535915005 76741525 819927695 560908859 606095903 524696495 117452251 605863019 745681365 370329209 915417331 835603853 29042505 230456763 91220753 350397079 199088647 174817507 946398551 43681455 281332739 230708233 860265933 373008417 838416027 277051631 948113507 112249183 112972691 449536503 344714229 888572931 985941019 386315061 325346627 931840979 877179335 144038237 903601655 38644665 672652179 623153873 46797217 582347463 719554789 973490837 900700347 163929913 674926731 824769883 306275751 152620917 38960057 649506937 313371565 340641027 321386255 120097007 848101885 467886997 200692623 786951269 776136371 334574603 987001767 95120423 669052367 408944485 884487213 721777199 822794811 114894287 536194909 389292059 831719111 816710555 326692831 682000947 685996845 498440775 848212925 21977191 261293839 314855797 349514095 432034637 533812979 617319919 920434385 859168547 517412687 670358185 700004903 101957843 219208569 358475709 333957409 917417707 221694129 348121457 966854609 77040291 875800357 13982511 643054007 576920793 806003939 271126155 37144759 775349011 362258661 210846783 973100063 266564741 487489547 483197231 579076515 834152193 359938593 918324581 44075107 58985481 530956501 287253781 648063455 439562181 55926467 669597083 868440841 381718531 239800427 352691321 383319861 971203897 429092661 740696155 949740831 407784839 238285429 795915797 338370031 132642743 681472611 698020257 591005231 848537141 436942623 292626211 184723671 248839705 811128245 17467365 543693889 807976483 820339987 215939933 626841909 768812985 325654805 265905187 725878753 806627307 87670139 606435067 329129175 703862897 362382061 124300753 104480791 795437737 682534911 758208697 483967493 447830171 989376551 481669357 558866029 781174775 869697227 34218449 563868039 808809747 448950319 308007409 787477231 679811053 304450183 254814717 390914219 421980975 501621997 814303701 314927143 715986727 238992479 683332983 510311735 302097613 842230987 508377619 490398493 367644351 351067645 316105977 193139577 832178755 971208883 184321189 490474843 431580749 760484747 116575163 961189943 212404335 922087951 403966471 6364909 89045995 459786675 968913273 969452735 707582121 91445451 638048049 32684635 640875061 708733341 28577391 421781207 436129995 899850575 218078621 431383727 405317701 636941555 838688083 744271563 719253295 378495109 343160647 515374967 212718003 562172387 411536735 107983717 278893743 715586007 772458151 311627959 130027163 562068755 374756433 173153775 48832677 572407089 93137079 973880573 34307991 126170543 628492383 831532597 556138219 620807417 798959347 625141075 553384895 799387489 440501317 935605373 645138907 403895837 705700691 611740991 745764015 288455249 196206911 809402259 642705999 546921477 563074641 761535697 55165567 696759083 604998401 827015873 17900963 635252891 927516393 649100943 776762315 794991385 143858635 387468753 432224173 666467915 778582163 686818691 112549803 293401027 30663765 609972491 746366155 788819963 875802441 593345849 899835835 241597269 505578967 765797693 577198547 854928153 302593415 146612153 821265427 587592825 471533069 605990319 572891171 698239885 567091781 341150607 149004625 285734489 5848881 781910059 938402195 382364611 141570813 244295107 577202313 656130205 287543293 124061947 389503613 448669857 607220139 541857247 786526043 262942065 146862507 755925735 582208443 805115285 491155143 117793263 689542619 199161213 440791027 819417405 302977703 18380935 984414027 433414781 896536233 797498863 312243987 839901635 871851803 649252833 541330099 400467601 827764955 217293933 497868225 322382535 998695281 29683853 700018423 837219253 18660875 771303203 652320057 350719759 964690051 450754549 239730833 71099381 741826647 988443833 139606325 815523305 556047787 789401093 715332221 248589273 264799315 360521307 763700205 91663131 780320965 132182309 417487411 858665069 150970143 254042547 441914399 18581233 314351655 274746431 863850925 776730425 324009551 353012459 181776641 518610999 378950831 334158525 965715815 135974471 948771331 241044651 936398415 325664819 373186483 891118730 337814105 954926117 729758929 947488287 567765059 522245809 959122705 170717713 854786557 876342231 28166613 432903409 723134359 897990139 361392417 549217335 326054479 566261483 286410407 949165897 707777925 764431066 565182653 751434349 649570245 130486633 859013475 707801555 629033413 590428315 535866175 615613079 279491423 845155293 58448033 124455353 206438549 634500869 976039553 210004769 422131345 728255313 29067133 344580771 710583979 479538275 429539549 398661367 872671577 139403595 666019215 439646909 145283395 737744767 390141229 784915841 671118383 118513627 655333107 179018417 327617557 161254307 700501707 240636073 892440079 92987269 46462019 533947817 600511327 307190425 583967123 388491993 932950641 91309913 349657751 633477453 701620183 307508907 618556891 943010045 48604495 999830235 23830923 495622089 909500603 161757345 957466241 191877757 644960549 404994585 44769593 90061255 218560961 739987913 705962203 632262979 65793257 522553245 396509241 626333295 856924965 357512171 431712967 940645305 700332571 289590895 453773733 375488365 883641247 744745295 951098011 284548297 477035695 369170457 140456729 165689579 5527149 541063363 514918709 652101087 899159331 565558439 712796847 499630483 860449093 567425421 88952813 600158433 707574383 763809953 310413055 592151693 941704293 471512953 587663005 513535037 589963279 514404115 452227876 347340165 854397571 314151123 556082079 1492187 329829371 547890053 149239995 630733477 472593113 871520865 758395341 496919079 649301677 378510851 275816921 71045781 446775589 103196527 310186113 539390983 438650655 153647381 853930265 432137857 88667551 556618185 920968087 300190441 15826125 464308679 5596055 110923795 697323775 318939573 22901093 198362549 768694191 47214497 147840237 324892531 297733761 285622783 127255753 382798293 535311937 525737645 185451829 300915533 372948447 307631601 299889945 866152245 693739387 49187191 961831175 11293899 783895379 558453589 604122163 686686267 82631383 262659849 971818365 576095127 249677719 269724789 684211821 988399573 763272783 247370987 120466483 223996889 529532387 833786395 377696933 203266411 428863071 895593255 309248323 553761341 587626485 617230225 405580851 99762919 44460031 631248969 500219205 758897643 411549699 46583457 626703601 54997685 868951209 607122777 228531541 995516561 148633801 580973461 820399929 781045179 622682713 798871521 427718923 636924501 608770945 731709751 549355493 782694247 838522247 622454255 685226627 477469155 480300003 127999694 814942287 687369121 483222319 85093895 531933271 632196707 267581485 891514411 224763473 828989139 802858185 100293431 872328095 934510465 598978325 557017491 972497989 868024295 824769103 881852681 99723767 71922023 75120087 728583119 148817671 725846089 876830267 470060933 943804279 178619071 332043309 172908589 455396333 757223393 383527305 415941429 510534843 606421681 430607953 888710259 65841877 229067545 445503921 395312421 411102939 337316073 638235899 971901167 544664597 211270875 577771693 467540701 927072627 528404881 507925353 784711783 515123851 524739731 86675705 11776105 391957149 469230417 94641489 903240231 967752591 451975207 804943757 549259857 183846641 388083029 242037999 746245115 529500411 587531269 222596067 207686049 661701003 177255751 966742269 643203113 230694185 855165205 578162167 307343841 383943171 485020497 290136757 992272765 733031155 686594753 576193089 703277339 524634229 860097051 231207377 195658561 723271603 104067829 594114493 654877147 440251769 574484689 114571913 629252415 160811331 962518039 322456033 163539243 912137771 432613659 662000025 192990657 793352701 837976853 422568107 694761107 757315109 360154407 151079995 230962067 831586491 709025111 28018837 912185373 28465535 170283419 72305193 825621497 688859865 856464583 567103125 619060309 98640597 858426785 758029725 126489795 621277741 825142737 585389609 978368067 241362751 647311079 356439375 11506233 622554901 121733979 86325067 203190131 321375321 8587667 591735933 887793957 163806823 851261651 882391153 712358381 14778941 986877521 780084445 662769873 174773121 440030753 604375193 807930429 757722499 98228297 44203179 216016647 703018555 191077297 620777789 465848171 11092295 835369767 705627297 365809679 425209071 445539433 605647955 519251201 95832353 244380437 834564601 165947575 405182071 98181559 666093145 381712651 352033069 336864445 623063147 224280135 978209325 63619971 240197705 740499475 145781251 800827719 553258547 912071815 549048811 498720823 409011609 487629089 753532095 213656671 803137037 6738885 121157131 245164221 595347015 398740927 972119803 616814639 390377263 152254151 636881767 739611263 897154765 847941625 989212367 956734305 970387795 831089371 401259353 170367849 386718753 269063255 787104983 691362077 998397111 99083719 756955581 591923683 337242561 710858213 173578795 814660879 627669011 787033559 263659241 434061015 1527205 872632363 528950375 13730655 497791647 164320213 682020795 917377967 51932233 285752629 548582307 334369977 666032663 20542733 926307721 400080983 428948645 65456523 876286075 37486663 153084597 669066565 440397361 406238007 960985651 929763895 29629961 299691443 373567283 426189513 888019467 666745656 318579951 1183941 161531877 425419557 439706825 273269347 297319921 972291015 900963665 831946047 397799979 778584907 93587765 304603485 453016381 93358795 921726035 480871469 761769331 669070665 586361005 326391681 432196041 912477871 299304815 561969817 542838489 402948303 982293485 509409049 569319407 886601823 362083489 229682703 995650039 269561859 875191855 255863023 341552777 362094915 146436195 424898711 825691365 47932817 401602349 229674573 551609585 865005381 517767595 30874813 268493887 732783267 416226081 925253885 75588867 704441041 78783991 668466569 667787037 332529377 374414531 24384327 249955605 960164045 266761535 874080391 414899483 176207991 322004815 179619833 748173315 28651687 36439551 927583167 429798481 156023311 745229439 975140443 412421929 309108807 897842991 855436731 6359387 699738833 159428237 23158325 227250271 470026263 137166409 503265671 273671507 526038121 582174259 768187861 581796349 666001153 588995911 565340331 909376465 249452289 921409707 334735361 811254497 295692913 604418213 55654707 115300079 187113281 864395181 895556615 309178467 808674381 363187035 814970793 329229643 252637783 344144757 400381357 189249117 999296259 636312293 922348307 232980987 679801831 430710461 263995201 819996457 358238077 464453435 766086913 309448857 676444193 889682111 737861001 418438049 736445729 852271319 564622711 433469761 480474539 65121077 527131601 936632607 106023899 478238899 340227333 802179725 792080817 997019735 500752869 681944447 507626519 316982347 230680239 784675733 627108829 461518563 119773707 195280151 865061053 679585175 483425283 544070645 626311257 792407567 67036431 287784131 518839607 378781971 344869131 887882693 177512397 67053463 970248251 776204767 699350897 34843063 677189199 215613857 262219621 378473909 672719193 635237443 742297041 672631549 764117209 11844257 697039049 712197408 403272371 210908743 363121989 71499999 217631797 306592867 538595877 178869017 171493651 241659593 107088181 934505945 929394283 52953339 205175843 23949651 387351491 942214433 212162443 922172131 468492295 398425863 171690477 287748107 372129421 601658665 454496947 933945209 996742161 373587361 359492395 780618235 970584507 560596283 724385683 7403921 294147093 423213667 684415497 801230941 719153685 421612081 705424793 250271147 540633627 703285605 65322801 622491883 373419241 585795429 272202413 411502267 856728751 32046913 834468301 630394333 419248639 688325297 348022585 780115007 359879385 364669715 517741957 574544369 982730143 78676591 342332457 215627311 791178275 736935029 834838661 22630493 907388055 992524667 937708771 631230213 313780377 589309823 575883637 653544157 594555439 805280043 39674197 97551293 206572739 356039373 11748227 162623403 103015471 239388509 341286887 145631183 600716205 837408633 961542741 277271423 133915363 617967719 749052803 286152501 722836191 567278363 870246933 407263127 166867735 969400103 612622741 54720107 288137317 176768461 339651953 48588713 428708369 917559541 337448451 222418025 68265671 89711147 206139279 706857457 740554143 687537579 444602171 182843051 544077585 249134927 400249883 803786025 525727751 356664737 788250661 317871911 687452363 682844881 349294909 835012747 285402645 278241205 765142571 605533787 110145537 544095437 967816097 411818959 384343315 278090049 176273209 15822657 620456763 969890781 600019569 718333747 588625099 118955547 812194229 485729103 517325187 336907545 986455383 879997805 128604551 29917343 627340429 423015557 107955813 302764059 28781179 43335609 570945041 216184231 358469929 963644247 391387115 590094081 126634121 939084241 771286963 173201039 298059634 481563843 562272923 601126497 89407659 350914031 382936119 550839085 59676631 483611201 671940485 693699413 936915593 127996619 514435559 745316831 536335165 652807115 113398829 399753593 872799823 532782497 45957005 201729915 347477773 107949021 252832931 242853093 413277351 26185261 399572595 909461343 330190645 694344559 526033259 193531445 455526587 261684389 91699297 669310819 738180639 266022395 342146451 611818115 469265971 662916549 948017061 355178977 790602417 711886717 358105253 158947687 492158267 686766789 128933127 711219633 819947097 637062765 505988777 55514365 980389501 378851171 98766799 237795377 8232191 878802885 741248041 553688031 267007777 567423445 192845259 736037691 819648269 964370687 483982385 320441637 350645971 352037079 89528641 439849765 881793389 23784983 102379083 532241513 592832957 98315171 329211647 294526667 850017163 470049159 664448125 27099079 151607943 24187891 958547531 39696263 470947149 17874501 676291415 401264601 159908957 780869633 329938675 296017205 800060705 299296207 713351133 439174583 855502057 537289349 456001341 102104107 358221295 115733535 652600733 368394493 487689813 191166653 529594869 168631623 320622371 178376619 343184033 988280261 229004617 156082271 436727399 284037087 342301347 306624881 201069425 661531303 271725809 424288679 987407449 814835665 186856669 611561 936126233 476793533 874021111 518528335 26152983 219811701 968625849 844694543 950529825 715202981 481675139 404930703 600707179 321917349 694714785 427215195 623815059 939840883 155921729 968906533 301583519 212840379 876734335 454213063 839715579 461402311 381591899 898576199 936462973 545235345 692539071 914467535 596194401 811473079 849732473 34679729 358068303 800144257 219015751 741232747 656675665 851074781 106025417 394070429 183171807 171009125 29620613 106434837 133322707 220300629 824856303 514085573 618138487 295964054 251160673 398933447 784403059 940470969 314164251 196241249 111286751 586488563 829659975 274437629 806006329 971385377 27759347 734074415 135020133 723647183 348614429 694699439 575681201 387131689 413079971 37091429 572216273 483075079 787426641 672486233 525921763 685593067 581514965 11918783 600111981 529575415 550572491 496587763 227606104 309429503 417586097 647879287 315272961 687700087 14936309 827997431 443988767 36154751 712995301 170214727 665750747 625116639 557090233 419734113 981940159 37574407 539215765 194446183 819536321 693128973 409145219 148618919 385808449 463614385 401031025 377647765 240363265 439926105 800605755 767334601 844104495 179623445 321085599 927729415 316248161 550315165 757182025 917464123 564380565 735462735 258033355 449852793 818382895 751263027 918124701 479211259 424920315 323770105 251831839 826176805 827896625 506643445 445675163 418560385 567438189 966081835 523686723 535403461 606046899 760878141 51671601 294943945 733380467 591345279 179729763 831160721 171887231 729950695 688233925 456732745 985163287 940880913 881151017 267033413 969043169 470686537 950430789 601886209 743244005 922501499 680102845 480459293 634989215 25820479 32550681 444879973 427886055 32059605 369920715 763166671 324450053 399402277 21658157 392306291 596111781 594673339 863176829 857226391 686796765 318842579 501373927 553061283 718985513 5835335 855196797 24502573 548570481 829041825 897084725 725542897 772369919 271525649 11706611 661643471 934049931 602601837 659038591 302345683 847437359 721671477 46157451 625888563 456919669 751240335 911589039 72102471 940790853 736032587 142303343 887621269 68430585 228503521 753296689 882709191 480640329 715706479 893534279 547175855 10453087 472091581 239304683 141683019 447277255 716865593 917178943 119614395 991093 755831549 783592523 169104461 601766087 226417861 551501057 152632435 493293955 207249147 616284217 219225287 741698517 291345581 834542005 868652047 201291347 200895377 661826591 172017205 796527865 299068681 181035015 550347595 126252589 769717529 765787368 172910223 839759805 849009011 963105313 735464291 885405663 754906223 34103805 177157199 763352109 485144584 640290477 937512971 836852399 901103849 382124873 174153841 169180371 460019553 882054867 492320131 424588395 933193317 409216309 764965485 543146167 716440213 319831103 426349187 25843545 769100089 144613547 416148031 180656995 200970561 357050139 633110083 583846471 123859523 272584983 253795933 222515427 355569535 391544335 687739521 298303611 810714331 526308447 46967749 83701695 19325927 227711047 285344627 247518145 605702875 276739313 843043825 547959553 322947477 868902253 852576213 489824869 288603291 695223733 469113049 310225975 812561440 851266987 404502751 394749229 706493177 884911637 154960631 590164325 826211239 510820265 894288975 772654949 680659789 594169853 545980741 846576921 498186431 153582227 902155355 704806103 79814003 951001043 142552895 694961245 537901701 499823633 906871745 411875277 619669953 376414341 962650333 218004663 239101075 448463953 909708215 370997009 713081619 576145787 773094041 867685431 600993537 829131769 681560569 799477741 392078021 91374241 234515311 364795235 133164139 615187506 653220031 673084971 344577709 878451805 316067031 17834821 112460777 368534189 75343047 471104021 674046249 672792477 170602187 771581801 906578711 814995341 573531975 141260917 440827663 220086217 611577287 729631191 511244303 785914751 64970747 523312789 873049533 116693707 371586755 983090459 749675881 601077163 177976605 915787325 453450507 968825613 978460473 15512125 535871041 189744063 79421799 282869691 222271825 450217337 699242789 89528519 970621999 573549025 26819091 407753686 954803565 864587131 684644607 643726533 438950223 36398267 402592987 2651097 771872951 617857275 774562753 216342721 918053433 676185467 4173815 410686863 454126347 243114083 567926503 723359169 829798921 477922759 502854179 84068671 642889407 822054045 517488233 299407189 950056537 33012681 409991321 866099127 345888943 661561621 988806337 275298691 519647553 315397679 613588755 168214077 746501173 13164465 960571627 271634133 538282333 422754847 207865803 554459295 902277933 824441055 362764893 220653655 992849349 522290501 548233081 751399203 950052333 246861703 488437527 180063120 495496213 164486601 375323481 170390677 541604691 560763669 544356237 954971789 504981093 594568793 627722021 295853119 615046837 955929455 72426685 124438489 541695824 244011035 547624215 989779949 1383921 658339075 73040929 860551801 978666483 948380857 914385385 166075365 62140767 271130297 166373807 369750011 625775075 214545505 873735893 344466675 525774297 81897979 886995429 173474919 645907773 446644665 315467155 182975585 818175161 299882675 437899707 696001609 827652249 32270827 439969377 668292089 768782297 201125197 785070253 679037099 248018707 252840613 352834036 254066693 711877523 409710255 510299827 977408275 304618053 51265549 632526219 48580431 309025985 567323207 788765255 51462033 435194951 532302031 385865435 781112607 350576317 589116925 864772197 891254441 646429109 634854421 265651747 221211971 924213089 741275197 556090499 363677547 937931687 574100359 566273561 490630147 292828425 88619501 471831201 622971739 166704057 536126801 833708027 439904808 536543883 583260283 259152691 130793607 451460099 745365021 58085247 581453053 718664005 205483471 38711 667739513 103859489 363412243 265517281 770125389 454774031 109774931 337657893 822242617 153451053 958701535 342029017 740479585 99130433 563749617 226363897 568052561 495013567 301193899 33708709 317459969 709854649 424667413 577559851 857294285 21215985 286593569 868900347 849396347 975714511 699757223 167578293 780950325 693969249 687020905 825700633 907728277 145850205 407660049 978258961 863137429 595042597 870757423 933786805 980463515 72575933 14303293 782055739 365496181 187363799 979425947 109293579 855201113 705974985 15117461 33199787 41534945 940280723 462086491 525357267 800091157 871484891 107738885 125372765 855383137 687009011 882215317 923373899 479384475 784206031 28791283 619150025 111707649 733750543 197957875 625319977 971915829 654251003 712784973 411951337 89482313 132658563 465112483 558090409 224176303 567157307 990444411 817748023 689278275 350956135 957140043 848708229 940554831 271191275 480602985 222865327 768012667 898312791 696845847 682187255 432198881 378265569 698043517 196525257 702724091 187313259 72566959 708178873 852553391 629261179 866266533 600726401 955841099 617614911 490096705 723798787 918561411 989911185 781502537 255756879 585777781 759911405 861834611 569838995 617888167 579625085 692405843 539005485 911263493 47091213 310759791 890320287 78055907 884861721 482030639 467341973 756496131 403028411 975956451 408167395 948644741 778299583 637522115 308993923 904092665 834680465 597662965 218456985 416094549 136724553 966285693 615966575 633930229 244973735 966868815 275327097 740446877 250509585 130101829 889864531 76042107 767536791 568504863 432405697 922491685 315037425 507607429 660344491 939688857 927189373 170626315 574710567 157799739 333395523 57709097 669651311 993592281 756065011 186064959 596880615 72957351 273940963 871205783 474274331 238504515 305193233 869599333 227857851 125098929 617668903 640869309 56171429 822274913 14931571 518782117 657837533 348961063 533097453 325420291 52660107 602786367 735124529 843902123 24308743 159153231 760262795 634424915 930724807 989469797 123138535 903641759 997962609 658567159 161364959 986476825 992350417 375821279 926928303 299113775 844977623 659474789 826500417 602066235 9961379 134756661 798354465 750816129 465894259 155136101 623619209 754051367 821780407 670521203 433469017 80801089 900292863 858532161 272175125 37204421 992935689 916668449 111354863 833938583 309630389 805128901 624749245 204642431 521966609 116912457 302243071 211107375 480345935 499481655 584690651 138803521 683844553 764449655 216774691 580982067 191678981 326664035 207249227 426451059 80424365 30622133 117761139 637715277 737880723 416644755 512898403 683601149 342268853 376524171 708626825 647688869 900524083 364683409 582649087 606861389 863411291 796616963 137239427 415454695 949803167 850727079 712861051 933578317 577594011 820180137 469269749 547956797 840985617 97122975 59885741 954656611 210000365 311539077 415933183 133423439 793806147 946419395 141981427 45632637 229038667 951061283 838517047 979854667 574958445 939999709 487242019 681234179 19561009 918454155 819683767 819942101 795877963 16290101 35989147 933478623 105298583 403398473 55037723 712937757 467644951 940812953 868666675 352707707 45212407 562877285 555903101 765534665 398811019 168517713 225114435 136445633 906856269 277325161 442139509 91090181 274474977 921048869 4381609 180503837 304552465 172201825 646885919 285910395 382701265 568009315 956029885 951595895 924440125 710244311 192442645 903509587 446667417 629699027 8025 435461177 85779789 704397267 208107887 549701945 60090863 300593085 471731929 214776397 764380985 556231903 589299911 434927191 242799119 543453423 184169747 679032607 588372603 69409543 774292793 935252053 617006259 945024687 979698531 62693013 72163855 362920659 425192287 702326369 163125779 108710601 346857381 298746141 212851053 213361487 804379729 476257311 493212397 683564937 194217519 814236063 686029967 863122435 129243563 709990335 287200887 97917877 87670751 229545351 334115313 471345403 491569031 274526695 448857197 953790617 552301579 643921083 103323275 155033279 607217277 122131907 564583177 592735743 74756753 319276457 340915159 165594201 599512487 599682301 823087877 17677873 285184457 315216185 797765071 106728789 685191331 55393725 802746779 557524475 840879245 871904469 633463535 543309245 952157573 380215983 529384579 918275747 606607927 202528359 718156337 970774041 275640045 145212669 740634617 950514677 481146528 194614363 53762315 703795059 651487729 446527569 388709047 881209403 59188773 935897495 744336763 632301911 703102507 584436947 275907063 66448957 700738461 509773705 895370745 313592781 940766135 537458479 851331955 38383433 716366947 335236633 749699969 293151585 84883247 266750605 524424037 33955623 481106001 512816563 705624459 196090651 880028587 272702107 659698309 936402977 716277699 154412349 261227025 177565319 203964103 739669887 476626447 509129473 37692815 857809957 658259341 298180525 52157083 130956259 207608255 580202767 514399507 586076243 762227451 419648279 421885379 944785141 512377289 839631897 745055271 504074801 907392979 24922577 921183576 621135963 375792877 478301797 775762723 567298729 2663952 368276323 766276341 966406721 872440419 176726209 653877989 750368039 460696621 97986521 156135091 854330703 561587171 536040563 976896197 785701779 386350881 171408317 639251755 275233457 985406377 78569801 666863773 676639319 938408553 696509973 132540793 582082065 341653615 678958473 800090311 34152029 314522107 123409009 898402613 347075993 302026607 988602369 34146333 897660175 195326039 755082453 809545851 833350641 876560995 913201143 821307385 999605337 550807665 871785935 120586725 779615301 650244483 138562871 839314999 32751777 912991687 730040937 817825931 638214719 143346061 628561931 757199661 496915157 220230737 429113387 736631817 875832327 147074487 856284989 814000055 222812255 935241355 139939105 170493047 532789323 774363069 604900887 110328625 238333733 285755243 711745491 372052081 930330159 899300313 504216677 43303281 931752341 530882671 26570059 245054225 176215907 988338373 267223149 696191701 831069333 197574033 686658837 812530671 224573965 446028217 147192571 771181621 621923219 521126729 516762425 39435559 901628121 436236913 698361687 749206763 393651319 933469329 790787139 210328913 610544369 761988393 328511311 343359185 386465709 254935267 506925371 868115849 200206333 778708119 429114667 218140737 796591643 529475643 13950381 107731815 332991017 488072181 87759797 133938709 547267887 58018577 200982433 563409159 138320927 770052865 214945335 631458215 89462481 202923105 866209 193713411 727184647 4915187 662701177 807486161 657835371 100720545 253422267 125894771 445316750 902051203 891748041 922805229 131392489 604456143 955335795 593215217 287287517 486682349 805936621 123385303 649864625 39040613 504528599 948398747 976703131 973414379 790035763 225666021 818931889 281956699 618089583 18299397 480680181 822887095 767555171 820831733 889072465 614150443 15215687 693980239 480096149 353777673 500566469 518463069 748419707 956768207 992229863 852942607 161514149 409833247 487279141 489837563 981851547 775888323 584351067 833060449 832082637 398375855 594280655 889016871 774318743 699049471 625939243 39452381 400071995 269596149 644867977 646743225 652088285 953655293 979999843 834556317 739629971 488856747 819319967 939010063 71342677 895579065 421627531 713517119 544351749 947897611 73660635 265170177 508274027 731671979 547364271 879351513 14846263 16020173 328910217 807811305 354998533 176941773 209327191 569463301 811937877 908576815 967873647 770565027 750349201 823505563 272447885 346501855 989811977 745210343 13298649 705079685 722174965 557156109 390385373 119102209 340392827 321877809 252430993 711342955 330549151 368379037 696983121 149265027 888601175 360742343 739925985 427605167 216330361 744804423 5516399 829288961 403946183 94148579 731135891 850558765 527313129 978105219 722899015 926443155 647898227 273715773 861571569 439156539 145281501 172185677 830087005 817433557 608461703 931618323 714048963 420445111 867753661 174205723 230126529 733736417 113907373 804682011 34648151 925527545 678262643 989875435 406256119 313370447 355130639 559995281 353918325 21649371 975683177 107111733 695410445 609372475 909016149 100903471 277469031 666887605 896098953 728094197 221964429 468834109 300518571 774172717 470853877 455141477 880905535 208520611 103814271 578607473 84817081 343226185 684227437 390912323 215279219 62062905 734274925 863115887 578869677 813699513 778416789 425116713 638791311 507548211 509643875 496351571 925125933 831262265 983058619 473788275 313344637 617193609 664318187 89979319 683001699 900983811 905589925 657824759 332790185 278052021 131072779 784807859 244022525 787214033 348786593 514874641 561618937 24997811 482151251 43769315 514511137 363458269 212153205 104401565 141080539 828218107 255979719 529880415 602804603 79297247 709053039 685605617 810749495 550286983 154183413 293692355 663540789 318618645 718389077 719646443 732816505 16321235 748115943 44454695 447980023 100984885 563327859 294599649 144869511 189361879 725915173 874105383 350150637 542883707 228333203 634213297 404925135 753867789 537978043 268915165 641502143 441195169 788833023 735019699 57861177 321418353 557108529 302442977 241537947 363720927 687859585 722877889 437921839 304201849 140376977 980197967 303146023 872093683 69927267 969952821 349968027 244907301 279565927 745031103 571122319 427069459 77086319 285695977 644517865 318447593 19019963 524418893 70115963 76625403 489135343 471105335 961127679 622949571 217546265 97764499 948472855 814628581 256205229 796863225 906162507 703066155 38928009 782277545 192451085 490578059 754926579 370155657 871454389 343387421 806174871 459929897 955593607 147909925 295305099 975223233 672181161 669727504 603185483 325411889 828754477 240213873 293426367 797962493 155349773 462622209 137740337 925158485 314434091 475434149 960701527 971917075 387483215 905470569 757908305 46537653 908009515 879883389 62468001 957962593 110026583 721094975 900987701 612417767 664788821 481441587 260131941 640446911 821726351 182488067 552515817 551509765 291486549 935646593 562202347 113276549 323414753 916256937 780923383 901778861 11063381 299652767 569585665 744899217 438517177 164402095 319668839 272553203 919839999 83182667 988038381 497798459 152118015 751666701 214577859 587523447 355188347 800411323 496299389 379236957 615741213 782944575 337391639 833583693 219893877 784906411 117974519 635412049 870630653 933792573 809124843 481285397 827568405 372297557 322500391 374191089 393435145 978947201 581691467 730883045 339074825 517071475 145203289 360257687 608418861 948560901 454608319 797851993 248551287 194312765 149163859 575332895 36637137 851942725 604052305 712968329 496702987 413016433 14023265 964602591 172157405 514101305 584757389 853307153 732326637 473739077 26332749 193098674 885658049 441310557 604867453 382424841 915545801 667229045 318959713 159228407 382570849 827717033 230587049 186095885 356819145 419829307 755450983 7157633 496435499 349312663 645922075 913023541 227306135 946375247 199836329 99395247 807149573 660770848 868373599 317917725 810621531 724017903 87437297 275730521 432297821 791703747 16638077 495271135 861175489 560259025 989849993 976825817 479562525 929346933 283699713 310568211 361106161 442098993 243846459 232903945 557044139 917134769 399480819 178655189 614985881 468915657 439606097 565799489 938742259 346924403 743255519 612796093 296120287 433252563 474920085 62824545 865491809 136265523 810426829 31369191 467623791 691672073 900252239 430782653 464661981 582065645 582849609 688932845 166215281 646367139 675615309 680034609 759338449 214088985 126472795 936853991 460450961 841014367 528438487 95081495 645835305 750288049 241756045 890574193 735793657 347937139 414211765 913146955 974970443 791955247 720830443 238388899 710646099 77385371 257919797 519443235 802732581 563706255 643981311 992191513 808867271 435603471 86411805 331980413 833956383 39808841 10875087 668911339 339559681 622955661 420845499 485327535 471785251 196922455 187660779 14984373 665555243 181662027 971299541 612714647 180751005 283758389 660300121 222277009 445624045 330561031 989847737 327290253 956189301 576240347 766825891 538157079 384005491 625036535 685165869 394637161 440888595 117572803 308411347 106665827 953112679 665770199 15800445 385030281 99977573 389377769 134953335 696987917 984289265 591164127 314259315 725236677 813841621 461509061 244962963 509886257 263208127 93044941 489319769 863026295 592646985 665233491 872743861 68462697 922898935 479962327 348205051 664263803 530016558 488905737 604870119 27722189 430218563 64824763 476262815 5796391 821178223 57851621 760947887 873150199 995253455 935118511 609024273 680108119 13106035 775493473 293680669 504037893 356123461 714190191 27668379 343872101 786543397 416367731 582689463 547546507 25985999 37976115 345698055 504628781 538969839 786788761 337407367 702982313 252958231 670207929 703584157 559132165 327484861 730076877 331724313 109354741 175109189 483397431 79959595 526004427 321404151 141987973 401185397 513455753 3023621 440049259 291326457 772438486 925175943 113687487 775768357 832981505 376101247 159718795 197640401 124529921 396938455 11087349 40814391 517132919 137634655 539876177 87299323 605512871 10085075 771456797 807824943 530836355 714880719 634129147 826065221 255984033 823816161 341492149 657058843 417824065 474460281 703220289 944217847 610889033 847947247 675799735 84179845 733895243 718119813 538684763 480751065 594991993 369704293 849075609 308124531 360711609 878984095 300296453 420611129 411602573 835435309 143789657 229236597 606721829 185318641 511934073 481760989 10312027 986917043 803813745 879330705 118950059 229301285 562436465 885523731 890507071 146516959 706553303 215553104 540594405 752123491 662477351 580791457 865576979 254485785 274007817 828660417 998422763 643616599 279905107 167813587 71252531 570716497 378239231 491475049 67125337 780498217 786968625 303336821 275033207 812063723 745092149 926404947 296200009 209677445 631435901 929564877 214583351 951221459 848216995 306296843 703045203 305852053 613508717 73446311 314276689 434964597 624283331 428206491 21012113 830177539 300016827 971836493 141119005 970662329 921868689 409992587 239347105 944018935 782642853 467874185 663567221 197439497 572944005 586870245 896825751 376050717 709583329 236524709 336175281 441220943 303714457 1688885 390624019 634034847 879624877 685750635 931759 216835575 281583943 317051525 695950635 167855911 137895871 851140645 672170697 103318249 661381771 433885019 36384121 260664285 83781715 571887005 42979029 670999949 284696287 101421511 399994905 424276845 859595811 220402461 163119919 513427411 280180537 512752205 140471717 893340927 185818983 385284207 708530097 742128159 909707031 999380989 385726773 992636481 536698077 556632027 745890487 915921757 879792241 985684571 391657573 554156889 974842299 200490543 147755287 182783737 542032323 395571061 609616205 119716081 428916157 949610163 785022511 820208859 200546821 685181397 968014985 421509687 352170781 103602479 566640085 423285101 254445233 121529987 300888883 597092561 440471189 28879345 733853799 153608603 230281665 171166985 826295011 596823787 607883613 243160513 506004669 567611083 288257969 129127283 478178229 942880557 917443379 878069223 167620145 809218795 936215417 495522889 95773761 771222211 239151693 984212015 653404829 630300259 661704853 223482007 468220835 288492375 462364007 85527781 855018587 180477469 431659261 278812645 664824691 468561171 742395323 815727823 962856005 156287362 433970475 250367551 247262669 136109215 429172481 30674233 481381813 800264321 639592473 910106157 780346699 899740967 552224631 435613679 16990341 804222847 155783491 63464635 43592965 454168661 370911187 128913719 907746577 652149607 83438753 142813041 775414423 848634451 210628433 564974557 756401711 659530147 914516143 774382169 863442969 558323145 947865003 557532971 295428413 515654173 39139429 711723519 915576359 113290211 669657371 221384427 298668049 141282625 259099965 21760365 149357531 373478473 358172251 120914279 773753609 786062837 341097265 89986601 690937037 459883303 78652581 850951017 140511997 440522663 814963389 607494723 218213655 480416039 82149809 51097659 434577223 58538049 226717401 79276097 717054807 816504179 726407611 311375783 484902847 179724329 811036929 266521389 327017635 262971827 633582973 713565175 649687235 201849933 460904747 172005009 420624533 64048147 303606321 961193461 642772779 885108755 877677015 526563451 4080457 401732925 969404815 46178025 714107475 911446889 905324025 822393711 845582679 366429275 360595925 301407905 850122769 94068409 406844175 573671035 147439069 195918101 266078649 82317669 24407233 244972265 565561105 124359465 273772655 336241559 210190967 32718845 16912189 897630055 818323577 972388225 633915181 523998857 958480329 478665143 628986081 745038873 409646659 663719949 554192555 151584537 39637481 226191449 877513091 698923373 904944615 915721689 20245001 569590509 614913937 557100081 258251137 295290445 688581983 329226861 98298077 507448879 601400825 48096773 437473715 969509407 941012263 188680149 117246785 239072653 199031517 8687905 514648945 336186577 327713335 940837017 826671059 527304237 514141303 888643409 332566169 96072393 528074763 822521797 54424999 934414265 532762497 956018395 220777347 530002165 869548185 821750497 645288541 430919263 496226613 35842187 456142601 165606591 886341215 317967351 370368011 812870853 339304781 595053995 178987141 647857677 345476695 500460947 827968331 813457943 616484865 951206917 366757329 546618189 681240055 36351167 700798265 749574143 108073485 424638435 380399433 4141927 510028095 854891267 298078575 65885349 426280107 395212303 45788611 393759173 967253155 946730089 822379013 261211317 486371733 789167571 783842971 766515793 137825057 829745533 643817879 660946777 984073477 226890489 675447725 369354101 769319473 935932743 627685693 744857657 294186933 73072587 941685583 61580317 207617485 424227667 956206227 411399553 235875037 819088659 614031967 858443185 674835057 462516137 353505203 936095707 257628729 202790939 792432692 131744283 191190805 700080341 967367477 379035761 16695811 329509037 424703657 92194245 487463731 340383711 647796275 184856811 874973941 591090961 194427929 726173083 981081798 724353105 604820555 440170357 929422409 749554197 520616285 32953091 564944457 883499063 623630227 960474295 866673079 387109633 186480079 85557227 998834867 609931291 312129189 810444255 271058301 345549725 291707721 729596603 880946559 383343877 42241181 970488979 714900049 887333431 802459685 654493277 576838825 3288191 749409045 334897407 59320687 956987285 239830335 511964733 144835755 888993941 330300965 683748299 725573265 654207235 151542253 918254147 58537083 406663119 687447142 260663331 627248623 984856653 946248715 296744153 789205911 636613945 246060793 813707697 71466055 896340409 761972725 404350697 161405945 468107355 393145201 220263071 575476431 298137619 346073217 894224349 309669911 241962817 184434665 708594581 432216387 585228967 771373325 70930335 720192751 769431155 310116605 822275519 993919453 640586555 914276209 384328859 341986809 73774843 755260871 129028295 155920727 633855515 379685383 288995257 340447025 339421285 354124255 669514965 791078635 85224977 139681191 373901923 227015439 430553275 392494945 154548373 863096913 10637415 288121775 921009283 755011213 12998277 711892709 454015281 284606917 510654695 670413303 93074053 460622119 976567501 219392391 537850961 937994755 366607323 722565851 214482769 69365461 317699359 470781665 15228961 714487359 242917389 329994033 934816849 357267473 709777283 279373067 545897291 508352057 69146823 332401749 142646639 700006869 549538437 950665887 556373241 82863145 498909651 728694817 400297749 923021725 244425517 89152699 900691667 933797063 406402425 513772273 125938221 771767137 889036549 889002739 548605701 933667665 209237639 580728731 870375971 744314269 491765275 380699495 144904761 124359037 798114373 605606269 275004127 808911689 621038323 696882349 867774871 648700807 136509051 806495341 202001611 388610527 663605915 650838495 30613195 3636263 70799223 365117641 373365971 663131483 26810011 449535641 759705599 706718875 389902335 606123881 929597533 587614259 588402431 27448565 469689821 712931993 43618657 771328423 581322583 897109863 764113489 766181261 873253261 153459293 990801251 135187805 212129321 119529579 187483031 662783863 696217275 916633249 635981907 71024869 587292093 216075069 612812385 204059219 473480593 829470879 652175607 233945369 755708797 964016213 904081587 656395831 426493111 109767185 748352155 973755731 135715157 971088559 179659035 824101309 729866585 576908081 318228235 584020333 821773741 547306945 132489379 659173379 185332513 749640375 608083597 322472387 356998511 274914699 126857939 481134237 23731767 553944031 928063981 20150059 200876037 977720449 512646071 535428010 130055495 183560291 232601205 81917187 105243481 915478945 808688599 290506691 433124219 590174333 613912559 701414689 190354903 194128995 950702653 478026239 286030973 44801255 698035877 229020131 462891111 53626051 105305205 594190843 917585525 896136921 705157473 655679521 518655601 32869687 225387655 984509393 374534159 67725841 613805933 698596148 685193189 50204349 911980287 913513497 916248181 105158341 473668243 168455415 605270823 338927311 745473765 161856495 633057615 343150001 559309597 43918277 897634597 915656549 185263557 397998315 249923273 163734541 975387091 449456247 205393733 884094201 356452775 480931113 791644045 107342743 195994115 933021801 900556661 437581957 456565013 812846403 33717443 537400455 54096757 178838385 740006943 369803653 612860189 538996817 317058071 336145813 83338865 417660395 258188841 784074737 730934595 773368815 237077427 576319997 12414405 733052081 762411265 888901699 98920853 218927669 25100353 130924921 268393145 899413279 382527629 262614391 34022555 426441151 280590057 232866883 913509653 673326859 478079291 548645637 160266593 734394277 841143639 208239891 490087717 308986579 54379509 403751145 265908591 577742211 491443125 541798183 759693237 677547343 111387681 986807193 712326353 876276083 287662251 136157237 277605387 621338583 258587565 146116627 268058127 670405645 487724389 614212217 382533619 791115337 527869697 914322385 324220981 108547181 821384589 457910445 202245561 862747901 43694855 868999371 522509003 126877227 727243597 965070859 40787491 815690957 21795625 594109819 518797789 152824163 35131725 915379275 434300541 468768531 610200401 117954779 472476147 878709935 299741881 305066411 997093009 982543273 847666667 727613031 790486551 668884775 151595833 980794593 273556649 959045867 579020255 513968151 23832021 176449637 691353851 5941033 224943503 308876207 58979991 571859557 839295285 839588485 31991461 318318141 615143565 123925841 272520701 208570957 78957763 951984161 421018977 827067991 234778477 660529069 581075067 762492231 582879625 89157203 794208477 860597295 25906809 20568857 442991357 374005069 531106061 884336819 821751615 998810883 927926395 299707507 691017963 159797979 590847327 954129755 38341427 37240457 530182845 417241363 132420143 802161385 693936899 165541095 53598689 95939837 301542663 624820433 820707123 293678833 191695111 82538609 427423477 891527449 416162727 222194187 705210083 115212527 697146613 670473617 848728729 208460823 459446629 39158169 216597157 844908891 561438421 110375011 913813367 992314799 815810441 963590869 97789031 378831663 367596848 680037759 721953975 593977885 487242209 940611993 675259537 658168807 173687573 297500161 103528453 289640989 342759091 558646847 449031183 903751547 322683401 412345731 381039499 930854629 411291853 329515427 412721223 136578149 908717081 606678557 974895091 394274351 250351989 746966811 534493479 348368289 201517007 370586219 902818917 851063865 940283001 246191235 721667863 469080229 489604657 413402501 4505229 397271483 785354271 434928183 786671873 47074673 440968909 11384583 699031699 279931885 115029299 800393997 690658895 603850361 695205805 701015307 488709413 520531083 236891391 298447971 778297067 952062139 144339289 915299369 298294119 845224911 26174799 868664849 152636737 479685041 536209117 535925115 204900617 151239283 527508073 141027441 215096889 893355857 55586241 609548957 619192883 55204271 2954009 621928539 115438397 200472089 323744271 484259241 599184781 438300993 780864681 822604077 99375159 383915777 423445587 184210233 486766145 462558047 510116579 962898623 789490067 408276869 720033685 202280547 714869757 647464133 129405969 206129003 814009913 511887261 300372833 287387335 179714791 691579565 713852669 902529549 591035283 742340035 887692223 300869243 104370091 451106001 731525361 759304699 985278347 36254963 387938619 348906011 705494387 328943467 516648885 478387985 839836811 21235875 602994909 927274174 572659175 202121523 448692119 860386219 409819007 382513875 180240945 568055299 903054643 526747493 772751711 810015903 781338061 203305463 81828159 163900415 287976449 760409019 909281367 116219211 376581475 729389837 431725201 121704271 111666041 290169967 400702535 405764485 848043689 945846157 44994355 717112589 898813255 603831355 404085629 539759019 564520075 927174515 153217199 127428305 340794261 559084121 367956159 648796309 752715887 802757943 34920205 878329015 750031627 812699777 588519771 78827421 696788035 866848211 45605079 15030103 655361239 173120239 79039767 114567837 916306031 866065089 807799577 747130829 866914975 325444701 236778561 410165231 888518109 348192253 817036123 806713265 449793165 486966789 351372191 984014445 695801335 59183103 11516841 249968415 217333583 271779233 862939773 90747761 810468521 524331459 890097291 670083249 729585163 115265897 871176869 271027413 182677595 485971137 170975499 324830079 520683627 635527195 832086115 998847733 529954295 420137715 683099317 703387941 802297501 215394029 155363965 356866727 980248807 829544659 351197075 544431547 814296391 935579035 250119743 476685641 903421717 377764189 229242924 855892957 4069269 747968607 228840307 795007665 362715885 321493001 813276045 947544229 622085935 931888113 473137763 660398909 278419287 368170707 123391295 554714027 835563585 805809551 902417369 206902725 454401469 863285811 123046731 564379401 313595253 387871471 685948703 261552033 958445065 309882147 611792445 59194717 404915701 523849805 879388159 646122159 878936741 417710877 288757533 595089851 618176873 902152803 449963201 537740103 83519101 680104477 63985527 945280963 400616959 993885291 111114291 241429570 949278969 341267611 984455507 556825483 464251995 285990431 569384861 892827903 237480963 557314961 635508029 33368493 149355949 150489015 313019593 733364561 359045125 249039483 339323965 988390213 713381787 485502961 396205567 718384021 778649065 133603153 12413405 694418925 982637137 916061699 637977613 396088997 700874011 119121039 155280425 72238525 807226487 992340393 837340217 840649693 837840259 370513707 78467499 966199633 583802683 289582363 868956753 380648211 39887755 567309477 810144617 722457027 980942403 155878679 707175067 854989477 159368221 930595057 430595827 861897899 149413305 791249621 612403685 90669931 552528547 406003341 367021135 791393827 181246027 720524813 399303541 469916861 471709449 38204017 392231943 41754823 299948831 457945851 219641623 624526969 331961271 410404375 881746213 813337521 27258849 512817241 762970391 472254199 437813143 813073787 271693621 345335931 829855929 514815841 48007739 985715473 756282387 439103765 985839169 584546107 585711187 718513099 421332943 200185889 135078677 739233247 785835217 696746641 601917913 867379157 648837533 660421121 944966921 801486165 546126321 381866899 225965301 235042869 492375535 856829709 299984087 765470575 74641191 275762653 475016655 500840487 208710031 295575067 127934953 501937319 172615811 497061767 791079187 135483749 320487367 827007111 986665001 24403449 57601675 222460717 112881643 28308007 95634529 963481645 762968065 288552669 499308105 400685543 38483967 359768875 363659687 975236963 671695453 683887949 770357065 994966865 766866299 637078951 268282979 593213191 196081829 268350917 436237715 511365 558495497 903379801 821635551 233476721 824920771 349518653 86188465 750872859 92467155 306112119 830565859 11439481 908454689 591210799 665655473 758818093 679254401 907562429 115405501 171861629 344708267 267729815 745264151 444147545 187254847 516196451 338674485 715321429 77891271 841905389 403790321 307026867 800947895 334391847 649388691 491653211 629194083 659997227 57405641 186188507 492603921 836304191 373971109 584100969 277963495 571387597 642085797 927350247 687571961 122482791 501162417 637640409 242236991 387323595 808055829 875801201 926759577 430781145 808093317 358019207 649229009 139045535 73119263 771024535 105396889 791630927 383951975 401152713 65975947 538841925 832628813 92431085 484926245 571376387 716858149 180685691 746847701 292294197 353165227 524451475 101411303 844774317 420064517 650676473 6805401 176507753 794061761 15189279 825433865 633817483 579327699 499597849 197151041 796814685 731879577 753445547 139189043 848194643 815294425 294091833 179803833 555030793 744465599 465313235 946886545 235143233 892465633 946645809 454499943 996049383 921337149 412205489 820156877 721765901 160152887 750577499 654730553 890772465 911953307 63911901 670632463 456328949 669040289 727748495 214339735 250513315 493632995 302764147 525900547 397144241 579967339 442015531 690400877 191566839 968180897 97055243 540815827 749527416 798222687 11438087 47398689 722452067 6580959 719012801 817590311 182549001 337961159 42335869 843404193 578618597 336946211 58082093 817185837 205987739 363859053 562002792 740059989 527821813 463931005 509746797 981503115 959426537 401682329 130200097 662491175 159492239 895247473 9606165 897538155 919542571 133074969 855534721 538315393 40458283 264449807 778527555 704691065 705229343 333757493 598737637 607117135 830357187 347510747 95183249 976631263 263669243 722030775 60246051 521246199 236080849 886547683 739231001 607185479 55947899 399404775 666566041 952682087 181332817 55541937 600429171 185949659 249943513 512905363 976033053 625563399 41755069 176247885 412382393 673263683 785579727 481527299 775405837 72682691 710678027 768831297 808847751 926878121 404177557 998872063 512946753 89236225 719165113 680464281 264169719 959241915 15052521 209552853 554509843 471339439 353313983 59741661 995269537 497590431 299709441 317481803 378070621 974320949 886343065 956297497 87271073 969247489 851465881 382472877 343849337 576087677 975641405 822080725 147372433 640089099 101907947 6830279 266928193 576183027 383413803 266414877 876462217 970992229 852303279 514011359 771176975 816251517 976119639 542609017 634131491 344808251 358876195 384649409 937936061 444614537 715657279 702690805 449845117 455517239 320990205 465897655 633549479 680614655 494877915 814026521 680678443 653695361 121819771 793106317 432535715 283194441 943108007 714006511 662591053 839788485 340056915 920084105 312082447 878292305 801391001 887242499 722574969 747969581 653276351 808189303 452518081 242749059 314754095 205140831 641690057 202684515 391275389 162000545 137451799 658369223 240509283 637729929 914534361 518852239 564776645 509197009 515488745 89692039 8498093 326018193 63682243 412340061 497380431 849484113 849323151 702269101 790182919 583564285 68976927 560666615 921955415 740464617 675465959 201743523 779285483 264439255 924600329 967545349 411157399 244614375 974627145 211928661 998558549 723361705 839762713 569469363 8402761 767056147 145136271 856744747 471099069 267889025 901539435 821323179 449631015 149813175 784792595 182963983 627935519 716349923 105561753 628343573 849982825 433413275 626073521 298524779 286139889 501545437 127222971 789906847 432860363 101641741 774161343 285481513 968006449 946841337 447420525 272137581 872997511 119659733 514389273 378160565 839546201 831442751 717989319 328973103 206695511 791632443 187678491 877779703 325924193 183897913 806115685 503368203 367470197 848387085 124995995 467945561 380477123 146123763 949758047 690067885 965516187 878610577 47438071 235705541 501440377 822012149 916142161 246443583 841677057 268311187 180278791 95356837 288014847 384063051 771677013 153838697 943798885 970460511 20634147 469572325 876049229 993252477 556386819 402700631 162835453 77971131 903063849 508068077 185673437 446730391 868869495 720012979 514788997 571366131 854770033 484126375 33723051 849472033 728417609 150604455 597190453 701100243 183313877 907746685 859521327 501637925 507304341 446929371 460056523 724278177 236057007 153281369 959852387 731044911 582168307 625603963 559705213 506593577 124949209 864943271 591827651 847440457 583090815 427684143 126399497 415773109 583847343 205627471 14561095 688547579 118257619 996130597 271300005 331361807 167726855 226259387 655048041 869533263 191448839 646026755 138708235 405540737 939882557 755861717 274581541 948207313 729320119 288916723 922612345 580032981 662785837 88665097 975187699 189814153 339851773 417656227 417155239 582392661 29446701 402924605 756720591 654980611 655664239 711998521 571461837 226513099 729789467 495403743 57932591 975345735 522507309 891135841 956441255 508678015 831650895 82862551 493491729 71005409 391408589 104852547 872548463 719881535 436953761 615137167 125447151 739780825 78385259 527085709 558666463 346264147 451165039 865323251 227003071 453598137 636169119 208029285 431163697 985302915 258772881 645690729 962156799 117442957 568126341 372771445 611442973 780242973 176381025 349895903 49289639 475102943 362030773 917089771 311834849 859843561 677648825 815074237 226381363 427881655 68290635 476764269 996839731 651689263 101470707 161852655 505483931 55938207 183823329 490719269 806105935 838437565 48155115 235757531 556544345 160981155 852375951 2593729 765932783 509816793 293726455 329145455 526475625 176674123 409628145 88706663 181407819 980259407 200277235 446156563 323989571 76223907 920773151 25979331 516046881 532410987 355739707 390027953 666866657 614914355 713038261 465409021 74142119 612752115 631886757 736084147 512998591 363563527 244091083 524585923 462537881 868228403 831461006 810073861 645745621 158639783 260591101 496538171 294657329 296716021 133442769 399532557 365257885 371138077 598108773 662731535 39959081 434151043 458452675 139745465 268960019 349353973 719151515 474229869 211399355 815885993 77592899 249888881 230741933 442794553 424871867 565629179 524718751 826670765 104004009 734768417 592181099 717991793 665478493 101992933 106762771 782520411 284719567 233313583 575923137 888287399 317317021 830010579 163020749 287100925 135599119 151666569 374737581 769312103 450263061 326343665 682737417 967105115 403291973 5952919 565399207 243157433 226654429 804807145 17446783 429530307 586713799 480904515 233747115 273509929 11220625 914396645 674173805 788463869 752034929 598502135 142510129 864367551 754558025 346652557 833791881 637427027 808179359 251874207 320100147 402716165 710738849 344483597 588630289 873009807 490658343 262397601 572793389 210621193 171126449 906489103 885625787 19014649 692829799 926563307 87618583 365398351 126129173 869095099 527612867 74776927 54458677 494088679 7073387 183939557 592079591 562200509 386865633 40336135 44940527 48533371 926967587 948377171 349277887 569037887 474284883 550416831 481540205 497010195 517314235 131820709 164023737 368172779 923363791 980424909 417509129 283078555 558879275 281007973 33692781 363894505 202176915 529422335 356383389 21704827 330201327 471703961 563833335 807000549 52366677 381725595 378750851 288663453 480149247 783601361 295624687 792540167 387031631 107952237 369760405 990446701 106232533 757519633 378333809 853357053 653753919 416012737 528733997 908569809 347926891 323833063 367722519 407411949 525543261 953903453 959290149 629557047 555118141 827161949 658633721 89682561 862226529 569496973 576453849 663252615 100104003 387448827 996183987 562795751 664354951 902142235 589553951 541102123 187419385 991907021 66084189 249380037 518066569 699220305 456607573 461363725 957644887 59294299 755245971 853016903 423456673 617638395 882654545 169578649 661579991 117846959 398983023 585532949 797818249 327649119 774929777 303848119 30460019 57453141 291064969 658450781 943082105 508496967 227429517 532806609 96364967 297027157 923026683 581539269 707328559 372708353 445097469 725577681 191185771 405991483 141274467 88914551 34978529 116070997 469304223 529453345 600878395 154177295 433207509 313774369 554639179 395298701 473439179 310160045 511218445 653454429 91942641 333477865 157408935 797148275 589518683 490914781 710623582 450922541 759720397 79616889 937549997 67472465 84605865 872107675 288241451 579875081 142458371 371503359 349267867 944358639 253760657 720780625 956789225 943523837 742867119 56204833 462762023 573832347 707960937 422620905 335633299 515276435 436845931 619788555 895776653 173293595 682797581 84611791 716379299 622451411 324483151 752462439 422896007 551501501 530877657 664151275 47137813 233700679 213073399 646238557 600115791 473862215 68040355 951290791 743327073 383581947 477138301 235434905 940868255 931952391 364110281 14281709 43102337 193621879 179182201 883255621 391985071 904118211 213589795 56916775 467958769 629874375 139280645 996250889 63991611 213840329 707070985 850750273 226214569 334923123 456055741 579378193 120872317 279687391 211608153 382510755 574288419 185939591 259639739 343008263 795751215 965533521 381602922 649779767 507060315 721462667 30474903 137488659 579570571 518020073 80838425 889226087 269459913 174452875 687554157 714698209 67380299 427797491 774837181 649824285 156438377 703165967 640132567 211027867 964039079 823713589 375183921 960619717 601711281 352190753 991801837 146363883 476279387 893046779 105449679 29033031 627426207 162940749 731756107 708310265 703867297 332489487 90185843 724404237 24269485 810712731 22926089 510341489 394151219 296217531 255050867 411960833 324777169 328307095 201889475 606060157 531137867 323868105 891148973 596230799 194899849 845331787 369687697 428493253 582894753 692786563 212909943 686913181 307473615 623548733 527457807 577657719 456838259 753917873 459296175 235297177 759825689 409000827 935939413 356412471 290794103 597710753 828502187 354733419 487256933 306850447 71868673 514071861 844615401 656188187 738693193 365260925 788505901 625683329 239020583 934580247 303570563 41568873 564242657 694693307 167366247 391977949 941802087 487363337 558123135 42586195 423481165 482433165 776692113 376145835 352767957 195170485 107840661 717819943 768163559 555216603 770855333 290791797 586258193 525884995 208725249 83389867 413394825 37287701 803800089 403627079 260860721 431345503 270997631 888553261 877488013 781836831 141089003 708052393 236742095 235741747 330948165 435617139 799149519 392671589 940111509 396412839 933996809 339528551 510145037 598262731 888737701 706279635 654003725 786741451 43629939 370753065 828233237 500718075 920317163 417124561 683535057 704766491 416375852 693737501 959378197 447280719 661446141 836487753 99605209 975992101 48534219 68806003 202720837 411519891 199568305 153498789 960747169 844970995 939750253 143688913 465118561 536430861 79227749 686098385 334828321 439983885 236689576 10484579 121611427 59961481 827357425 602930227 405276627 602462591 103671707 644730067 101420741 236800593 730790573 126675641 418548915 460931793 603432411 937690953 650953985 221082415 438644087 693802187 39062585 138096397 711867781 163409777 522650895 403992685 631537319 215920213 437154143 37126847 89467697 409979509 849225003 17287637 466564119 537779133 425888673 384092399 460568059 601448447 474998287 444609969 75782177 701389809 520041717 172571944 485040507 629547063 172052725 43462347 317305249 638861913 272592347 563617653 347112397 836916681 345964951 559984237 665474029 510916319 997919559 488549471 587971979 651553757 558193711 87897697 625622241 698924525 124336311 921721071 823292877 634887201 92072309 630017777 681656025 504217711 700707363 283299505 50964015 276248251 41344165 317009125 646456491 649532365 910457351 505476525 398379723 265229909 998450553 905492875 215102901 95840239 876706651 500551789 676813369 113415709 827183147 622586539 402369997 218215237 277978521 769513981 848300947 186937785 512020853 922278029 896117073 559285939 644249787 60040679 419195509 533487445 559374993 455163391 283758361 108760997 72172349 271160883 251432697 942164889 895747895 38107719 853820031 537220615 611488279 860301675 672226231 254378417 842933667 462841139 524495197 910008897 452031685 486207131 111673291 348766023 521968271 67741961 126984717 667920701 979220287 662320971 674771151 939741317 460002613 548180629 685026153 858784871 511642623 678129031 352780507 57429523 643351887 157747491 922298571 58062245 696491007 765083607 626886793 513050909 247036693 147526777 114561037 555507557 598491835 269114181 911248629 559180109 171715397 308304099 443784587 256825999 292039211 974701917 927571385 38126283 30163221 947363115 224545307 599326349 946107083 450089001 787370735 942201413 917280321 918612123 191839003 701192521 141468563 799959601 924040493 902405343 308423427 839400701 799707233 116565295 125023741 416414847 213710739 562433608 493233173 65803419 902717003 790320935 433478659 316237471 816338359 511192233 446547631 996909631 103196081 484971675 799046689 612390553 398014389 265545899 912701069 277771059 514430955 522733941 626935119 624631033 570905125 118076281 703863787 8141121 105774295 862130207 584261385 6351047 858985507 265374395 172841853 491744435 548038349 390446981 621175109 679963535 398657863 134959773 685374083 929684051 339156647 151577871 970206339 121513305 540821933 730390473 544287413 575185769 133277631 415913127 922733495 911935665 883176431 835566953 448208459 359873475 998158321 242514615 771935839 554447519 846865701 288194853 913978883 102609321 568323475 109387305 509003379 674675885 324477163 234288425 538489619 979004387 969488769 155757673 819862637 487642343 856053081 967443997 224457527 692947391 404272919 35173215 976991049 165489623 730229515 535012653 405527721 540400387 775491627 124290933 395974782 953030275 291010841 398577667 849943073 678154237 276758811 569774997 48229899 804470907 365110559 735442633 74800861 151781747 954362559 449628457 945758307 365879749 602324279 852119079 384304275 695995057 118576239 259006493 990899845 596694251 677004281 699858251 320383 12275587 290810377 284622553 75214315 72094967 236492417 624029145 903649883 447492143 408997349 206986311 655415435 757324149 709386855 872744449 353876577 762425217 584737501 670554065 547309283 867283567 748032967 469866601 811643209 320078531 939666507 234921827 229274605 124372589 541630777 344260669 375826769 580289985 344791561 767902051 268820769 335187067 492051417 106366247 860838191 228748481 851279985 248986303 204348537 918727199 189268801 50107215 889503775 157779087 75050591 406785759 127223919 230532457 657503625 461449569 551881691 822471797 849433897 71235501 235150847 239725791 525264205 475988615 919343261 717774909 466729133 249301909 964353185 880966027 998414245 32055401 742763293 921542703 839761729 738701693 395792975 338804473 906500141 388907315 343089305 497174297 97426883 567657171 691791237 564118321 659642111 448319375 566641351 71033411 484930441 193575295 380907835 137637053 430172851 198696615 187326435 781438839 799176817 849679853 286610666 220425899 792217701 688544291 756774055 888890621 538889939 194179331 616866449 295039103 622143917 217729071 325866059 728650147 888987017 57165359 371159717 746081863 814534823 398977907 511997581 15868081 762205677 885153625 762292257 330343565 880838635 134773533 981478307 809226223 216687065 842030315 658137727 718146647 81751189 464241363 459010633 941091755 348297127 670122959 631362491 920739637 159058495 530745537 273401785 850486443 893624369 685011311 23665743 169217837 93125889 483732879 202169773 544290877 745752275 103313335 368714545 808866505 341087607 673109097 54817375 143981607 771149667 883367695 885301727 408295701 912633529 5150969 836649095 55394485 834892351 240307809 211945555 105528729 531113571 660345193 297781603 166710451 309504061 750690071 144435459 337424479 823241869 190662753 873141417 466220903 260291259 321412381 819378925 138163699 885073875 486571277 116348565 260547229 803618193 324050137 799391625 616584543 882578767 543577877 638417889 500588703 677003031 716216633 715993811 366943787 739781273 971734183 851234245 577867831 572059179 634844069 319082819 641922145 420039629 800432745 487569407 410084015 251623461 734346761 101538771 846630541 964012931 339581319 668801733 50777041 824702175 468014283 594867199 396330937 717582039 205392809 759341267 365638631 797423795 140617433 269452223 678623083 270003043 975754491 530112867 46524859 309429883 232722843 581540749 319466419 461129535 504385063 69819439 822382231 657849747 89272059 457257059 62985493 668571399 151223895 950924143 321909317 918967249 912225123 998014909 50999457 716437971 699713331 849653729 156718349 448263569 637866943 515632021 312667611 856654655 325984999 326330555 729258429 66818991 525335415 119930977 926067921 626131299 706398237 8750009 69691805 819311491 303317109 492563231 713851405 625493211 137572349 187409685 838446709 355967205 436896547 514818887 849548951 767118017 554754099 849286537 194177171 460598835 24980075 754761941 208672761 93117613 610985193 212308045 600939199 232692293 102400953 184278591 615779903 74295993 691748041 155639071 486434369 941870709 222890227 162742405 131402225 797471619 803383547 40672821 381224677 573415581 415469191 661994267 758081051 752124961 368203563 267169867 599439607 14771479 912330589 524968959 813964869 614722093 449924993 593366683 77240125 930952893 214981857 89742761 147113083 82450371 9419947 63703263 414497539 435435241 451388153 483477269 432938821 443040125 942830543 780324687 201482261 508932469 504760851 843956667 517051311 42100339 933733017 856424615 2620089 546254013 575930135 52478869 293851969 728406593 444496689 640504355 429811643 838687639 628933999 186708765 228100613 562436863 461544515 518065529 894280293 466729823 529730823 94021455 526550663 184030025 542593785 865727205 769281153 972193265 33856069 863140771 352716753 193752631 379556093 172949791 978652249 895886757 378703383 839509525 332696425 547959143 627370615 515604837 756478135 758654291 24340453 13761819 713745247 429697773 114808339 984382317 102328549 669610073 462458777 708019123 958883897 466792295 273112313 113343859 515012269 947436687 296241565 936787799 562941185 344048623 5727447 90946097 246309465 347410511 100146909 288315391 843722049 620664351 461421523 102228705 278921393 245108339 132497601 118036005 442490119 330710543 190473369 869451069 183085827 436623957 209804595 909887171 913890519 950229593 310334545 291344253 870388503 225935825 986897565 758034773 558255039 265754649 264808615 40928861 792797495 337512253 849010153 677170643 127699785 604277481 599720901 920173337 1340459 418536821 792448131 85558455 362250621 921193697 285783125 230159719 366841665 488620501 892328531 953322749 311880933 774211229 917347711 237865857 879171135 387931699 744830403 533790237 210551949 601959735 365957871 326068773 383424371 122456301 423080381 174278163 677383677 864432711 463534799 277492361 107551139 810518233 859896235 655059285 718823745 393471975 312183751 731595371 900011035 188286805 442658169 766793443 482560737 721308851 217926915 522783233 498484903 465230393 40280463 163315249 2602473 523601861 386376237 910088199 196561805 577620959 2830551 134327101 51773409 198931637 82769261 556844469 802527641 37751073 344193723 137292927 78253267 75256735 239500145 180024521 935011861 788295001 743846695 54543601 719337803 421946653 15273311 517768057 999549131 123206753 848922241 766617615 304448083 72444999 187821281 242196099 592750085 636946067 739275191 31061457 702525811 267332791 505262115 74051869 696564365 128394443 784560177 577049777 288055477 506894475 792797649 938381571 29390765 15086687 176558553 530155435 400701093 808710743 286277903 87297133 727259951 483069741 466769691 506307127 397272651 539320123 174339981 186576921 309467997 619139467 638650589 895430223 619259187 115169997 805934449 145415997 207513345 424167511 159885453 4658799 800308581 549628711 166432103 908478357 255620965 46772455 778515987 98008463 182664045 670074597 662496919 99791195 33616467 725094681 343157211 781239593 816073811 265369377 672187565 988030793 671316499 858156869 479882955 789001529 992933281 693032819 355377107 198447769 956109171 619254341 303226449 286462519 341192035 143161335 510916275 548477701 761718203 588322163 674192981 286910749 524183587 544012615 612878965 848375493 26139827 138959529 770002753 880553319 675145961 212206715 565818053 658842261 343709865 710608449 670029823 119483149 314633535 599818029 89324493 66366895 926847075 166165 192436217 568239241 443183921 673349497 856965175 414911437 407708461 68497537 761818907 52506327 355946311 574224377 212176171 499641129 240089811 448579163 762990541 428597615 682026637 134063557 246649429 735312507 633437595 556252929 471510265 965280843 626760331 894383737 830580701 303359 284536400 464445257 514403849 703562213 346921805 281424943 784356975 338934897 220451905 573449873 984291561 179893049 456044379 820726143 188991285 517418245 689382705 371035825 507700225 967553985 690163135 684544387 361758681 787257723 442425709 613484545 95542329 591089011 481107973 485975001 343360131 274446091 104025023 104315231 616146177 298319565 352292919 440798869 472507871 629694829 877705585 56590371 884513341 595511495 172101341 938331222 50027287 730710751 407140429 73080871 295016537 791341789 204264705 471280693 931353045 171528727 428480669 450195909 872133697 503088903 183141423 966966217 497320001 486567505 346421035 129868759 657744221 179124671 989655151 613969199 620617479 769103173 811896129 840146873 247205783 910468097 222963789 457115393 39530831 437782321 775006377 829481281 485777753 890103106 492777681 252177495 306572999 41952971 38616491 40624331 663206287 583712645 927819141 434440396 194484117 543111505 530690325 156244275 744542113 47971643 492669559 463561853 569658979 925854329 157587503 965739473 436099961 693260131 893270059 509986303 154200671 282171519 818435265 287601789 764985217 943776629 284269999 910501485 17603375 533120539 718887705 657041301 81675939 417088877 133360779 131011939 618515711 621067915 629425149 317846001 170461771 108539331 197592267 156412155 911875191 911408517 722698939 137016043 904083551 711487345 394950393 562378189 690440389 668314439 362165017 358960221 668034893 235569137 799453211 860235509 94227341 151152775 480411493 624100001 394208253 564512063 118802881 688521741 505429247 54531713 968512613 879995025 548076507 34158035 387895791 125376813 171689921 142351085 395127141 596897671 508415693 795749545 119035187 841573103 962793215 8461321 414997553 412394333 564679489 906739001 846469271 810284143 388505699 987614347 907355919 239763565 609518111 416557949 236809123 706482503 901457431 302602671 134953675 379375507 915471057 733044207 141902947 872971663 565834435 157071663 406537903 883432485 974446915 780633995 751895903 585802211 497481619 605604165 568404613 854080513 745068507 28848585 112347553 773587805 909155887 738493099 593069207 123487103 965034887 93751460 531025077 657123733 302982851 976649881 84752303 924149111 693358511 433758871 617599651 63683239 764711929 547997389 898656535 917923655 659175997 39000729 822639607 213244715 472444155 83275133 659706521 742816455 451912093 920037925 851238841 246531645 173470065 418555749 877820543 235674705 301750453 116687671 719145333 134224757 126081927 912765375 833475985 751379135 421926131 394090055 972571443 808199919 921884135 147772483 464570141 185911659 394909247 493497935 472549245 111974725 172084667 657451311 729599211 229334577 720374531 985842891 694391647 861333903 681512107 152256825 74934083 743493479 710552617 903546803 391113827 157061991 185106659 274343837 971197683 469018089 890021661 314348931 756382865 633981163 456524043 702943765 718030657 868716819 232616391 388843313 580362355 567600817 55520337 74947291 477112315 201710779 597019792 986379837 326335765 785375187 68852827 107127465 409487207 752894783 969450597 174218395 401018367 430405101 183316819 124092599 244602451 114662773 90144943 736490185 219491133 250969369 70852071 259323073 602435589 646256827 6304597 946613695 672416599 974441455 342111037 146529537 246374985 924748009 700419781 196850935 458777433 231106955 567829249 452503089 565018987 273844313 758754791 45550701 905622731 987114373 170373467 520586123 752242225 136332261 739273253 768057497 349787065 441705977 134573815 354192073 551303655 764437223 227004779 433999989 179595947 101814655 839235327 65248291 571064919 494352697 871253535 374004605 394078379 937608499 624572189 995551317 849412043 562478901 248045359 267656105 776462149 8832687 63097209 18860697 224143629 130648503 902466051 271308659 888047745 386851851 791807167 344425129 127755111 269122581 933694085 590525910 293249259 976488419 888796185 121546431 233476771 318137387 11313441 158000205 728903565 359920975 597374255 650368405 762689291 954669141 571674303 887119567 38164973 829559275 584442413 763956323 22130537 494889323 552854215 875484121 85192217 336270289 974618557 536316645 693581575 436277957 402275111 487694947 636101787 509946777 814170377 807345493 994865581 249222721 985776201 778546151 758919291 700487775 693404601 881200237 46291369 280478775 224701715 463103073 660487493 164281787 602260985 454916455 83794371 203445633 28313331 638374985 458299137 932422089 171299954 345885179 129179459 532609913 822654417 833079449 257991737 448004897 565989967 652896871 597275639 797479929 338692119 786376909 512940537 617895135 310351161 243841377 505170469 487732059 490196143 263249117 247032777 704609949 20074843 238259749 415109787 661719161 219664133 687690051 808184757 473508467 667976029 176529005 763829407 557244591 788688639 2924283 834338887 898659069 180254827 394132593 745168383 242244563 959034635 28751229 775915141 550886227 938758703 338337519 341490945 352946755 564923409 366193347 516636157 216627473 574106835 848836381 336016497 911958741 596192123 211348809 603631801 266992207 899903231 499764407 894672281 382308071 817369397 823465991 392521025 224462249 25211871 874906615 874042437 864647247 553942951 931699831 264663713 723575353 137020189 429950359 545569467 679773035 335222203 270546067 483489889 774662039 103992545 556639441 831442375 236760851 885253851 360058071 780821643 770110943 340251095 665716573 115003571 4085921 245822193 144382013 102402475 277800361 667407657 586134391 83859785 210070511 924907111 607191099 629775561 610167313 592495743 92098009 987328979 767679831 283659817 565363919 796936049 842299569 53337607 346825149 16805659 334779827 768184223 497927281 797950891 126280097 941779557 709359837 177924715 174122079 770692275 512543261 521229827 612955003 157731529 478543219 767847818 949578033 812799441 971459915 310774145 123053405 145593049 897847863 450513097 418474117 584594911 699686900 781773233 794477277 995613889 435370597 177501421 474999095 358945355 424732309 500940955 334844949 958455595 513834425 150793535 90569885 768146685 692123687 132875977 793682337 651321663 290929255 335042957 683217045 281626207 195074085 720894791 364966555 83207851 811572527 242659359 937682295 871015259 304434821 388184991 748100763 17225107 940499785 278705597 2053661 350150493 675619781 93701593 596451259 403080871 766429805 9515445 248324065 240312907 759581405 236010111 233487001 50333965 753659607 749601741 71695003 994712723 41183561 218854557 316633675 860305521 201904449 318804561 530933931 880871199 599193343 543583163 256206442 854425853 436617957 181718029 169926885 143137621 574664831 79155685 623502613 581472601 161065341 634212935 920376485 266061089 73884861 779815331 63896803 474105009 757261123 592881867 268780485 218515695 824181047 186063359 481364205 14309551 432574703 962873317 104385695 561676199 566141925 201065093 855042767 43178363 937274301 423126619 78426639 890326707 573739331 480787263 185601185 288881601 425688935 621662585 840129387 227615231 562526279 264209077 824106239 493980843 944899623 783860489 593825425 708943857 459628143 926091249 620904193 307911651 445101239 190668629 220913625 789142903 957050293 569514623 572338243 49159057 120371279 203966759 596373019 379146745 516064913 496230503 510383327 84738145 43276971 174285257 440504501 451480417 389249021 186583605 949311853 260579197 519992327 339603717 303703423 515100187 361425779 634312945 259319561 511792781 10977561 358957859 41242323 732105997 686239471 727005735 180921677 885807549 246975259 456321265 867808139 334715301 935917289 425356767 688255055 610812343 598920139 489579959 566382337 225946059 431980637 297864869 191882927 851322787 541326177 167100223 225280783 425411049 511941313 696277377 10910083 338325293 122441365 323204049 909235729 47501035 176228371 326359037 428592231 324786303 229519523 784278075 375001821 738819127 301091021 764055077 572783987 222685763 172098373 747642819 84612817 208804283 791779303 624124547 727982915 966547873 820161205 324174391 437863875 459831775 89818843 856535069 72929519 73663557 976190379 282873309 535272977 349841293 274352035 548970115 132958739 635771993 501525861 338610563 535039633 808119345 264402107 434817977 907036873 517907077 234537369 785911407 336132257 908258225 166212891 660261455 617904041 675939829 803158147 517858925 65338393 318988411 390363197 718852425 633952719 551497299 42689245 10581449 279040339 462548855 65713181 203593781 947904723 122276809 322029025 18944841 613085481 849726991 973317427 30265117 913322193 831896319 320881479 912839737 605268725 79477295 812672633 190656137 985878627 57402145 361027916 589479011 337668753 26126397 303607147 662867331 516338849 446492119 2570921 318349329 302781015 379724583 579805185 36898199 391263013 296844111 299384983 590686733 929105187 610309717 92499127 100081359 98065933 721798703 255275217 602843553 814105675 815641009 90458243 494902707 688634349 760610209 291519889 351675031 215218603 442529703 881869539 416606029 333314021 876254035 103379343 232522553 166511007 477427999 34617297 273327913 770949003 764557675 263654409 841999953 469517567 973773697 526512067 628636495 863529721 303607957 125422261 981250345 758578467 103275195 384040375 856926793 474117323 77033977 778459087 351884681 508377065 22174007 819947815 781219109 774708763 724896069 475910161 426000831 959293353 104545755 822542857 167017319 952312961 986046621 879901875 763997843 516033853 716535829 698439899 480704285 111729177 586277041 607695731 567446349 994757631 105215437 924430997 492319441 270995325 773739175 634412167 831995323 342211017 229504365 445679283 574399881 300635589 736408621 272807595 870387747 325607669 423170015 594816301 308444885 612998283 485819751 72237337 189202259 166930525 807190671 522989693 737489595 406035435 598846213 979473803 52400273 385594717 395368803 161675167 566936517 957516415 413807149 637094971 668682665 587627979 949413065 454430731 104723199 728837983 398034571 23181793 375786727 635788293 830760873 577033659 539097585 321830439 930707015 625064891 868068625 14090465 432030063 337420075 53743781 906480369 695314959 687383935 440712563 565089725 939178497 680850259 581612455 782679637 999103753 577106281 156206551 263650927 967394765 81654189 176553985 18746221 781467871 442480691 406869641 42519893 242490811 555060789 338578235 464062935 170375103 19314965 459383375 975812423 425490229 692651363 295403359 969775015 908953679 536495053 226154101 446760351 673060901 78901297 393772281 661763453 620311481 540995729 225147589 689295927 709136631 969931289 631550739 427672687 29100971 526785053 680799625 690439529 328750737 426775319 556388147 728206359 515839051 152072107 107232651 414043663 823228513 194702755 603244393 893582481 841084997 440556277 895579155 76786565 421605455 882765497 743737913 678836855 272655043 398301747 435198191 27439521 811051719 149609425 424989363 605517025 233500013 622115363 183369831 484309183 510945967 832136421 51206235 692624235 999010927 943848955 120750405 406493627 534817141 7479409 111861567 280314925 841551475 931763575 955608273 803829739 926241025 208061805 991029737 103889859 281762465 627239633 384931545 474972973 161480637 294823251 279971168 671395655 893526181 378908867 487640995 379958233 879315091 144230941 742358833 674225745 843131049 38013061 690905085 724048585 175217903 50935367 895830885 538272509 190957909 258686421 294948653 470827349 936279737 144520393 823554693 592845795 122403287 900268265 941701377 127244123 555577945 204574495 28856221 457202719 814899157 551966333 168982463 868032819 4956863 626900289 468131893 270759753 889248121 506589643 960112181 543076793 938433359 225462697 414190681 164987261 269975921 197645965 11006889 374816835 174318583 425835345 296406673 506303317 3130595 760035067 585133543 488786093 412926749 591448501 560045033 254627305 485865337 403271123 684405561 46792529 562062767 917192397 228273129 262847189 249532257 82383435 750184041 272212747 398855445 391908629 500906139 242336817 599106369 600758303 161186499 19426097 637278523 144706437 486827659 919403673 184575557 244106633 316451341 265456545 830440071 679298455 300117187 20437799 897308181 634490689 448067219 107985075 297837543 424347973 192934601 494925171 491508447 162142341 210713887 705741119 414155459 403157771 216403117 725913497 850977607 356168459 182447867 804449955 103538949 93966817 794217717 909559345 516775037 512711951 898300399 228879543 426504985 312536387 499263147 830038103 219140649 118520650 168870473 457844693 574278629 400061735 693003097 747153315 63298675 169459449 747095761 170068183 709374167 534265867 868158733 900974129 99215877 547116499 100872913 799428887 694299095 699770601 187156043 988437145 993687565 161936401 687871505 5572207 778961231 856316217 93362209 315960825 669504561 110384241 887691487 293345083 69623851 408883957 180840985 278595045 927971997 860435497 39810051 725307473 554753489 217568407 335565371 172252797 312224249 451335413 31678149 370848015 267120687 904453403 790846737 687047765 942833011 412160781 86720755 722353483 267120045 3325945 480820135 690269837 452372657 521396527 925115603 351408995 459061557 847711019 970219397 156503739 385914333 983054481 201401649 314763821 914773043 128139053 806098103 830559993 258264997 960439537 547560281 676430599 441581709 968052471 865667013 348705253 269159215 40428677 200935697 295914441 727888561 643844611 644082107 692534931 355613223 638658057 786996901 778622157 395463559 856378445 875597345 359312547 901098165 263158967 677386465 834851565 303725689 221397069 512369409 702777387 412316549 1438279 618900747 604760963 971730803 441545471 773664999 625512901 725134785 640300789 403660015 467204201 660539611 103688153 284083421 812304525 958839571 770120573 894048471 877430265 151818655 977856729 895702635 247513117 525437347 117165333 640338317 553938703 204114215 488953465 269113755 366798989 310385181 602411385 985123931 256640257 587971935 491140527 457551609 129730169 193779627 243572961 173003531 881892267 82906285 514710009 55354253 668233977 612301301 602216971 184903143 397968745 561914367 867886929 568387811 986332585 21530409 275288109 133929401 433549587 454921917 754859053 77687555 301969571 656432107 225419013 690861513 855470593 425520337 76372363 189052537 140253823 739724651 148976841 348168165 324824593 323073701 962368741 79522381 740039769 314234191 976594483 899043413 982648219 660645155 395367985 657223689 977448393 478047683 602709121 735490017 466755961 615782327 142240237 785683385 535179499 647446385 483601771 819174359 539909 272452681 618180371 53038055 394690135 221854593 905761577 623569919 950229017 938838339 904430361 358161819 76352809 678588319 678898295 817998497 417933071 327333263 502622717 245145695 989091579 35346933 836393615 919082123 199449793 708962969 799019065 910463039 299897317 897490219 812740907 519122691 583431307 487794247 556944067 340036547 346606723 84045421 481044613 346697685 845783619 838124807 690324761 879242743 407499245 644559205 511978325 566793549 791491141 633463233 574257971 341481571 188859327 916063805 26320087 311006257 458598765 613661153 505254285 158066451 293287441 295466909 868671175 565144013 45207827 572805453 248632095 1125519 236002687 638194865 314808667 922744299 942247695 127029875 990123875 307490785 215217443 722713891 266667341 258299605 520688575 267856955 830125653 295284885 756186261 743674651 38200283 759414103 843393019 334657551 128613997 847842485 475948017 479936837 48210619 678084279 791490845 476271577 594252965 266741449 385724367 774506699 296220203 899901121 889066751 814148613 13173881 462625755 962043211 383947605 236066529 252949949 392247803 134805369 871926751 602432887 921182207 73530641 887142425 242127481 713822955 758475683 261842775 249363365 796333571 924956325 557848461 353935933 549060907 665345643 265616341 302528241 274948081 145105211 396510581 657524947 514774161 313943101 326050519 620743779 823263975 889519231 755169935 962758277 167739257 587323903 225028181 59524996 860639353 630080155 961973265 445732379 951186111 773179679 487201995 189937253 223701703 873160761 614100407 933584611 691445177 863766405 894592305 490384263 873872487 674249347 440437179 198858917 879452741 43501979 723503361 348394489 586691699 345257761 213819095 451366825 396943035 706484299 639807541 719836483 744669833 817701951 927747651 463402685 197949429 123062529 684324681 830826865 469523133 286036101 841808829 572252455 104112459 981108645 389250869 353670925 987448751 310793503 465553787 441184437 336234139 527894177 135902069 867227933 82118259 141733303 379068985 669218221 831420989 144805599 409298945 428043569 122344105 208324727 887693105 233288923 487475981 958710217 366071123 511870797 742030439 944820743 904764443 799763339 623652449 650043723 672117351 765957119 859433033 720396179 163172149 46818691 776567317 301552587 386588851 558459473 964483943 813531333 96606005 162057487 857051779 853927991 920934965 36499403 261789531 603918277 398423895 686458617 103060615 612124153 966182759 51359353 69613123 389613887 653609303 170299019 268734327 955519735 678399297 357708515 826766005 17779805 659748201 342365071 158135601 128106909 444887357 255214099 670002635 794860233 702604877 87070799 459260941 171137751 885588821 149067157 422236961 811548843 312198459 767419796 698175203 945827853 812386821 638857585 181008593 22402735 947490795 229717163 211981073 94651689 72266309 586101299 83293555 635795967 237128857 83433307 60774511 521827991 40975249 658387683 981184547 598512707 275917311 900299247 745046871 595242813 98424289 137325837 523731577 786323367 780083031 768843057 117227683 19535497 766876079 335151289 840747665 983793365 771838553 278899307 210998189 904944227 85408757 401146481 824664837 280968949 253756227 81316197 287578703 843943733 36384815 939640641 833218285 265961909 960437963 103417453 57954021 390729707 329287765 486388403 362827237 68682041 295166509 483752521 974074437 248226283 778184929 705635023 690181637 908350001 938276131 730046023 937861067 290972963 384835279 413145119 382954473 962229187 494012903 886369325 896275283 707479035 922271127 306114991 617783977 511058843 966008627 602422345 828823861 177744733 371881269 687590663 610135009 794787811 186242623 560448865 681887305 227593909 952822815 809889331 783885227 241517379 964401863 319254211 352016877 696254953 9072979 641927611 88024735 395686119 691411207 698223669 982325241 831325031 450234955 192124587 840579545 163215993 602461107 731922435 883574983 695031831 13720317 357125771 14854385 224197155 451029515 104816887 803595057 125329763 76136935 704288615 307166723 411937933 703172551 32545885 640794769 88851255 7894019 464388551 685683625 62600419 395570463 527282683 391496897 396877307 717512905 47155893 574876923 820586189 868330703 865998365 323192859 498367639 37992499 398980541 4306835 352234617 8492563 363973517 891605371 563811961 553165499 443628775 544511887 380695693 311287967 269356437 829416503 283494283 496894813 369751231 888397699 285431861 268222643 483099647 821767211 941269043 40046993 36152399 567390351 332410137 146248967 951086357 238562739 204980063 661707601 331790621 457313353 475940197 842713299 649149855 696653735 322037879 761681688 552721719 627220171 23628739 190998483 89137899 493435743 557176165 368637921 850750247 122175153 75816283 57756225 119643841 36338873 163238547 76838691 646408181 533938965 464245723 863072471 667609451 63789581 401091307 676486875 551192877 785208719 615411561 506496719 500819889 668875317 479522777 220230529 266019031 991479867 600119983 527335905 543553249 329584779 658852165 58020879 289676157 577722289 830674139 856057931 771879617 83033321 178226073 963340801 228184107 396095245 16677267 140973763 942659999 850839465 866135487 258501965 429496937 523224553 911932673 954590853 259643969 257032101 286051107 115016819 701845571 447466077 395731923 728590155 232841717 174612537 658237867 100311655 916722755 98031877 868650799 94144845 989636225 261161275 782508485 346320551 673016687 182732537 213921473 32441673 260486705 81126663 962669657 490090797 26379605 381377493 719703729 94608501 541359569 807599737 127831251 234733167 952280063 523824051 519722413 635702413 249923239 440563945 756329753 778138475 15718901 429609771 497126619 335601099 835910271 319827503 849001369 196677017 53750339 371227479 432672229 739331305 127862691 311056553 958232891 396880117 638673009 769574867 957177 785052961 359382749 175531311 155887465 407069687 665328777 709723833 459075773 581915179 724713335 531632923 549405709 401127321 55432471 508965539 989736029 606960195 530730811 113264711 630557587 463477591 231430947 476583593 586806657 726122021 602718323 612711181 625252577 490489641 240811577 394135653 849728597 452517127 390590953 933993543 922602341 496806793 265586273 879796723 835967363 461460131 148166887 567764817 413529863 720570225 534325799 323974637 392167989 349035319 309270327 309507073 688464435 327854173 386884243 612554091 100251155 361083257 208738595 991321267 833150927 877069895 124111153 503610889 718266697 990293159 94024563 923640387 800113481 129760677 336338953 954055135 581855361 220361847 440250229 623765511 228594825 390169973 740070821 341961609 640390371 584270117 974444273 627858909 12860409 297231151 486904081 91928609 670739483 279929705 185597999 215816221 799676035 539684047 829509079 18886975 536763987 88135809 228841469 602167199 5833107 181394637 511500799 384319231 213464629 904037411 58851745 672824257 639309585 240890403 255654419 639535097 405614313 433015435 196988137 964546139 161227623 358918219 956536095 497137481 180301339 956459125 323104795 352900551 792349567 94019905 584998571 84517511 284442099 77532437 744947715 66027231 103072451 771011965 296133827 912665551 957789471 698870827 840570349 195636991 292973855 250295291 338954223 840152507 472840901 268829679 867099551 581983229 980793593 243931699 945195833 250412387 222798991 694418713 531123045 650943541 827252543 963205151 457401901 200951907 336466091 692620005 358191625 766636675 225744219 70054457 538042581 559184595 999726015 720377613 420275413 591234109 680124723 898739069 389680057 256005455 325503223 983471051 243884947 734868289 186327861 250087779 217098211 533760241 291926523 269558233 814422157 44816869 595531335 715654119 332424927 516432209 604763385 327645807 291251341 824664839 336740311 326421375 651447477 400630409 4202647 972551499 719069405 499555327 658859469 509607209 36376049 744244023 356194303 393482403 568211271 847399591 301576853 628453471 540005275 600576111 578993886 63088947 831435797 566454105 956975381 795440921 855547711 707049937 707194205 583638581 980496401 24637167 354992827 984304593 214221541 357220723 785928229 917883233 827252867 471712451 409074031 422625153 835683609 298978799 397969503 296075509 891578169 722392751 327438747 422390181 734436579 604351587 771948983 571181991 589826171 161224975 268788779 881234485 349701581 211403363 925488727 408377523 856039185 920117433 534706821 894401965 794436067 181281807 879724265 697916883 499199560 50317577 286398103 406401283 278890415 867453947 466882197 444562241 428647401 204765147 694561481 257157557 571898423 751506759 941765383 338357173 796134975 409144199 131339781 608871869 699807499 348650377 687728745 534609517 787386897 379081445 959072183 888119697 217097775 624875227 102706531 699368735 868502699 221600083 824635333 511161393 369451059 622362075 973599009 282777095 227334105 383740585 500363933 149718289 835257371 179187613 671963981 170507743 728204257 210465601 373144359 989307439 727832949 333245377 503421967 627817953 5085583 616796661 152705231 437015043 319279179 798456925 522632213 727369157 492733485 756057119 541496699 41100167 553333541 457442827 274903171 703249865 799734151 705563033 31367577 953666615 735488781 957467623 486733577 124641443 389007843 228492989 688161807 920303627 628988303 114594187 356492749 333688207 635863053 343180901 374403147 883210621 929419957 746444047 220151675 582744647 656396623 989295597 569251895 497493897 542686471 520120079 417117501 170605317 932920689 993706795 241577017 743904679 103717775 98812579 147383997 591125121 317582017 792432765 1604927 924954577 376022489 380627815 952780323 737413113 234408455 194584249 637525681 673708675 970145261 398821237 869065753 11975971 188505229 903247677 81410681 810486965 27152469 488954725 104585677 89871419 939932189 444098529 92817153 609258977 8037919 788353105 102442213 19203579 269526783 961152767 726409011 463306755 733303503 196499927 749391245 151723421 188622337 712441713 995837051 39147411 739178611 475432461 776088175 457436889 273243243 747344529 874285249 441872779 758744981 342503309 215024307 29295083 200321541 76481081 404902511 536713063 952464699 515979123 624437253 32382863 63200541 557702339 107953775 220765983 406817013 259445081 104556175 374348539 859757177 413191433 492472365 746634541 760875721 827451735 131490553 755180521 109646695 748830311 662891407 269192333 822970177 828690439 88578673 178141335 612988845 574754483 266502403 736719031 837542249 344888967 958384795 857475517 607909271 41151561 143656817 630600613 82347721 908377709 446800295 257901203 950278129 848267781 835643973 919208913 107188587 30138323 421540923 215677653 291112449 285593919 452515685 625250359 453456347 535278933 372787075 470980285 542896019 731427279 662026559 423763537 437694755 101810701 9342761 751520517 798302961 963227155 785215675 20755989 877976779 26811795 173515605 485857509 802784485 403772131 717622083 920341505 241399517 367581699 486341811 973915163 973673657 223806873 282958529 794124045 830632933 66668533 820230765 545042653 276912183 69811727 465512353 374000821 570941165 330114693 621676077 26788327 674232233 956756127 77234377 387642097 872781691 122987853 482368539 863156339 437370841 869947427 290370983 751281211 645483935 764106853 671946467 6869563 567932433 394141173 152646693 821720975 913885 246033511 624904109 724688761 941289499 294500337 798150313 325879397 248408899 956377713 735691815 659695333 727335487 444473453 72917023 112681655 17600859 733236247 257821815 892109243 181048139 893161031 676449267 126588159 846726189 817220985 361527111 864432053 687414919 516329173 542956045 138317369 322550853 210780973 539551685 357816077 432964027 146769909 88448727 227125725 171886251 674649165 26993047 996121725 427546421 989329407 79373627 645719527 556166889 942295669 452425449 512229183 24791997 210629067 31568037 902492879 254190347 381330879 953647203 168362763 307808923 797123767 869881085 372128655 3989913 405580483 841136945 480641053 972155291 202746011 732257965 784226721 255124895 352692893 923295997 21675823 29237513 179266513 415420063 772341505 863568549 756550375 165258225 567686523 924238763 446187315 246523453 499230247 454696119 519349177 756180661 963276475 737294541 14526493 250604403 121590799 552737373 48723885 400864885 474681127 260850747 869512293 754032809 892295216 169594019 617210849 813517531 363485565 261646395 649689191 566505671 225868423 128593681 433316329 731532303 466684659 15141273 895786239 440908605 161579915 770891697 177677285 942608575 802518853 257262495 684594051 122984943 397142073 140759823 62777451 116068367 760775341 56493591 314942417 283974987 462950409 347263541 630099093 425568687 282064867 22314827 799534655 400780343 616024823 101812905 984858623 152085957 987566117 4443141 740239787 474013729 213381499 965169787 996219075 177465597 341398825 388231055 429202285 904560883 175358607 944896049 962170233 222477441 717275947 189761971 211637599 71326995 911422893 625774293 381097789 203260921 275090149 986174651 630860763 387286895 80096977 927665649 478438823 633104785 419668881 415860591 841883579 339122028 102941811 808903571 805619923 72193011 204919017 594716445 287457881 751855867 50731405 72065599 934476635 295839305 463559973 877934477 287706511 271276673 190530459 681487619 416732759 627747387 346777347 412578567 905995705 868380395 462886037 623183721 519244131 303050229 298017209 52372057 757253549 64274335 651524855 576367481 44052631 969366047 158004995 709043403 777950919 406163595 896481207 870441917 578261647 883874789 696880411 394981413 689876195 287863319 763163733 834323777 913045091 960192753 241644217 802587829 579185751 460802351 246264005 290016653 220822447 985589613 85910811 418656577 844393473 606121273 298829189 534407341 436450957 290980355 432390135 657303829 538891577 886576675 801645965 602489129 22640021 477772251 916956553 750693885 896135641 779915347 965874263 689919501 872724963 25732255 665685643 984400959 310470715 836694199 639635935 453337313 487941391 15940733 990068791 596661415 836229433 20048057 666914461 654506927 122972469 360955931 531081285 93162623 88751149 134813759 438434699 896840451 165565165 303812261 334240499 165842833 657618161 446716855 605671461 357544423 969770325 996192709 369505527 782691879 259195359 924601353 880397411 251891683 196131329 282274723 479299981 126307595 534799313 246460063 951521983 694518017 653668623 562391275 192492655 51513735 238327843 286132579 88805941 664468941 754224409 6538439 501560279 347267941 359586987 501250239 349486141 388732239 25018681 673607903 247749757 184491759 798842311 181892511 73112273 439141651 477556999 192691039 33369501 961510639 377714765 687960427 233829485 1105185 922015389 512893169 183748339 585298607 181000091 856777229 125413385 496338949 123771543 668453055 524885173 25414137 256778633 946381295 451747615 426350791 180418063 491972721 374036383 227560213 717596273 303470589 340226987 473898737 376903325 147774003 41608425 501516497 351423789 358386589 879571493 887949455 626000989 800602285 677894225 697560179 54535447 864260797 993882503 540412971 376250855 384733965 793497613 517743561 71497225 779628997 796159309 634639053 967506007 941463801 121476825 444665115 474909789 865980831 502467439 998696959 918213959 596171421 259206639 874759985 716453613 498264503 143367783 31140301 642735311 838061217 905607945 649536343 180199699 593584117 415358257 201801919 199782795 690870321 341388897 286473049 291335339 247375041 211085124 796619233 358163603 212580599 134341295 634462077 73342475 196189963 687820445 872299707 713462659 137136925 707947825 264549007 403041297 53457463 408175541 628346201 450373749 380094283 820733853 520925147 287690261 309578289 771934597 657908291 547931649 679112365 357510703 975316263 45666287 361170277 360694663 5343363 605910849 65344749 460630433 345825471 182572029 94760123 853149621 867105701 325865425 998224435 572693803 867210605 184718615 721773981 336137867 551959987 191189963 177605419 165070987 418562171 511111319 601007605 744255747 648067381 378438089 736756479 186194423 752087987 622398039 260398127 312521363 99068213 465366753 346911575 614118955 576425311 203153073 734754099 363050809 244276031 889615027 124892767 860760161 731507273 703041151 871808105 562403181 68077915 754849621 464444609 633464403 127951291 625070363 773224897 298930731 359591957 634198371 139825063 839527993 458150783 226973793 910575519 817584875 244935285 532213749 641736377 35652305 968735197 900009639 885852911 960697255 207118853 194795175 218895907 87518033 507675043 413989579 858907421 884250329 190602449 51478417 890491023 585767285 171311641 790256163 894913553 927232381 197212515 458339663 263794469 165593975 221266695 308093581 95114805 667953933 284654787 175222011 26294673 176278545 198847163 204984417 262090357 847138687 968509563 894924333 130386429 229230715 583313403 471106167 743055927 312521041 710870679 963268353 712045843 753665139 156609557 980567597 377524585 910909819 159640481 288791055 967279611 151738415 54273231 646327131 442349683 956667769 485117087 984667763 449888353 587643499 551531639 751802459 236589119 852216641 395307809 442126789 653171823 107043937 955053011 250667527 327331383 244794707 761752363 339147809 781267661 194884555 659636271 348752315 272415815 702480035 878368587 591878177 800636583 532113121 368518997 529205069 448310487 515752111 726183051 24932061 201042855 315771999 48730001 888615705 919935185 654568815 142055027 56680433 818289141 267519873 293030313 477067771 743233439 274574175 194966287 556523381 416878141 476360189 131961065 521868105 222077739 758999413 384098535 516702725 161576361 522985485 971441947 912134369 805361633 265631537 750851845 893054651 337402339 151131247 866720905 942719257 153311911 530428551 920590069 959548719 419901203 489257051 413652989 486781647 100163819 804652021 917107391 43507067 746423269 939980169 89407681 867505499 616567447 404723315 165742319 160544829 883706753 468557365 172064927 531112087 361712145 812813691 903821965 950244489 780338069 752164633 262768097 751615197 377766471 226828553 119127333 773969407 886755399 172905839 144004431 803864327 801394335 425142677 707154623 595398837 864414787 247616753 115523639 469561967 224160007 482883099 617162725 769762629 680469169 504859607 135299681 484869359 822729193 322071569 609729955 991456459 567987005 326508765 340861973 870489315 588180011 287397239 973343619 187365601 640261137 808624445 372493345 484367649 283038011 230375105 411792781 542313375 375548887 251869361 46156747 226645765 677394687 707976941 415861835 887702945 505609655 139293555 460772577 737449579 80462821 479891315 293705929 337083905 288510301 33812541 243827625 101149609 240810711 896323661 187581583 521640535 774029043 943091271 606859505 431517597 830460731 783846903 613177257 926731965 351890209 286798159 303423999 593754015 235393791 201829737 119464607 395932623 796158227 432157579 156301983 859133321 100853897 918312477 659542141 701718183 841726067 935426999 242653469 779068853 947828935 216204303 702783691 526756063 843989353 429702411 972371007 8603389 5715747 994925495 333737365 202936973 367496355 445719877 792852305 232334523 248820611 280050191 455803747 660911185 923278151 685529755 684028957 582356169 699475541 230828179 837432127 205388097 944670463 409274827 761667821 245970817 806088833 928621883 909755573 801284345 687749113 946354699 850283147 188110781 724277616 915983491 894973389 103027089 484840667 901180183 924923457 943883481 131306255 100795233 247240979 185357733 465371343 616994599 628383193 318462635 495018437 513717075 306300817 374874189 581693827 250170617 479030685 392057233 251331711 174864467 285432525 274449701 280987933 181491139 306302039 570776673 685489317 838132951 301685461 606599239 978787401 845873985 971369297 168489593 906635297 132427229 892671539 655507531 47017519 217231789 808491091 374973873 594654045 490397407 388344303 552075851 650727035 943097793 348897707 941812323 664468293 715677651 687483285 6619621 131686743 305456823 657628193 795044713 515573567 707534135 559925037 887216941 155195757 338400327 969224957 815652381 97944889 70751235 580168513 982343363 565652453 603168431 77809165 835092569 609897371 267004851 303027421 156535229 802354795 631861413 55625111 685580407 588533071 800568383 361478025 393835957 235052328 697389925 504292457 149954385 508729281 841190433 72386897 371583177 712144073 947709097 406736329 88538689 236633817 566994517 899767487 28277645 607503987 656534697 346153861 361892643 178938625 283789907 231357145 354126625 457870803 225433635 931379683 573450829 894775075 398972437 932993325 315106587 396330769 842593357 324551087 629996189 312763049 535176727 446879173 776386964 110191833 58010339 475101235 131031913 790725501 244459857 658095913 908706091 344658005 737198111 930105659 627707535 615855115 161073981 347904613 648305399 447393583 727582907 813496589 420165735 388589371 919815127 726316801 928996497 676250511 301672433 614675573 399144907 367686775 998580119 240290567 736322581 654318627 252011385 927333565 500937237 343277481 506958199 856921347 509581851 263418383 350957969 274314671 149333279 190696253 781426929 828726269 861221311 297281795 949104367 813233557 687468355 664958491 422477825 86164353 441867417 914793253 319583439 667229497 558279003 500970925 742695199 557065111 22930631 400781089 157559017 558075365 81603777 492392925 166484807 151055051 477432541 988183071 482940283 270004065 959663441 398756117 704469489 461270053 182347257 598889933 148985659 478640123 407156577 716509249 604831511 905492785 149728181 856062545 281039207 919966331 426332111 258575559 863540021 923949559 571519531 813923413 298181557 142914089 450575857 947402389 640629059 796774145 867714547 621714183 755910753 680689363 328413093 312073747 681091771 451339099 350550055 326109709 389024291 787482817 455724355 238183469 266375063 470874255 241738339 591601555 552766521 842560187 978100131 138339913 442214483 329546917 19693761 849003585 2995801 418638351 103639075 561430101 209349095 346833959 4937177 368056645 803720897 167220867 926046875 846580409 406018511 634982945 722920135 353868867 652223527 528260195 368074085 343748703 685245955 15297051 770643237 756676971 37440455 886601339 266985307 780308145 907869437 865855009 884905739 510475107 525721945 701980689 262775769 484815259 804441527 942678203 740265235 243709783 689056027 444142833 375796917 336883589 522546093 34176755 17538139 446060273 158245827 682992485 558818379 232332633 880401111 515338325 914544759 551480923 866198669 102966841 421724535 253458561 897219505 60393707 132222855 495509053 3679539 360391859 660019599 549616871 845087539 938036029 383945761 210027459 246755311 796141727 294961265 409299191 286504151 619483221 490758495 153980053 332065659 590090823 259509363 703976345 720154775 937566143 88041693 248951519 282188047 121942133 979642483 841989175 518096111 68514179 783033013 131327819 348731497 517235 136303049 163600059 116813527 999212589 499505535 674394371 122507711 562243083 278962767 208947599 839465419 655736517 31027287 972962735 909427661 253956997 298861663 796929951 905074113 240569559 215163605 66231675 293915085 767579055 590806227 924994129 837171511 602373227 821461781 989488401 535005047 728975825 643457797 631476115 388004135 441250317 127864241 242686875 444897033 333459893 150868175 44714959 492768009 93802693 735955393 772627137 944663353 410211235 797735051 452061675 663439063 812392989 60431585 720691375 68273987 271913577 795720468 391847765 455935755 244984865 575007017 401100301 359055585 200131405 325430211 112153587 969175713 777448795 502853429 609426441 875261005 927507997 377487987 51402803 422841105 425745105 695487005 52927561 467807297 505679647 841790843 172129023 917019733 705775123 889881981 593960183 194032629 567862049 607739833 859643837 258743017 879638309 148513135 764710081 850217253 238735209 499193477 319917659 8914885 615334551 783036555 963439821 499656715 736197571 178190265 358346561 961252453 360120685 980276205 233694407 461400417 741646459 427759023 263184729 545382591 672430389 583981357 585310423 344220769 551640663 126845249 73516557 514571089 324524025 945511015 188936105 778595013 765954723 244557257 769116999 262259989 655410241 198381619 224813159 198406853 798677289 278763297 481317747 763364225 623805719 413692333 991138491 975873309 94779955 312951203 796346745 760775827 238619655 637300335 56656589 570629383 807702667 548422697 969198787 979668165 579269915 754504337 170367305 95541309 852282747 98531343 77328187 57914637 718791899 812207279 830491481 696846073 160876237 793045803 240745291 118581481 26269265 351088609 928218277 639931891 951557323 341467099 119451615 85887059 631865097 393170883 817605977 285886057 950723647 143690485 656365151 678737857 402327819 198006895 146706975 472661521 784271473 641235415 649346741 806306865 724869857 997467773 693722145 886665511 296436015 887298649 132529483 706817309 365952921 660915465 230831367 514731109 297009345 116850901 805886733 623287419 323825847 511552427 828211453 107837701 920272369 887651365 520354145 183555273 177570377 158366335 495245997 411791039 97240583 151986083 601299509 106620673 278754519 587676189 327417151 796206033 519492305 828766505 86595057 518876825 621073773 944180641 685869663 251434737 790224021 386424593 238546305 197995407 106755989 745421989 25241143 592116059 292669985 152084021 373329995 328761949 728786263 827899201 756394351 454388425 252146875 437453295 423547452 926130169 29763901 885884433 764432691 61545843 822584879 81203227 569232319 334524385 355560531 57295405 49975084 538336279 784385225 503061775 399882683 435001357 878626849 147430705 943590791 473648107 416879951 980669353 250493339 939711225 188402353 805102389 730683113 879321771 246176525 433520447 984363849 593639325 177528975 223546581 942141055 686798481 949901773 726109615 251271985 202676083 442551492 987746603 88682995 569068119 528805851 941188433 752335931 1247351 979907291 364813263 564529005 263654199 423868413 844359423 447651281 835698977 713450203 4970205 691132825 915274473 53393279 995164179 984616413 912538731 243559249 519382253 550407585 905064873 667230251 834882151 637983435 318369233 108467015 130796315 711081773 957027377 643333707 688028757 31397763 404753737 814767171 540532993 975386219 960238011 964479145 66246839 807946607 859420499 461854805 622651063 593847295 168284161 573093517 740561127 760488057 423605475 583373313 210028761 906681113 69511485 712571333 989466817 90075403 52838263 967156821 794252415 132473183 764280871 967558809 368854171 104952849 804558087 540683483 683506501 469084413 871681019 69050835 514556243 11599601 321280015 767555483 276973379 259368605 301453427 358777531 837955135 348294553 506896775 239404833 746526997 825946471 93093833 248085279 589117757 423468145 792207593 813575285 882221013 927691529 8050871 74383173 378794149 44740709 771565103 691769121 562836251 602728359 200502903 274269179 29638991 389307099 16797141 920975153 313639683 770052593 654408385 491189383 101048473 575528385 185395413 575762733 826585125 833577741 890405329 739290807 307786331 697085311 536413861 867036705 753590173 343507111 668531809 693212369 148790511 929344767 718546243 124450709 126236931 308298473 146928555 163096995 788239663 384940971 152397095 760231829 894525555 825267835 473780073 893322867 584836725 358885231 865039693 246854313 570489991 586061449 547153363 777912077 269212317 576404659 417324331 28295645 524955735 663482045 543063975 239475643 955946493 373034081 989714623 430802105 434319231 469761343 959366171 640482119 677151091 717522403 33204867 72555847 676913175 337953978 811060971 713830141 93190741 783257379 390540655 204821523 203487419 994358875 732769361 581138595 797773953 740423309 438364413 19135527 87885957 217874889 376579847 608718981 699849805 777981705 560084775 107505929 472243981 644785453 192755269 725459309 539101847 463093761 346448489 16795337 850337901 147433779 603343303 353704611 952435383 489251167 206640571 269261803 12660545 803410181 909048777 383318517 802687111 113541005 723275929 770229119 331394211 649967691 856483073 118315947 125112417 106240375 308816635 797117705 588349485 63080241 116657833 446031503 637676831 689135749 270481755 342838937 33967607 738601057 301815423 769236459 590346779 534034593 9889971 730624179 546942107 187939587 62448313 956306823 808140591 473482805 4460159 411871333 691898677 466816195 800334357 419939761 244867765 708957739 64488631 537480505 659518815 594258379 771761609 960884017 950519177 705145327 419537365 586050359 965761329 734812357 32953233 67541839 629418241 117504873 682722517 213391081 646295367 218367705 233300391 21359577 307369211 344532227 481871663 801657691 363644603 184721843 161893571 949868309 3502029 470140839 369847519 262424085 830531365 800401789 211039779 844130255 236235861 735329471 292287067 265602851 729460895 984613087 224891261 710102355 104881131 933654583 505040545 599161613 30703557 888657669 98367245 638701927 282420329 962179703 563533099 204567775 818537905 79164825 60912013 364226135 352463401 495166057 258608623 681165345 147622395 771369157 595418167 166974703 707538949 651551095 834880875 409413341 602530495 636763953 830991555 540335221 278685527 576164747 486304921 657511839 179607703 703969801 9536879 999361717 650379769 629760785 430968049 200583025 568225435 890084597 324882161 637350905 260681285 344034545 827398765 320740315 926933095 87871011 703407749 983416075 137315093 846092948 630072199 532556519 705264147 16971833 105070565 223354165 818357189 390214631 640385339 971203361 660573755 124598369 357344075 595704385 101938219 82006865 132541697 215027089 321177591 524498505 101852015 978516089 870828709 731932607 24606931 452719043 390195427 438631447 348233615 101260967 262406665 662992025 1989933 800335295 956291863 480519799 224757601 45468691 842677 428845513 705740039 597169681 278090545 576629393 827812129 412168843 655183745 589511609 607160795 926627264 28304453 630114835 963757961 319274583 710698951 648895317 612191653 267305049 182925297 49880867 317733841 7131199 688723809 171387395 713857757 729184229 33223759 622860907 487950263 734771601 658157481 873616817 409990269 731402479 645370873 985368343 796987249 876769301 627610233 196639431 688123393 647224447 466941447 576349395 344507835 458252307 699724843 114593841 942481247 720484383 938692115 605016515 591418319 59593303 85917593 327494485 582247703 369053659 468861497 299179671 453804903 299802157 876887581 200965153 979217437 67439163 149380371 824274549 778812605 620677467 20316563 21811453 317851119 470399563 117759419 850194697 935887497 823877167 988566609 755378899 263769223 796728723 878652359 234791035 678382601 522619759 643262773 957948173 955766363 753915935 959530327 405606777 631485171 280399975 498508181 742678423 55736937 394971767 23082241 430243113 28770691 220616417 736161615 906717399 250127401 910618533 419138017 446063925 396778611 573983527 645943995 238493627 973457303 616466741 976029583 124549067 675585787 386929667 131776179 79670699 59948331 413761841 292584487 29560721 691680473 224504513 62019217 924557459 665662431 417488929 263151681 622272945 690145859 739409701 96518191 29025497 686058287 211526927 402716409 272823257 958173173 420918655 690143719 751475563 645252883 900631943 622812647 705373231 378580777 286845591 492654227 477049265 584396293 665438609 985238823 790771039 931183513 711825335 153633677 354447253 995087103 637433273 851076435 386762899 110230909 55297193 309825201 318385537 375212925 407210759 590153603 402930547 281247123 840488375 984072277 765094497 713465721 594878725 497762131 872343595 524799249 890480553 68097367 538548635 167492457 196948927 702592733 731297637 179784627 210580941 798642445 29885213 260006475 859294143 788362937 954446921 656090035 585365995 977178453 439152975 392289687 36656653 856750081 748827779 332622283 787722315 827459205 721862429 215782217 996367411 552795729 735492157 327285043 436655547 190098299 754322925 576485849 903034429 423131587 105783327 961463209 927325057 601994639 70293933 811224641 730976949 370976495 917731159 619461987 123460459 161980571 288619717 548905979 729557153 727110385 333168011 493724445 595170239 131195129 641077791 974105859 108620177 237720419 175825125 627600913 103110985 751691139 324757287 28284881 464336777 210463837 283523603 431408121 238557013 238691219 760710595 444468577 567470359 973262969 258540091 803564813 584701353 653285125 410004577 48522027 867431237 51983059 13409543 166685195 137896593 310259247 845612009 583478057 705041307 600209669 668580005 339183657 35717335 184716783 815973317 380707797 451453989 776837417 936734139 609511715 777656773 827574171 935404511 986775083 963630953 481169877 601220981 577742131 762942757 98711313 787157667 379711395 890144375 531994153 104868731 180173585 904733505 198622375 366883577 880354361 148065493 319503291 408981499 101581819 207205091 392048443 89832523 566867043 652817037 156348071 894418843 23929255 66565461 778445861 393395331 144087327 425930795 309376901 635392389 34001489 293437025 195485503 90619403 940958695 148948663 613520241 554543463 858703027 589291089 340189411 922929103 257237683 39600061 554212867 735709031 471639047 263493615 843736043 938353463 461594621 591824197 187115351 788904495 587847175 24836227 195984305 348347949 687852223 946965465 80663559 766863597 942244587 233435099 152968207 22208283 392197237 398897285 5509419 40508743 7234415 854811711 915752799 822933739 68577047 830178003 209230429 894788969 367736527 565302903 621936253 684102921 26616097 819453643 993458619 69377019 931505857 778171345 789239999 616019805 476460937 906561783 235099611 588684843 466614143 723239955 347100675 208254033 52423117 346373219 402397655 421125535 599656390 282793355 483164319 985353423 52967399 311506583 713005899 374458497 513148111 22431999 924996977 424748609 830175309 817362334 512374865 401382271 729084501 990616509 254462929 675178643 846703615 445328387 320435585 294958015 459374223 305597323 217985433 828608557 529630833 179780303 491448311 411433197 946270265 798306485 44106529 520983545 92761505 74989963 391135051 969782065 559708299 267038213 902392135 784080737 79503879 687626307 341478297 507405623 359448899 320272071 472922469 124409935 277596829 566720895 128850297 260340777 400535 179696321 747476305 986221871 907544799 986291785 747971079 81447345 97847109 708995647 353998183 472683241 384097989 822283309 767294173 995772919 330209923 227593227 340800641 85149415 40142537 354087731 944903699 587461031 576824333 694247791 126055931 311880979 444075495 171942375 109083716 714179563 568431131 748631093 547791275 527185369 706941847 782097747 149200523 756723307 536769899 741419175 309340143 848560671 406508499 545417469 217000577 483677013 742001971 658888077 266719645 291431251 730647831 585958131 716379201 590824269 307110703 282006069 343405075 342919005 955248219 158995903 611638371 469756803 320234395 722771047 576211241 611265191 912714521 880951913 621827075 992109469 509675307 767626861 167242553 740749341 694930764 968133245 425553593 132884935 429326623 441841935 722034459 141690151 869470575 136787971 261332129 393488043 680419119 630498715 134882861 390088109 813016697 308729221 543158867 609587057 973536659 108301271 714211401 861557789 374497767 194666511 375936235 503324101 388983559 923727377 783027653 799672161 557143985 374067497 62883331 427650001 978453701 490083087 710419837 370429151 760694865 507747551 138500019 202449981 19306631 450728479 400573643 960202373 949373635 496591801 950283415 973304885 6624391 681494279 623752587 904009915 353138815 460066499 630937543 483609443 505096573 185835539 961424403 681542763 295898495 349698949 263467231 429331953 118864037 668043791 269383489 50971903 722397245 628329483 305955319 104069255 227151291 358770753 144854123 175164003 842915765 474125533 63000491 642003537 879034613 545209461 166744431 847573757 941524833 408704263 261040405 372276985 257530637 246393077 239804069 902568891 987841335 591446033 339455437 162475175 568519489 101581451 977363175 77124101 629484981 368345093 451412975 405089799 941193031 24198785 123442575 78140359 27790291 733921135 650429459 889527875 901544797 344617121 618062455 664946023 42206477 935686999 29777237 721244933 719043641 554408245 173097465 78233043 234090331 729953097 341040463 907496053 34901271 863751943 327381743 227857011 454759735 427734861 186083353 23103295 167055281 120213345 37318835 45182257 260091293 970534383 583583823 24426123 878979135 603777549 857827617 950233719 827389445 710470199 127912713 316409351 904661375 358708053 616586895 566613297 770453609 825651633 57905635 96242649 439332007 835314177 461327833 346470085 799705411 501764197 787170549 908025515 272117619 23725919 242151003 80237857 397707663 573653725 500913883 950491051 558969885 168548663 433793005 193013935 386945733 633120805 695402671 991729279 595725151 838556113 358511335 866444885 727485153 43303367 641972233 145527635 570326129 711077883 377566759 135914367 406313051 697503691 132290307 650705103 102405391 85175547 690930949 58952217 154528813 852795067 769972283 850818079 124133237 948092575 314319195 523061899 937120721 235115427 98981063 120612077 721622617 117666093 576702339 111585215 629681475 518462987 689301057 391851875 647449335 710665073 70499415 49632033 648704763 420626943 839983301 686254121 895509255 146617527 783218993 250864791 470811125 375588359 114680045 967379563 790573767 304443589 938710509 545106575 600211881 976822573 977776081 571591123 420944109 303554023 58111201 189790193 487718417 251054333 689882893 246399113 672170165 684273895 451624681 25389607 733421991 112465281 174006969 301559099 975358937 173403919 827186017 63652635 809116519 766456641 827389297 724387085 372362899 352935977 152184865 44394809 583149769 849258311 817370701 58118575 153853341 924554879 504814465 875315561 906101705 103500575 531655915 397345095 924554799 253706459 948252767 585225493 972016351 654437585 486347615 148373633 795922951 511949959 780404243 379433511 273394437 553496809 333771847 819402375 167479131 755812173 245046903 251713289 14416309 249452655 25544893 475069697 175434471 795330935 347375589 959743655 495090923 562632943 979534939 235986971 252628453 657810383 904273719 751277673 311837471 817669233 690358585 871777407 307257357 320457117 981249479 904006713 225494859 955995521 826997745 856181077 713318813 439628463 968110959 547714689 107562731 833489703 919414175 278661707 724265291 474976589 278034057 602730539 708989943 237377261 150190045 420916101 59588691 864267839 279174129 664250531 227797227 596006623 982170307 653394867 158873711 608533715 39435005 874057681 92713661 914191751 691918573 593677307 53463001 178867919 532710283 217570847 524797677 780851179 917776245 552710665 668720971 246118529 453044209 373341815 758514543 112068507 960949747 521405959 802274813 734724271 507072781 110265411 881368769 736089243 735944321 919420061 614783915 416633509 537287735 478701423 936103899 282958203 178409915 232086777 420885647 505265711 444125513 987480163 588706871 28283199 959403195 368349375 904655203 716738451 268998299 31953417 948639185 903432053 2594585 742140447 530039137 175741340 659142411 809715147 417278241 801004071 273485041 352027583 686340163 474849687 130277363 255150483 997698849 805211613 777352925 710053067 867471425 859381067 393140009 127896013 750395213 794462113 67176949 349840621 460858391 733883141 423572745 960564577 740707741 565182719 51525075 458147917 353090303 854696331 880529517 521111481 367763083 278241793 830909077 600410007 690554035 394403881 89511601 9814719 897921811 473412911 812636367 301360117 45752685 830422183 299463595 719786719 259473581 962717075 52929953 525700879 369181671 125305171 971136441 684376319 789331 923403961 690383521 268254481 918099801 611057397 771809201 163895437 670865793 5214889 238766057 620913828 388961663 545473239 860532465 475178865 553710639 173365229 276292629 302002931 508814995 669681859 2330449 957934101 800019671 56699793 513621567 283490729 766982479 611047681 284080939 323192677 381476213 571011359 800020991 928920301 691538157 742016607 487254871 490243785 736042113 718292639 56526705 357950825 147927845 47722021 736591667 610841641 944773877 246671515 243643183 365670475 190422581 688256027 984235673 628076021 213904461 872616991 547341905 711457081 608467667 146182799 608872415 972293905 29394049 403715765 242496625 631863901 12278331 493331015 68091361 707435753 699563531 64353893 844763563 833736805 978095143 959665297 448460281 367959913 813569511 643126713 695496857 143501943 997497551 999437619 662630915 259574521 954758541 374447037 97176147 901898815 668610289 51429497 287704149 653394051 789255927 175836665 529901173 252447717 893451203 504623919 966780365 641952625 493138081 143796855 117644569 250431511 863394049 178822299 825653697 403365807 760286083 563628483 493991127 386360827 209792229 900484745 862376463 272946083 20406551 938082535 868165833 644747579 712759849 658390851 293460239 836219451 669125975 444205419 519406733 690567173 899079687 551510419 202529691 707757791 68299455 49648985 627164215 418527487 931272246 320430787 517021453 704192891 263395913 413386557 926392423 526464341 179934965 911488157 718459711 181618805 299266923 584309793 400925747 710732463 119732475 538700651 191045771 130031291 485552163 204431755 881132853 249816377 503968131 20137463 916592075 774810037 462902505 712188299 815193481 418798493 710289479 127081867 802602585 588541773 113286329 524399269 327224265 571436804 746040193 247517681 785696273 169729005 71632651 362769383 249814797 413293337 713658345 777471856 34214217 364125313 809423321 445829851 104732912 634589189 259546811 509491417 464509661 595610737 88777117 417852297 145912719 734214771 722462643 450213745 44855337 42670501 684097363 387060861 26995069 861908363 660619525 150063361 465992965 955228301 86710901 478256319 684764123 963160825 476562801 224418775 615220681 368845325 728593657 766596569 785265727 853789415 173962287 685877433 955462483 61806993 126948701 581556695 569912005 696758271 300669175 257480949 658406139 51272453 37740697 676024129 320239621 746535273 52280837 186225233 165363355 126320849 581535785 381219619 779957019 650330321 478742547 309038363 82364045 548376031 36873731 889573637 470113697 204994143 608561755 505287705 471929771 473732507 794203815 678682355 655666607 621463232 579007127 652524695 1470799 435110379 824835849 178421621 795960799 993685277 875727617 191177313 530158421 264005437 950955175 24842647 247324493 177553695 613322321 997384125 809700883 939267193 324492665 915562209 436260243 97710831 609781699 446932855 748856421 176062729 759398907 425334109 74725577 214954809 580445969 396961497 59055015 210533079 128406819 132152215 206254987 710829863 453023861 347436973 256394161 350815311 506221169 576490649 752408819 572953185 923758761 620185149 164330715 615407705 788037081 63256041 516119705 40553237 281975013 236941139 54664195 446529119 509442009 652200855 661771929 48139753 909825765 466748473 870083201 396983371 385019241 661809191 485217163 869821447 485176549 637697721 244641839 941561991 911768067 814609065 589965451 184863005 212754843 389428509 525853031 864041471 401366435 57236129 665706801 751934289 200640065 513043501 859255043 181550619 288371393 363072029 629563801 993983823 288917 765204279 862023773 997462725 181162585 369138599 809485917 796019263 400593615 893972483 509658959 301827687 407207905 349652551 319513749 541103565 556545447 905903833 604423219 662156779 474267481 171289993 77902299 587433507 326093401 13803143 376372197 555989693 668194612 159468405 180652621 670076395 513705631 8986709 69797307 74512069 950216307 449280149 963949185 220236365 507371699 329992203 995742099 779666541 743664779 290343413 300233617 286583541 412480845 285921271 549700547 454487199 374140279 986420509 854289177 602288141 97011627 667191007 620580649 498788549 250858419 918331929 102263603 898383421 170127747 180791311 176940829 502605515 480508983 336690545 406189175 453316273 235074833 879559507 575848823 154092313 814597757 296781873 237025279 653596947 588566799 128010481 548189333 165608601 3312257 601983969 356414313 616896907 622502071 90464693 389819727 341562037 711530683 597483147 305711307 706733255 538078657 67641065 308500223 863023961 522793509 507722427 900660927 973787629 342487147 311969367 496936321 566588139 13363771 124074875 984766049 464815271 675522411 61754441 294050603 91531865 583988981 116188243 846611275 659250465 616863741 504899977 831865049 614808331 115493071 164595533 203134357 187471877 542545371 10058593 779620839 995291371 747535551 483273461 880498139 863650429 600470335 917163419 989218859 548132453 611868739 97562195 825009973 948259891 59734753 512643713 205616643 20253791 552546133 405189875 911564607 452550991 851980287 298934493 557661253 896571975 424828011 280023261 217672211 450747005 295319631 393041401 687482447 944500741 14625923 139959453 65741385 116745445 412794381 301463455 980866553 23898629 250685207 105674555 940632317 318178355 44667379 761278999 774460315 802775340 364681245 795511873 22679495 495778961 858872121 631362607 648862739 859939051 444409875 716294075 138224323 282205865 144722845 535052077 584574649 460298023 667544561 245458483 224046217 293573539 375478101 314972383 428864871 267978315 946801971 763623089 662403125 859376939 391372063 79126925 664417913 65712449 32092625 301407935 527605089 580551531 134830129 673904639 887770821 948743539 168923717 472978025 410593829 126405387 253775429 116616065 514723239 485940941 244151691 329492535 186926365 141201721 219081625 656275423 671849723 886992823 322532123 819335477 761637217 930212763 534526179 706382175 219439383 840441115 64973039 787798763 881879181 594178651 233057633 798311117 937831129 906543203 547749251 934970725 371391673 143412261 201579721 551679861 329639831 566904699 460202447 37177131 152194689 175779875 97799511 187930909 472643887 187894473 35378509 245730119 699780351 615772671 488708037 547531793 662027257 936170811 489282041 288976709 472632779 484863457 668192587 963537179 134266575 934693945 253208139 975311663 941445889 365169781 52007847 556026757 514952971 858460079 783683389 780969869 200650041 503404261 331683087 383277849 60442759 790676483 584825929 155246441 599597455 889646299 256353855 752089633 184108957 839336995 630458731 869043279 36129181 205463679 677224561 254785383 960161063 457547127 816349467 227946567 28411771 740047485 140979039 618051125 597135999 186591209 434277461 585425885 645832643 474049533 706896707 82118227 101935487 984123875 464695953 733338137 373016467 578641581 524037845 106774543 40921731 116800593 759792585 182860421 834294401 778108083 264834897 43496497 421889121 472443547 180951161 76066605 277420711 918306489 300915825 725955075 77104759 103775403 167695769 897040027 314489505 901334509 105235567 736567117 95429277 409938667 837384355 883643351 866160521 15076341 409079301 107650653 295084331 685254725 258075537 85203563 332578551 147579645 916111979 533304825 862962431 174205476 343999711 886594147 268833029 957999021 884242783 661666159 858233713 491633777 259192197 920408137 474213969 455244593 567273239 496347269 391059547 278672791 877248255 850828579 845599217 160274739 389031503 82945417 349786135 24279167 352351045 512287361 853716351 207655389 639766081 170426177 899267967 906228373 838276305 351347815 625612567 799784407 718482599 314956025 413162477 194595263 773275805 887223651 743009619 963237965 960156089 765288571 587039549 414829675 245660709 296025215 679975755 527106281 635210805 414045715 31508933 894089089 308804960 401568067 197461659 632514005 549177169 929290887 254002785 423996523 642196685 915573179 780813147 786046905 150843081 868904227 406744173 173317909 679780193 873032301 19055143 173869505 730988759 787953585 685437887 470671845 412422295 248398441 71073815 632207253 280835635 997853307 956284597 551602121 430724201 580181813 905370823 274864481 410304027 565038155 381375527 396058153 761813331 653577435 847844433 109485519 281711173 444516459 284967791 979571951 493590093 335588839 618339149 405584905 516501741 22367909 611057767 471766149 723762899 631587681 604664535 672373175 670202573 940223809 419609961 207864791 870560987 318983381 818159753 695742213 769252127 347491085 853199183 448507981 32201443 127526475 273479289 676907165 670589853 43054417 849704819 958750161 319295461 372690509 926027079 442012073 192910463 251190231 599536047 742468301 251310425 576251879 708757001 172599761 641888387 186140903 443017309 660210219 837886777 738616483 112416347 342717249 391728863 753842511 412858969 545107287 148690431 720459401 472785493 697634465 959456591 414825045 785254137 624447545 281810087 9249315 503969939 200956191 447306251 591691719 271780379 319800635 299396777 625935485 326187565 24339039 449201105 883543019 624825365 624042311 431657471 924248351 957373631 32375953 419850199 122176911 358892485 742556103 908441381 5454357 529447523 203510877 258125787 170216441 23093379 240911015 771095827 525653479 200338353 687817963 9509907 226986741 24193575 379380303 137422149 697675169 554070469 854255077 114797371 444651215 387667215 753970601 417900977 250299595 999964215 604872057 689853581 415571533 671260179 89132575 391421653 80768369 330254627 793076813 386780609 327025339 160857229 648623005 312972715 365787675 98350371 436517773 391281429 616969699 662919257 209105545 804521897 699169235 534532943 590924515 107999551 787166223 765976525 494113745 83070669 336397861 195437377 178337399 873841531 513754633 706462149 641174749 471342481 388232473 338612503 207927029 333638019 221422875 234141595 995606935 733390059 93605691 757572965 312283527 37720463 549232911 575920427 886368363 732589657 571612051 353600843 374437845 874144349 228664879 946976459 930528319 690271189 93709741 957663327 672652811 683015459 638556485 790226265 252378752 709197781 635313553 83982523 715023059 126579103 837136283 36953133 633538841 468540759 552435147 168675067 882046807 556994567 209298169 774277921 59821171 180930005 194299235 415189049 92973887 987355413 516914605 97329805 391115125 483242309 226527205 923472909 774648503 390245895 777235071 865310543 468538253 921441317 8511833 980582547 908108903 979277461 385915063 683518143 129225379 280790383 510900809 587676261 828253565 363145463 193258019 144722103 367154465 538707097 216579521 276722331 341490079 401493993 362406153 11694483 677987313 932589473 82779977 782387407 32495865 865487525 782214711 592785449 868500605 863530241 332531437 344383261 77085747 584058085 796380915 308671445 840140977 18020783 132878645 571152927 868256377 893766883 976022283 691888755 928540405 590891305 814491437 564858605 669973877 794851159 191157445 122255449 277512243 949762919 973627485 918328611 449119057 86299007 530189549 850093157 406361045 220218085 902851281 549571803 467694773 989552913 34171597 849585645 47648199 768863387 132900625 808361645 148811469 135319113 644674097 401873615 342294641 519983619 593243177 670404531 392389955 467385311 996046175 356388195 743310011 333358361 404797857 192034187 477170751 392291089 770577699 503604867 875935765 148393045 827777410 270606409 166398573 369902487 559777479 185464201 359578211 703383217 206944859 577673869 964513527 847719337 158495765 403147855 268698129 952041897 161854769 113268077 302236549 568809987 848254295 766251311 64188939 312708403 185297297 252268163 882691139 279182303 931798871 244442883 481027001 546656207 88197507 625742315 24426459 15116023 481753949 511330597 154987781 977027697 765724563 848059455 514156407 581062019 317658935 587865967 556439129 467886743 996474057 190059671 673412287 274229313 212892973 15548477 999829665 15271481 518931121 358287503 640667615 300421223 133647369 902770789 568368965 686763475 841356627 416961087 383874945 301230513 62759699 374054725 947575855 181446237 907211065 56983107 437173453 781830233 9074713 577849013 345841609 440019793 335593327 666882485 295459695 931772697 524949859 80536333 137183997 108752041 663783807 199646765 787530641 661172009 640743865 673479979 551606071 836916961 860551025 737788871 705279453 516751943 30662761 90443879 629483101 440358643 350880207 79333147 761030523 286846121 641501497 472422043 666862813 683647573 842407845 185574213 564810263 10159371 508813941 954932257 306612127 589063941 883034747 319762397 37428187 711996583 315099881 639587795 291413007 240894843 347498077 362081535 249412975 107312437 839319515 831470859 515021331 567801011 458437075 427433797 647661567 441532659 891838743 253701541 959299609 111605283 120093159 900145095 600481077 423189655 793386727 363859959 327632137 212455371 885405221 437048353 664847673 821238111 901750807 617984733 330122317 310189087 752856727 49344107 877814455 978454273 225827309 397090739 964412369 54652957 67759045 720417601 840418009 922589111 230613045 118342223 272771067 609551677 685700281 21950397 392559433 61218879 740201273 225623311 555837369 835130233 303531263 145991031 151016495 19333585 469269955 344182475 781325939 6288205 249947295 725295243 132602423 641758245 81439005 86573789 636625427 368476081 84241445 521486737 500882571 586892663 978033935 658653471 627256581 568263201 233261209 942396325 330977491 52383873 890714599 857057771 608444975 901725333 957554055 789055583 114725691 669352573 185920109 476842011 815787263 279848839 13539063 857714651 367502957 708660005 822921195 309403401 33550173 868625905 377118069 280615601 745309585 684038321 330810921 215434383 151588275 816068431 348249097 532853247 153039443 145221085 851666293 686588679 950377197 787944345 611890749 829035865 901490909 115209699 980087959 1554765 921944177 155617609 253378589 847002847 248891865 324901501 827177175 725856439 566052397 665011547 477486131 758734117 552854127 135506917 816224259 821981475 385862281 357237575 3005317 236348235 451995211 271504597 855962721 626514151 552645231 258908937 508184995 999358695 142587287 648676997 746702015 219420385 698219851 698272535 453813393 740678675 994389243 555893425 547420771 799774313 472061187 425641071 994033375 102097773 599373219 256686485 399395097 742818135 237936645 490311307 688177553 65866761 174451001 105720805 764640043 577842697 563670841 929284449 433614389 277531527 794327015 698441953 968503141 885367639 764950537 170534767 308791509 644140029 287866965 518667841 457280781 415486107 827159649 744862639 535234041 577120261 398863791 66166333 838827503 720201137 707958439 207840153 758403755 555339963 937910685 349508497 589471829 574505199 191841225 74456871 703070327 605180345 478061133 998964601 150533385 840006449 740465455 317809875 437827943 747585303 463816293 249608617 993130837 835507153 372293827 289559961 881942019 173187953 64961295 908342369 482141955 72658603 182624497 243298033 805996885 982117343 291964921 542418009 44815453 164675605 345817249 709831893 256704233 370091517 207920457 356532425 752055853 989167853 526928699 275902401 143260359 852491237 152995243 567043949 3775419 313562251 810911917 468117677 179834233 878338095 72438343 871165055 241678037 809829065 370591073 491909907 464896011 323979253 990643401 754291385 349504963 475417087 934953533 861166319 843952135 368496341 452419419 10037077 822888271 651332875 270468783 636624057 807415669 42695909 40780455 756094987 348991681 543690053 101852831 796537195 713101535 371564223 330239957 701318425 290811879 682797703 658224759 179307649 454738769 802184063 7457425 997119285 500299527 48369965 622311201 724320241 509170773 907173567 781743877 786893723 221871343 121081869 456875529 933392443 927376371 139461271 478437851 272487429 609537765 114485379 812837653 7593555 25476789 389759905 861641787 510291115 10320053 218482283 503279283 289270199 124490151 311810811 147289553 6912075 51800747 577798171 864755659 605976161 976619601 172786747 848014533 124280347 956728717 235556465 448726471 128955079 813758653 539487611 482833859 38422999 287679655 24480963 554063507 617021415 775266167 157927255 249074165 78532537 373160387 449394927 10566807 642888505 706510217 568916713 168115461 225290363 891232045 791466317 124236477 942685881 456671355 295710153 404363549 273258839 570354091 676699319 644348527 421562591 923726935 475931155 87383781 296134149 214700681 770626181 413035415 882928805 866653097 778096223 910240135 923387585 800457617 849499285 216293535 678244231 42177403 226330569 617951921 943219783 106959629 297140033 287824499 322930045 309192019 541622251 964623497 60579277 801245637 669383519 104435323 601025281 852345665 442453213 893420987 592218893 223871239 552132171 854577825 1081613 612015561 168127289 407372145 752995909 969287323 811800542 804436305 878149917 431916025 668871709 842986835 159971883 605378251 441487479 712060273 834890027 502063451 31543581 962221965 385374717 400946785 161909993 399472239 3742125 104898039 913392217 919814345 472414577 375963813 647273619 671173171 914574241 565869145 241522791 822766127 924091075 664761701 135860555 338625831 860477055 4981129 107167841 195428715 858526379 198465255 638947695 330567221 888437315 451419921 305219045 809660070 567000167 850832889 645879255 686470345 471629669 214767357 710573319 83809419 256824749 423114721 960134621 879073481 999632607 417824213 156878951 373549637 934176443 720368237 424047451 971610787 434994731 17828005 306596633 62724987 64602183 479214051 620496555 498329921 643358533 142407925 872449725 607290455 984207243 294031121 375852711 608843785 286062757 330748625 803046249 881939845 12203589 113904957 524827305 717727975 325401415 593320129 494684601 403376689 652140717 839929395 940839563 66118215 424337571 931323345 748268229 72398847 317307 821471805 662211753 599750929 681601715 219819913 22621735 403753247 443184107 880418341 818322905 679542447 147004401 312954355 750984701 569257015 759223735 217917751 883531641 51476237 718799193 558773147 280476893 943856243 88831769 686797113 98565983 191753361 450596963 924247947 18429409 995625339 735279819 413266551 362483177 212616233 645496587 987111753 540844197 464562555 495268357 447256507 224200687 474390333 445596615 718141157 899539267 672422685 295017605 741328461 141484747 871544759 934814615 522613987 369860691 385672587 127228545 797078010 184155733 49246211 86788591 736411731 640721137 888803437 669860021 549218573 702759147 958398727 769295565 978517177 634082485 32098801 85159515 585792589 323932007 292728881 923603113 669319203 911340475 207215291 738208043 228972804 462512415 742929257 932244093 709422363 510828189 231933435 74869091 347366141 568254959 316720921 492813253 503618217 34429043 557827927 225445305 192311939 323425841 862043181 357725817 47556185 838328537 2135291 469729641 582216287 602624193 201899531 58704661 238206513 857572327 162383759 133303853 941660121 707040501 456134305 892470415 501156033 690501689 798529089 451262015 388542655 212055721 971957335 247237221 672194831 956876519 411338423 638361687 14134103 855688249 195357207 528412817 57528485 625046925 788384539 356754355 652078701 154830973 667760973 260536713 934899087 513366597 696065563 666118153 529143117 45118159 659950047 995643981 101149781 577392551 587541213 704233365 104914365 993017607 41018939 183323217 480244227 741847759 691782413 348517137 111528457 465922435 687053129 618129811 372287521 937443669 926722259 240701367 713431293 159748891 158980211 747390603 973720761 989721941 861887195 855085889 126978015 665844521 69100453 889578035 686507607 496355177 976438863 183232487 266159227 713027463 649379653 190684679 115308549 512135337 110518489 616466533 413484827 909158545 193182273 978561023 157756747 448337071 167804577 423969781 660408457 544082717 807675905 103227541 8152627 96062871 153070163 521422929 26481679 309938823 711942769 826906309 471003977 251672571 533360409 757150131 396973943 237339307 469827575 681302535 404728725 458014453 670939291 659883219 606899979 882400735 600778113 910108245 428261539 265132573 24052485 742543087 815792019 999862017 632882805 922058283 939303035 633508749 308984577 276917181 55127645 879751017 970297027 293646465 776135593 413546977 395660217 850001785 189855537 89656047 66165455 590362321 994396981 439654963 139655893 430292189 527517785 226966001 795651461 256696599 972356777 918333467 311498369 147036963 396513437 626218311 43301457 367082443 840982033 358530485 751688551 633905667 457385803 190864971 538822427 783606759 677932023 119209881 384233135 784247737 192380971 929719511 167270477 205021927 686290275 234582243 641549829 111405313 341761413 396283205 637448913 43994819 617304543 616399149 95672723 867656465 543215141 36692593 99039251 513456629 116746615 983645839 688955393 916068771 340508503 441403825 190348793 720410489 734219443 869781413 463401595 620656885 223888609 331273953 253928689 932039879 619348127 212391815 562111147 413486527 239285009 792911965 196808163 719620569 973794499 983858641 995454651 564977464 208755885 842231547 754037819 748652841 137539371 563191965 511649107 536226079 608709889 487290393 480068575 911328179 232528991 52095107 474413471 669445547 289941463 459726223 152581949 377827569 987832681 689776797 199729993 323858839 285193593 8270775 470094141 343018713 573892053 36883591 647477881 506954267 526422193 106183017 208192329 425875945 856113581 813707867 199250395 346434805 798816457 377829891 867594059 987821337 399728505 405945011 215389849 960127067 728761227 538572637 730616239 675886053 988997699 686582951 910281307 610377481 151758657 351575507 227577179 855792709 82176407 430883281 819836239 997211705 667420341 240370235 912670141 791979187 64732541 419253837 474985499 467443621 283806513 600844273 322620605 520724523 66021505 304551093 785845737 883430791 566770303 96792783 271075527 297498149 55180715 70840865 978449509 730717847 590698729 966937905 108108481 52549787 874767493 585820717 407410105 574028305 401007415 28933613 527027737 11783175 321131291 971854577 830525583 428795823 197951671 491725409 467184823 849766245 886629367 411951369 294849041 451156395 515282737 45411939 617179397 759104557 868636705 54498703 12710375 48412863 835282669 263775313 446210029 300461659 501748515 825353755 755567163 647736357 470502585 683185923 106523867 758228583 466538249 75861193 624763323 866615701 550865371 545734099 49660343 879063883 565598813 704032305 517077901 37508939 415537185 47524507 559087337 942477441 135363109 538524527 86903133 140155905 213315537 772699573 217006945 857797636 535553009 970343451 815157077 978103024 395664823 535841787 72174211 583495759 719455685 9996369 3958301 795379157 813994271 677310151 818543165 157041755 688506927 386243243 750722785 848948453 264626639 942544371 666879733 891587489 679499321 998503489 63797067 982599391 7509011 117659611 424013209 937273371 131916139 27878575 94423427 296667385 494991029 56708949 814155153 291011651 735414225 963383821 223797301 754929391 742093055 713478591 246844617 772229397 574479857 474435319 591035531 685725947 623142075 804691695 426037671 683548169 45082331 39735431 747826735 399475669 259499571 981171523 183882009 892916507 660115989 156572757 47207241 278539963 230713905 997034387 852890759 916704963 269599657 602077307 88946309 582691171 791009791 61987129 44013019 402166267 899789859 921683863 702991117 261989897 808033639 840573453 782988161 786178621 524168843 242780861 409616009 757877095 89373363 284681837 844831327 732644741 242836589 265210765 584667429 296407223 541749421 955078961 583161827 559280203 548144081 999578653 433004427 119607731 960248989 634978741 252115445 170036105 400130881 990019335 302263011 528018067 680193617 485946831 789178111 718065339 497381321 919516009 156859099 436465173 732005905 806109659 479334381 625705945 757310707 275406551 9117079 335091567 716251813 449048243 935636517 793513823 89533639 112988527 330872263 473760861 618697051 948282803 777073045 152726083 883192783 587245003 395189905 87965465 720713209 693164209 946549413 694448133 699138839 767646469 139157409 721820763 144910029 349934091 953456191 136858265 534851111 303271605 740877089 42029409 975845533 384138393 169181135 59449469 985521418 420950773 78262201 816686049 718086839 33924531 843343163 667727529 661576779 8682083 585463445 134006295 515966689 988772663 923028209 700359831 741084915 826832403 888774495 675555517 322973543 872443261 151071193 481638467 920914571 242647461 829996609 543302413 18567955 325537119 834002269 336016421 684258591 283198767 461306339 403858623 399690031 789813303 269082985 742918455 706074935 802431819 799475569 64152081 694050183 560001503 835622499 286255349 568350685 872879893 698429587 769452473 908432481 355348147 432176953 380602711 516365981 312537639 781635447 934307059 923675785 644895113 243383123 510023895 259156863 795758233 508883139 484600697 76114249 590640573 696660637 980461169 707684111 743442183 224673697 95819141 549683819 753440555 917709693 158783389 459325525 564898441 867423679 806804431 946687543 809289257 656154337 925617749 435930845 564137659 711946051 816500627 51313531 782163861 366297649 139270421 74527919 1637815 422687961 200824973 958429567 391421639 940121431 48560341 140507223 798186005 235865513 282548979 471169037 720448919 421307581 227699983 374353629 179029743 782072161 734411137 843077999 355671139 960655693 644096959 741379021 118504931 778453543 436132207 111238765 224248323 10823795 662757213 651292975 827372295 97238181 166442107 19586645 174474705 954489367 164533987 925752205 787191029 320636425 120663259 656556269 236407719 896272035 356308429 95322611 955675337 772853753 952894795 601066115 713424351 276270849 325240339 908197865 849558045 268773023 540675845 110692317 197111125 464585885 193923631 394999675 690840841 720331433 138920899 339548745 124377951 333863773 888183069 381041457 882413095 719105853 512644543 527664525 85806553 738854831 308956757 384215063 982081173 491316743 422158257 449398773 618602783 443178107 893238225 238575029 965534697 541358383 510649047 752735821 531720711 719106349 838427149 961088023 588440637 954400611 554393831 918966747 436812271 812528555 82979841 168833989 396295725 328256457 984814109 467337323 492519087 533278819 572892967 603290571 552502995 249595915 369715507 676251719 391598753 857477693 24403321 870691761 842621383 973514327 564621153 865602617 137122461 940654755 89363827 791874945 585413413 387229011 72687717 455464843 689337857 599129983 138816527 592535495 571716997 739705387 123155573 305764871 783287461 972084541 252422851 581063563 347264515 358154887 25248333 241328119 968650469 687258819 561219981 109477977 81866809 400814227 169429799 738657829 288502679 195043199 216463589 853609017 711986751 60993273 921396925 265769435 274548247 889836377 295944647 114654135 281558191 275700963 267335495 35764451 358843455 23861437 382171051 534984155 864338087 784990201 340987267 409045383 395867243 907910289 597668491 544359473 746851771 96125543 915576999 674378895 378657649 326415427 258157793 91227329 680884235 174262999 470152814 3867977 658142383 273931195 915925417 107277845 225703469 458047601 147484437 476846461 158210043 805392739 541953629 367682361 259752763 919389409 174610259 367546227 891750323 350368805 212961523 904557495 289822417 801974865 800916065 893161977 954773167 974615917 421937641 647778199 726227209 512514923 135392765 622301781 593045577 585622819 116218423 804396387 583294075 452042583 699959901 615693397 728351322 960269233 200165209 288037415 477563459 96455105 689936445 624776767 703081791 245023745 269432645 343767403 767384571 313683665 121998039 773765855 892009423 161405309 387071099 257687867 941992891 487895349 564765157 558517121 698056037 818231825 799772655 65316383 478200861 15994387 334113183 866185707 648422875 789581859 137619231 367744289 470198335 689587989 551875265 597371497 86104973 429633697 475885059 624183245 940480949 275511913 668267655 521896901 289575249 549188853 275582231 135683629 407464607 189794997 982089895 108348745 480046213 577985797 710843729 328221385 942815122 865593637 914983771 311351999 161004799 260521277 691519025 704115883 649002411 401802081 144238433 174550129 501950749 374711945 302084523 525580639 675979907 605012887 195544560 877070633 443355575 459272785 412347965 441475821 58384949 197427821 369638083 163141681 274472997 978005631 785159391 911069153 911965529 943118605 862247443 693147475 496048709 29503871 209424139 854019907 525813515 471799589 725525147 789370585 317645423 900037175 515438269 435506847 477806307 654940379 508402069 751957901 514802045 436104213 408781933 738414589 911822077 806375129 326824635 811305655 317555403 351535361 654966039 336053225 196984819 632063053 513737285 103633445 89920047 787646821 452002353 17769323 870932189 474767581 667822319 371602975 563120133 589903405 885492667 428751373 900580695 91970741 64428533 421614444 270351655 378231999 41310249 547662811 727327609 503401599 309727499 763900253 4697329 525867785 507788409 941149535 201228767 485496163 203303537 47945653 271208761 384197491 998794275 134409119 735524257 636019469 601426655 499435715 140812893 51363559 597982497 289577003 888830555 945018277 666741645 389123405 300200757 193812177 884938735 906268935 270966823 964928473 760027705 710930079 915350809 815746839 14479237 774311619 371372957 322311375 533956377 789911173 731056103 405217319 570512221 233425507 781660121 334430771 433824489 221569349 713458167 787746537 561313651 740046197 561530995 445680685 468039393 117445035 61109795 148827335 895255103 572764675 186471815 777996137 466270911 24440577 420014021 418148269 935807163 4059797 325122477 653974801 375272633 40215313 215877815 53877251 593585763 841569333 602078211 525421775 225841037 49254439 303553365 776587953 961317679 681285231 10470429 378165963 632100977 814606089 493192309 502391077 665956763 855485261 371976217 109125041 929916193 472426243 724408179 283939657 319866525 654895447 401924753 871152299 798775765 240528349 469246507 648688515 943689139 894373783 370798751 683697505 838831435 389408229 519798515 816477377 76328663 553478041 814543835 216211457 298673849 14919139 801510057 139390571 464332927 55275877 977697887 478617903 148713435 205462305 669282469 893487723 581995433 766605701 930497223 211303451 274525419 248659817 725431999 156997419 29693391 651571973 174050349 196104299 20825251 354658051 99323221 531004821 751484647 735911279 269272105 434734155 575474237 805250749 914968383 501377301 920833391 226647243 333444311 837360741 772756851 979207135 190681559 249173395 178528353 551793571 529142991 44724705 323848829 657061937 459364087 790857593 197656371 100020483 820551981 676158570 365254167 88004097 951244537 546901937 55023587 388448885 581408139 828744237 453985147 333938197 956374713 148681639 849417449 710860289 188541953 200419790 507923043 531785659 172202893 350274881 458643265 243646001 504945963 581821055 759344905 6428345 402942801 810772205 254966371 369560591 611743777 754918369 15382565 842222939 890813537 629655955 663093833 969068841 776994431 420955173 38565619 270266475 611842963 675353247 151368559 14573443 696581215 914874865 140257069 894895413 766333509 685039095 598436557 121796523 11606617 949153905 437031693 322343295 131969615 32075273 342524381 284797611 781167495 715199311 364487501 975805333 132202507 757984189 554326683 27136011 465702789 963579059 192888615 541455937 961828433 319477373 615442303 593324501 667396205 332580169 550433363 202343629 303059583 196083251 630514051 354068117 250341593 737931835 134486799 690744067 692593261 777529675 281143841 160901461 567196127 466215219 379462673 729860909 52777589 764142251 74072405 792354203 461456159 755558489 121876117 70537237 609172851 276130241 896996249 502994295 769955503 278955097 339239507 810120965 194225341 752265333 900835811 959958381 468051243 718194779 843840393 645714375 471776815 456011059 473858993 806389899 391204779 132604941 620685549 345798307 526217765 235441889 163442427 573923931 585044939 313067925 485441981 737509991 720134517 909680365 233784893 830462693 625560995 45432221 480173487 295970907 591745405 83959615 847022703 91686581 146168783 698841427 381442815 261691463 241608723 563307585 129694987 397607635 859772265 432225885 66064997 62150265 495755157 664040669 308178955 743609545 332950537 829132519 591449887 285036471 153671387 37505151 53300715 536104611 870920651 838047129 256464099 960290127 791520062 146473231 264168867 489084649 241074503 851948959 599517167 853683463 426897563 810687223 67447471 213036711 783183769 895166627 681679097 202127661 448886601 230080801 310317319 372005733 213544025 261107407 668237117 798119559 82129955 470129911 156761381 803992879 630399395 80535755 422262387 471984737 519858819 292430437 624881155 500321933 891464209 920488387 214859993 809154183 963588675 866262481 771633949 136874123 258085563 930003809 635687205 240972607 28003263 171399209 197891691 273982129 393934141 281702349 179314835 441090389 458291149 205453527 208959081 794016009 549853103 680929717 861264093 363345427 230716363 527622593 245675535 87566879 89917101 494442557 912039997 196974915 16475535 743880021 962177239 362328829 385263441 464043285 326347629 251125551 919067511 896278649 463902395 462955305 135582003 128464995 836456869 788430497 329660507 820918939 790580279 705532595 188426349 687479507 556868771 475833571 831420307 892500387 434059843 135147551 599372189 889796495 492673181 280509375 133202685 864172541 902528603 378454653 182704087 878796863 538690127 972590975 630061297 261892239 988072053 636524881 453199547 691260175 270238451 250222827 483257929 525258951 508115727 953730217 593231967 13516969 699144257 750542673 985932385 466739341 316280099 107525391 424626013 942287413 506178679 317597817 306652431 542864459 981401641 669547403 924321489 901507937 803033163 595867307 136529071 119095533 305051675 153515433 289154645 893560915 396838137 183940789 969903131 810989017 827147123 57310575 979471873 422990773 589595707 198528991 646531247 154772221 816584493 447833965 749010033 786978995 221310027 411404785 227476545 893042881 906416321 833645225 511285439 279418615 419101667 604241719 5588783 920483343 257703977 544600749 751140995 501529771 869543483 128866941 520047185 878829139 982186977 203825541 906214359 556940407 44603663 550567689 652659967 876248947 192396001 403671481 137415511 281997193 716065433 60006057 694170903 882309597 538004645 774218837 120509981 481150341 425567123 666061219 479891697 893393017 13137699 834021089 178129347 521260187 262671159 887755971 227726183 986810547 728624857 397684583 747406943 907868529 388796735 155180883 514780627 441059953 674038977 256933491 639902353 200295219 468392419 590258461 979198991 905439777 435880529 874136847 898330991 731947403 636215775 446014059 728162935 240908457 746116999 19194051 279508629 530627745 572161645 3500039 64921569 425468281 333907677 645551513 796238363 516602657 923529031 581079355 213291945 494536821 150542153 309273629 297222813 659414581 757634727 165653969 457212331 641463817 67746889 780303191 48298803 44669829 366354759 467274771 163257405 192233761 376697815 168260819 796996985 166909757 143427679 598545099 918339645 298988837 529556073 732563097 815717257 216027655 685269419 32822595 689810179 278883839 18473213 713921333 753911803 146318604 704466277 849288003 540907623 817358361 118656781 87991215 802366441 944387575 209545287 64378137 320911559 464019549 232549007 816231313 466926321 138062065 50206603 361037709 341767931 487465015 430929409 959383783 455458087 349035683 737222377 494993383 639174237 898065807 307933277 507569723 212152619 446709819 512669855 503259637 910344903 223909071 20294937 453318805 531545107 569901407 526900067 376144381 557738643 142917857 816714803 298751871 421831033 228857915 241441905 308038861 792037533 790794545 920395813 879260421 380143995 392198007 207002499 597087147 929311291 40962983 304207845 3776431 578449581 417691711 678664401 480738405 377389385 878303915 718606065 699698313 35892271 199154237 451000089 604951873 831451683 964913963 491024193 647806747 601074581 904224667 400728977 26855179 494971295 759267473 287811921 73353585 175943935 12365057 95887349 548578575 123881755 626198211 739151385 425949203 63780611 400341403 252597375 316256531 297024111 793849391 274491667 808569355 865162429 679477009 765056489 541470051 635967475 517568445 692195387 426816741 54796741 124350353 662930285 631059657 766586501 37534935 261754377 158039723 40558647 130529729 600915139 33049743 640935293 94138215 134440311 30499301 531227307 510003405 248829479 267145343 249797301 678271449 629313025 337385373 989621821 92818013 158111827 136356067 664137863 121334035 484465053 876737887 282237573 738025117 895736961 721650309 872130511 525696131 80265931 101975347 659511713 101057079 40741995 781393071 186952163 971267603 774811775 858206117 868056613 470090837 868750411 112281385 12943519 365668905 899189303 319080893 679620399 38020255 253945049 671274561 532858463 960382385 829032427 840651013 197034585 737939265 892626769 391272639 8633337 152646167 174398999 879686025 685312957 712282853 498314093 160428013 594037451 805464387 140807603 107767763 501169651 951468211 497298279 226217875 476039851 475650463 607805497 830688491 336074773 274075223 126595065 701495807 503926775 403225111 475338659 677538907 555924927 864019963 656551005 69661175 598996871 709325329 767406189 612661295 773417739 447083593 177878603 342063817 105106613 736399227 690093457 599729905 980065937 126967401 578974719 818122299 788983643 961892541 670061189 913894311 782230893 451629575 188560435 119348891 981080019 505329345 867759943 161887713 81936185 759313227 494363681 592364719 728914679 38157553 996700751 671285667 483506189 393984227 915988355 843714499 812177441 562478393 629740185 225351547 262446723 700121077 122958481 2895265 127905579 415437825 216938395 80390259 322217913 750213677 565617673 743994005 679195249 198071347 920282453 943096851 845774147 792353715 667159329 358611813 180638921 209200441 945088059 975601765 12943681 715948851 369806741 428101469 998795153 272966397 141985099 805536245 107034185 240645591 498667423 881327175 274301087 20305899 968127485 295694285 661909365 25838921 596043769 345711725 913106513 324047081 612546123 405916533 608046689 772855217 117163995 351834265 996429695 809887077 83300529 638086903 648830759 925126587 449433857 410459669 898898817 290898249 812725287 707516639 218469471 482534543 883632551 503650475 240238133 748337915 87908393 94638133 421844261 658221531 747167363 246838435 35277811 832051049 143571631 192235141 708358417 845495749 347031247 695547595 735605653 749387257 749571123 22169559 513514047 596901625 201937993 602642027 861502581 999176857 547516847 41548469 651295049 288640159 834888999 66300749 688707695 13195699 886501535 401268779 142441287 452233315 521644071 994117049 164811737 114885677 208116987 888560067 411434453 604510319 296476287 704000637 897288079 458858357 392098109 808009093 313109771 817595757 7460331 507621087 997744877 801490801 351119457 631308283 824072581 601078917 739862693 707650221 307547081 287322255 876019167 877545009 620063323 330244451 113685349 560730157 116528257 45559225 779503027 799089583 194230057 786518577 343314281 647163949 748072429 646717525 479772243 199868033 214682121 578831255 512335463 683934707 535714661 378164305 923808445 908975919 243052435 633883841 228093083 633353547 208702151 965048851 392250475 515167941 283133155 577362265 138477247 919234689 117922923 731185801 908739923 123712203 250835345 728905607 828155917 53551195 782161707 557019421 124580853 611952461 77134777 922734585 903874621 510808613 257505377 708798389 319177029 904945875 237893619 203349461 159602061 402599849 664014311 617691839 840757953 599200359 936138075 512685765 986797747 711787313 279978521 312961827 445862497 361064341 492149131 258469109 895777515 915399047 372181453 497544779 261695135 905023077 34040987 868994319 935639023 522476021 244792927 136201249 302452343 874436963 203852583 582033981 167396857 425247301 825944491 499933967 358713697 182405527 515684935 902363177 514384321 65325761 173417991 818594817 5988183 814367373 798611863 990131963 921287813 867971635 107570769 886408287 141094101 702221389 976706865 419359583 171209723 192613861 644614625 820183059 476489939 445984611 127507885 218968701 237898847 594875807 689656463 802795911 560552139 230861015 315985447 804690433 34687595 890005423 629128377 830612391 725916345 16460853 631789623 679881749 818803031 397753053 355019063 908451289 269655829 987544453 868528633 823348067 748251361 309600881 545727331 370332683 121570521 337541457 319467525 521357587 91302207 797972025 664885015 110928549 759614849 764434597 323682679 579128529 251372845 604889723 505446061 222186641 827920645 316092681 675196905 538546375 520953317 241672197 908393729 246413115 361935839 818798729 34361715 372749215 713547553 310837277 835651945 892759691 941455113 687851437 390210225 868247681 642736411 936846481 600396737 344935145 205209087 884906369 514751675 485255449 271274635 987157415 306586213 154168133 754513083 392443277 357276973 896270223 114601135 914095147 818537003 972657923 30973875 769068509 958133279 910466191 618358589 936400743 423832177 458064911 830879205 819864825 883376685 679664451 412750961 416843047 532714767 138210517 932463817 116514797 688882289 159088469 252475141 416312241 662492253 518336573 754211931 779925569 221977219 647957229 391762993 717072849 902488377 73012657 791524627 428787199 841571455 82398903 620247987 815537873 801318139 731991835 214555115 261462963 419429629 930725853 637426625 173155963 192947581 430687975 909897311 832981093 302974745 302414345 531737879 144618777 96121113 467129853 397132391 383947169 550258285 135892835 65780975 86226293 303921323 418059717 698412157 793866095 970664209 124683927 141704963 499372247 73780105 3205679 632671643 631502939 469650337 702258381 311321995 615419149 194817935 595281311 320426813 337732973 990973237 460723123 11376453 521111135 662960921 347413249 189106013 676985393 683354985 215247727 781398887 71662487 852622589 966400449 2072689 513468591 714580053 418963627 548967853 967830013 559468697 520483783 971442551 869650289 613390485 682860693 474441297 292659551 248917955 480861053 687847911 2605955 94862659 641123027 625338381 821837317 688190169 629110735 956491197 41392751 742814199 628105617 650620953 903780023 304354483 706709027 834223473 334491197 682131661 949126519 242687539 461390531 654409899 164656231 216424957 350494583 216552541 681243057 576642705 122309615 685488283 489607427 17138907 507735337 924179907 240017385 447675887 314199687 716844765 577764577 293361159 138428635 652144279 107243593 702979463 325329239 550591051 899272555 115577337 858819225 83447541 144899449 237334803 118792101 828380223 644203661 925314477 576787179 691854199 696250021 15890634 162727229 435464339 608823471 642542235 907954907 556370741 570641271 658186093 205578345 230776227 153927867 983703741 239014389 19884491 762210329 492808751 424803317 607983173 560665115 271637645 930568259 532722513 838144307 949364941 447806247 341245911 446483129 490745095 300469325 248724067 741623793 771136897 941624267 113063983 689245441 38256547 225514781 868230171 204703739 639718659 245291 868178859 218419161 9305181 503274047 919895057 890532733 538349713 229708049 189071139 914395823 417923499 90841019 619884639 459276065 918217697 25320903 729456623 413265261 891482253 877259805 758563745 355331089 740502831 999628309 409911789 616673913 562851447 804803181 504965361 984417781 356006709 195816009 83308405 78001857 822206823 221798455 873842665 195088121 18514733 91610923 371175265 983149483 728964053 516626819 416872097 272844743 734299857 366129669 569699083 943244581 607534779 988780765 490467763 361949065 943894105 609462943 483138127 860531609 124467093 676993357 411192379 846510567 737297537 842008391 150876035 661400045 502331995 345583197 862924755 427492109 771800709 446342341 806132099 162951567 261660041 34479641 746801299 870427043 661456411 961665121 439608235 487123557 120063509 414123275 202781975 315714775 562934653 247206889 172646865 435499229 93934973 382070329 853338745 85537871 557739881 275370915 930320979 537420769 760582587 15615795 797510225 460514869 705618197 150842973 751048713 263750871 653003079 550823421 129547961 279678775 160912959 902641501 967969355 950193069 985274139 814350631 489846349 131243643 612661021 92441199 419340535 548602057 27217073 593800117 505310759 985974701 824027243 818746845 558667877 447695641 544807941 523967285 282717151 495528181 202257249 223164019 717343087 3131399 817794959 473570225 492881297 658183935 37404093 924700535 406452079 295870329 456955465 64759729 844314583 583818485 770573749 281362613 60272191 642186205 451997103 755862079 704104905 637187713 419576327 417473655 664028728 156984347 355325369 743963367 595760387 464533963 79874537 140150663 20017721 648880029 541812961 443149747 436844957 279877503 472597271 521572655 180256149 900077645 590498339 906829611 884275 35624135 898588617 915524921 258921003 241962645 638321399 611301977 86245853 612840267 863184573 275582447 549866065 75407201 999744855 499216073 740739638 935999799 727324457 505139739 379385573 688667673 191579583 545906819 35269465 498254645 560198347 831941893 779532605 235233447 930823975 471515153 374655969 412379247 373418969 713854587 928555319 678521717 636474632 81798271 71468771 79325837 685623053 384430789 207537451 798099311 205850465 876303191 659195901 127023035 106084773 307366571 978050547 817292283 567850151 152697505 420727625 445357731 129380185 902350203 160286441 162253575 541974997 553030887 627796321 69388909 37906017 401331453 4614631 334279419 156074599 586232629 929423709 293178565 927084409 189028217 290563399 918475459 471053909 411805461 391578839 360824277 495223259 260050365 573002213 714813893 953145369 494150287 154005995 845242437 890911041 322777871 624634647 446723567 93058735 109281837 152198963 260469569 409658853 533961019 615900857 957939113 393952655 780138233 644184521 618241139 593341567 805132429 687867687 247309789 484243635 416149121 549012803 287132165 692506187 158329803 554721591 601756661 960101013 137398473 600839617 189307551 479616261 929739329 703189575 209680859 825460785 616987743 426152409 350802285 165079779 585843641 668496943 240162811 275112193 14975565 11079335 36900377 313751199 526793853 587536199 965538109 101767931 200694299 975207875 600886475 39537527 8240473 696524909 969042187 13166749 821663699 371911497 603100719 279932193 103213459 295639289 285006159 102193375 542875137 264679377 560355695 866523611 932927735 526439621 245524597 430352189 295726511 710307447 983486003 536202843 423391183 549613611 733996389 461997999 849919587 657530067 602160297 113385949 884206819 134103557 643560329 19211951 688841773 158741761 701961077 51389979 38585729 310884271 59182795 243441465 86891409 708012443 31783367 987168589 730083697 154559231 502801301 624007365 752220573 553512889 926921541 17303601 306330365 130558035 826022099 711801165 690757083 880318199 44755995 611018749 258977007 57628289 487089131 512349003 332981331 92346735 514177267 940951149 355115151 529219815 347207371 866803131 384924049 840779705 866420469 456181179 616459179 581893979 484240347 15107605 234865309 467910383 175771599 115856033 166411913 916873787 618019335 90090581 933996801 423389869 16701861 821895767 130474999 387903071 893019317 739742451 784723145 120860941 450221863 69327513 715564347 613374241 576137171 761112297 562664061 693418151 14437243 875506595 433772067 31592027 924808649 913843121 327705385 754909335 207833677 792524331 691300597 837142119 520215425 34237767 522673749 427922551 367619527 141501805 211030143 89417247 713345125 48678947 590017549 398322271 95129233 264031521 565446663 507286237 828819553 778337089 175433945 426235625 294534615 785748357 587877721 446703227 234295773 492840473 263840197 241171249 206712643 385680207 572112575 867816277 728435651 184056485 984354905 573871313 139991293 463487419 15065347 516887105 126290301 482745183 73848991 411009507 805941169 565243011 894248817 671314075 956024053 907472707 785708323 984677629 550445193 120067553 68673487 977694271 344119959 564715977 816740591 456780607 702061871 68448911 41086057 254873989 175948107 148677869 248512905 284500031 786532299 985775045 548770313 859088197 275863163 257501479 140555521 207446553 916275465 298396993 253075959 109224157 203193873 915155313 519546331 783832933 306990611 63009593 372361729 49973285 960650359 999003461 757399335 610332991 915125393 294942825 978098287 737244535 452169881 747643039 331881577 256624959 672873135 609612299 316449291 594738093 915311581 958644727 345633711 733847937 622981911 351092183 126009887 301788705 550648881 670839367 135518083 369725599 128427249 312483851 20910707 221419183 202017791 125793547 355783405 643589041 719553513 279283037 288667989 293005741 827701805 771753019 921733497 823926865 592292905 756841225 31282571 195763703 708027945 65883731 127211821 505201821 339566683 335169737 867300963 886086377 80014809 595491915 233449113 628365099 253415335 908464343 26050469 828677721 301553579 979704733 586699971 466884885 186127801 130296301 879692185 358911141 381255305 142820931 363734325 235910135 758920379 679460675 11538699 322861731 232867801 291807417 257794043 98609131 875422037 263411349 84776775 918712241 496420745 188614647 389624221 373848457 93182643 96954397 475011091 926031271 333203969 382060919 892458279 496154093 105159807 37013 358023099 718179551 764364843 962844981 754701857 512620719 813872867 16573239 40191753 139788851 273891697 75634089 175149717 656547819 506602119 671566781 445366601 533990141 312933821 8745933 326368015 878872121 307572375 967655007 946316865 71512855 646496123 907351837 537591449 646091445 569492667 309749721 17368125 570279131 640738707 146203537 549633723 162909433 838658337 244652901 72670215 990402853 334277999 882915747 694379903 470590237 216542831 735243453 728897769 57439563 333592825 224583759 999047025 653866429 982632399 577364507 467313325 253725483 911639707 174518541 102158233 7880177 397483759 448274489 533854109 166545179 438033729 986460119 726769027 880368981 469768181 461675599 6983297 199220729 827535955 816779049 9194295 541906947 207029133 833012761 902980263 615786267 397651387 640676859 865066305 453850259 565957855 806680017 506958295 810510943 764488163 373222343 627356841 171080737 456571289 516528689 25229915 823611933 697715127 520085641 570585337 20237893 61822431 900651635 858774779 510463791 602581661 560903865 553720893 876661019 607107169 110754383 156602117 188051695 12354691 927973201 659334911 530895675 115695685 436082691 296099903 85521719 650682833 474677197 797290055 23987649 816009527 747514437 656939767 846466145 60040051 284295717 302039967 725603911 633456481 213312593 63257075 89573191 671546063 379741395 33909011 896768741 36503917 66738145 968101505 885951301 749494738 6236883 854294827 310482999 855947907 672139565 868469351 745792049 81637095 829333917 455480563 14028117 989982287 390618355 440116211 511752809 279167221 677760299 506966515 955078619 601087225 801649257 510447083 720895683 97601895 589049849 268250679 475858913 252161839 616411979 615104923 906455197 663941159 959160063 406147655 753306627 602632727 931015123 410197709 48445390 979124129 716362679 535351597 917105499 60212059 660063419 885855179 721468593 911666877 850108443 788291701 537585537 923982633 343845181 476198751 879727137 263617253 549200039 650337321 627544209 203951655 365059857 913774291 782060407 33097221 382403157 484243665 991578915 132993407 786788979 244456433 897943181 19864707 662939291 699371895 459861587 230610143 552044063 207249155 57682877 600103245 903857015 625585575 451319227 835015277 583194441 779181267 738965985 715680715 774734689 379445609 134327667 50333909 915723697 979142315 850983509 335239143 881728853 435454281 601345047 69726529 425355151 896550997 954898671 601062923 331490507 96579663 539136703 827256153 21248923 731415579 314488843 400568099 671210941 244536837 678463239 331294537 456907539 59599557 423151237 245860501 187109031 633883767 53879559 682263995 138848685 543131041 469156277 328509519 680477311 457208879 286988635 100747735 862099877 260555895 611097971 974998713 399676101 303339061 181994781 615939401 136646067 71403919 402094109 290434239 668958060 139627539 34032613 302047803 274006293 436616119 773756555 835145671 373993205 989246421 77696461 930773333 731489665 477778485 782029847 229326783 116462165 309695493 267138419 671400389 973685043 976832215 368561307 603540751 510011657 451765673 855561709 149826353 370710245 158284771 899860081 390447777 812891911 470278225 658728149 477519811 762789329 969066021 632467059 894098911 854950607 893372417 40390727 572355113 618623921 889086185 952520699 991448757 30412629 378762055 6488285 506720137 949822143 193735157 605456099 194210187 266455063 417516845 300520879 348211597 385193907 382930837 751284615 305550155 403719949 765517115 270782041 440249443 380394441 660566675 78916285 756568415 806270643 95762811 294299891 653149873 389727931 823127609 977116641 703415217 283070463 238374009 111185433 864339363 252753091 468788817 496003791 554249901 145752689 881052479 957555939 554974945 547538075 220165925 607046111 547040571 450734589 700951893 857994989 852367001 400315259 821704063 541893609 2568389 998809377 309320389 31994449 875157871 200533793 900741289 620361803 179148085 3814101 33202715 783139751 402665107 167552963 228782189 902922461 385328885 933330067 494337119 200635915 663852459 419282461 36683029 705880569 862234865 619444823 901967645 107325719 616614117 840249703 334577515 526712441 579314833 294751385 762397277 709088995 333502693 981535071 560234167 533461431 666043327 975200853 63058601 863380489 138197211 824875581 521200839 120477071 959867621 886809857 982151949 55144357 990999149 201948345 109308387 723207255 377342701 774280349 879479571 39688529 373001159 880116239 354523347 89168619 145194307 470971293 290800835 646035237 488678289 857375225 944246501 577744039 451521487 525752575 212794023 847061437 541777145 849785009 955803615 856413025 14271227 578955323 218418635 231094323 779312037 263725295 720355343 589628279 247700913 23864651 426078135 538071583 192522175 732662769 585822779 140792767 640916315 830274731 597267575 144534427 114695157 967263597 401890225 111972247 205356005 561672019 838347923 17195843 823743853 663786399 33938487 74422487 534596023 671323837 638160663 231121969 87830482 588366657 814912025 557700057 668983227 728898789 461403531 593357309 191304015 228414349 732141089 311785847 482851675 72961603 4818939 325551811 273452685 972967483 157468057 248640267 975200897 599446481 366242031 958330653 265166007 213223305 881011277 56531055 231917465 761110283 362916209 951660579 809791351 649564205 950702723 83697661 548521867 263011305 144754957 581156207 14326005 25819491 563127559 208957073 44693953 56922855 207641035 46546207 352376285 679157989 629730083 668841857 158017573 160315131 788873783 781546951 559350105 113414893 15992993 113896619 77599523 289480611 495207769 743619719 61585681 700175411 911073737 992915045 136577953 91170009 474318525 468463349 221498161 779219957 864410985 496805261 530223373 639964947 643613803 921478955 165319267 203639273 891484873 129852281 345859407 739607887 395679983 358848965 573339089 936861771 52875187 2021895 535528657 671951111 839914833 812601821 28744483 977097685 515036785 921237903 76715135 493142577 959585053 290562315 230535301 516815807 524400587 406741227 287149503 810808139 352757339 105488747 634361505 285270471 530588943 319160181 566658687 642291535 206939541 365282711 550489759 695146019 261956611 279614727 451096359 306138035 91176919 318745255 357020715 660883345 453538548 810056187 939428515 389736565 457686697 287153717 681059695 728182087 875033259 686501675 166143065 971602445 833016343 926810717 439707411 254124799 926676083 374099955 662706231 963471735 185530537 107159481 541471811 158150391 10088979 614459433 23110821 570469419 325695339 788991329 865820329 229469671 396864983 778990635 559954061 326582307 327295461 629656305 339198575 804611335 526402699 789684431 297196377 757389275 158141475 700690051 418836029 941396499 824711029 501787507 828799221 633047115 351045805 380405423 277232959 47635269 172220513 532141551 499972551 424881901 624689807 25007759 21511967 568424279 740532633 350557851 822294717 920433597 97141073 416630209 584316421 405028225 769884135 698632789 649612607 528612659 61544701 170268761 440570013 568219521 240817301 92587125 430025017 915617865 30713887 320760567 469217809 704145805 81123181 231400661 704131345 995567225 141184447 775777969 722273289 875445857 844360377 970958287 617977781 522376127 97139561 123567393 567909555 405813559 701086531 308902973 934895757 151416981 65343781 502493795 962119349 464542153 955377749 419613051 712865667 986947569 104294783 273291537 403047737 352004177 249585593 53569887 688210689 59951953 401389951 35388995 426725355 698306951 168225209 108211781 350795763 436944557 916028593 124097429 164630773 227554983 44205853 153619720 819051967 31891073 176127773 358102303 901025025 301733739 138689843 989305089 441874515 191625157 234799949 289764733 47707449 865632781 581349825 917989387 197087255 908954611 729602637 257353673 702557509 501591879 258962197 581025919 542737911 1421573 316919207 673360283 229712719 635127891 74907127 20265271 127091033 82260343 890484579 636245263 125925381 587288297 885004719 184577933 529440299 530035777 742486539 69574333 481406093 594355013 568759817 821571929 676841173 230867679 72356523 571058113 34587283 605223457 359450449 55833851 411033665 696501065 352030411 878441397 170053185 34320055 902944845 83862343 370764251 868722681 82686071 837046449 427915839 558781121 558897225 953159577 863496073 798531049 367385143 718325071 518395833 729816183 420232465 732483531 426186169 677141141 573065493 814089387 660821081 988309655 263845611 87339575 434032979 187310581 905564829 609441887 42857543 200497239 826198691 451460537 467685313 96159877 560986329 744735875 348190767 938894707 975591811 240745383 327147757 493377853 722065489 607419827 155921211 538724389 973482837 972217311 114014019 134354327 573919247 83433225 494993173 598571813 214101603 545027769 266899883 311444877 434529183 652795421 653393893 817474481 555167095 818089229 906317199 545090971 823639305 169260811 112013911 330706303 981428699 710349881 826453209 31381689 853206745 641236587 291415957 143349451 92355417 747410453 711791603 178182243 242977815 253182297 69305671 278820943 89953339 203592443 329468361 891917455 877373519 182146925 358049177 894645061 874288971 812061125 214695875 228545979 755902345 162114243 946878773 830233959 783932881 605727181 400429003 495054561 107441233 839205365 797663555 101064429 333902747 32361709 101483595 98333561 154838959 828232731 26701169 603943061 363565297 720217473 409511981 953265021 184816429 70450383 568249827 335977877 826386075 536446047 339663069 657744231 775030999 304465967 815521609 922167721 178567143 219438309 628768835 883364403 229519671 512606929 892306121 155605769 772119707 812525289 457178825 871036249 716775251 832893903 245597199 16483443 497734917 213842121 501884249 306428115 51627707 938731717 146465093 848552223 616231403 558536027 559681373 498524445 770416499 155312589 72731923 404839621 352131225 256715261 130827457 725235503 870541835 5430655 262093989 869954465 366773979 614202503 412821485 624167045 632797063 560030965 661771173 376196205 452199159 852577107 143315403 384916245 813217141 973768141 488899133 669448803 143566777 70492475 617920453 918363485 295895007 611023901 440612117 973530939 259257963 853411737 953138117 291134039 325145421 122457727 991315801 802724659 605145815 529889863 215766583 100255609 446394057 34546191 492510897 544857857 111963975 334441375 598353411 416610497 590495199 633063015 959770955 555624929 806367877 516947581 144553619 811652777 258600601 720143775 944673229 885119885 814789595 330618935 890652625 167404583 838779263 508255315 808677731 803281981 182395155 597340329 62329897 520516281 205555611 331367835 557168565 743897263 753559671 933045295 915762817 963455065 746270329 141950738 797149935 250483225 304109265 878281121 957662791 586908541 814800929 763651285 977698235 503112249 360652139 522378327 632899427 516944675 526886685 428085625 552328513 88716101 493558287 565476399 341721663 119267525 966348409 547525659 924314415 271763961 181683973 998528385 66264007 473199193 777937855 150369875 5502891 673816973 103266587 175592231 589201763 292632157 217531127 611494461 427757407 922237887 117666713 809582715 404910843 963303371 551398571 494588017 838854521 347926725 541985863 712755543 402750205 286361625 906278887 510004235 50296223 890796891 538358131 563938325 885340243 175814469 385787445 500215461 591141883 247673531 185467363 56475023 63131235 683805641 700379035 431949911 782122811 921421471 93502693 948132641 673189659 891407003 949538473 478814141 838954117 300076865 884819519 472378017 296424675 182944569 80929891 280513519 736155013 343635289 787257917 696425581 573727909 697614235 215948889 920388745 346317411 518340645 917920681 858911579 501835211 128718909 627617935 967703459 352925133 361195355 384745935 2534089 697145409 463325207 780189587 227942361 63924457 556432183 378398325 83720845 412765805 793507491 344516207 800077381 168543073 780138609 843444199 354019589 849331517 458114525 837434027 865564799 433241443 230038087 480993519 614912777 44961305 133732413 237286481 436242083 93632405 4115569 832680151 445189619 195897069 187469501 513395693 736635209 153386275 319519527 452460393 905121693 455730207 101455065 325554313 585723789 882664885 685988133 599426799 873278049 16560285 913251975 294937515 440200457 238708599 86721957 864282675 558853401 315131855 611968071 360167779 434145749 744253715 933262945 697143935 418721057 828294047 163317517 145714741 823394443 92037043 676119953 139972509 422925903 786560119 420442199 350430511 55386185 796282623 127612403 650854869 630243583 240872771 322258973 37677019 368082085 159076643 558190781 699118581 428473869 117751145 28132571 934798401 219193273 115122889 334382507 982699845 145909967 170368215 472867721 321246957 871418912 515895065 446170359 39795085 710113571 420683255 982133153 499523815 261982965 793605055 69765979 607003931 977322337 666315183 90297631 690339769 816917459 401548005 739531279 933175477 431482467 75422571 194765433 945480559 745434319 866338613 270223057 331524521 471305601 585219351 644396719 185778833 448607369 139047895 385378263 403751357 901764249 510880539 205160757 297565227 402087959 464944759 673794525 633584447 722246147 789482081 856796681 3011013 605879571 813452093 468761117 951298293 539644571 868601429 649383843 746258795 951320473 258853079 336147023 148620331 882188215 870854877 484105470 238451109 473544771 131311723 493277873 111342765 412324659 973284455 303973779 500400511 17314857 744833955 921612281 784317121 486179689 48610267 566950751 951732865 622258407 731728557 865700197 833134899 545763125 439745699 840595159 300543669 968621205 784169007 124708011 967148365 600060397 408473257 228339961 944543399 359162319 463639381 825980421 758943449 704534383 152541273 458380093 147213151 232740269 349182919 147175985 564829729 153443859 587403931 120753053 77409897 136571339 201186739 148001895 771323887 654241457 134552793 442864277 64896975 380428867 585815999 458257503 512149901 530195111 702737149 497867037 399473175 996729261 316793109 756028501 650465989 835418573 505936241 240399537 566320209 661814565 674605411 108804355 81350625 498983037 312320801 824433993 769249793 982993475 24946383 163111843 349327785 550114193 175470453 817124191 558267701 487314211 359294979 676665839 915249003 614336611 730126935 18941421 999707255 440358495 446953517 884562463 718737135 733807821 989270577 906436719 687717583 720100111 785460467 979806447 676908157 146682667 538018285 497760989 950469577 461390031 653084801 603201433 381736675 471090771 672153335 41120177 224689003 37774263 913372545 747299287 20620649 731159459 324332855 386549223 496625221 931049571 462724891 519320547 306168279 957213425 429450007 931700471 138366813 901970923 582537979 21898871 579580537 269139099 135017857 58031837 553655869 17303019 682306891 644693195 489462299 513695095 626781663 990968335 554172145 183738493 809703091 154726043 666857987 456909539 311600669 677021067 540014081 610433081 571570783 488276515 235874301 100127415 743430307 904361675 183838841 27186235 983033 605960217 688438357 524888909 214315099 876884421 715952609 87631387 4914601 36664759 651718609 127424895 633868463 244970233 605866051 710573045 194370589 989605051 284626877 106568359 21766025 669542747 918713387 36219491 397664889 288027483 802339299 930837151 869727061 448949865 536165027 353671293 567071341 556723283 781602957 728052673 134338811 72603675 574108467 496194525 449182239 739136223 152117381 740578537 274555365 50692331 776125413 22712993 876814907 748901043 98967317 975974765 393474045 941136341 765459781 994472285 307098091 116464655 812409351 267917609 575170479 979805777 283430491 674347825 60425945 630022059 692053413 815690361 616714721 348411993 609407667 2051507 156396845 270021823 428009657 132672053 597386753 730111593 454224981 44054269 763358609 385609479 996308109 910546357 437899255 596765049 57854413 275379115 357396787 511679677 665449193 598526679 568409645 406332163 957947427 432927447 565211065 589898395 167996955 658150387 593556367 144070915 274898657 726077977 223358799 835710427 517025003 951812067 962722181 247792625 390638099 233712013 514017439 575389237 46455457 679068673 921849335 924122823 683389507 46220749 430810321 653995495 176189195 145929767 746858837 45227265 495974521 279009265 595753873 116115367 634710639 484692143 971290243 734493847 527106623 4796819 487362313 965452977 299640731 338397299 23066861 406038019 300298657 235128015 416218593 231467199 998706133 332421327 552199807 692585535 148636455 766960191 964796231 676147721 642831595 75604377 828721057 285684423 216399325 922663675 238116575 149736781 666821923 106025775 891024701 812501397 104686923 722676895 521521881 45095873 501279049 149917799 878133437 462154527 2808701 364271941 344110043 118071585 106334889 137175711 357386253 401835107 297471739 422506373 655041297 354292647 220668169 463348653 191994259 661293785 800658639 291515001 563153957 12410381 112014005 167865327 718671421 4412029 772701829 721521599 467954495 59922317 758019703 194791997 642981747 583038407 755452967 556109675 569014027 454827487 661871513 641747441 215627041 798069169 556859963 298485277 216072883 798127937 720826341 522474213 374827437 527292343 29174225 33386731 530976737 190364265 670872997 794697075 27803653 25894353 925748335 614248303 200924861 476073619 587683747 229982325 716672401 773978233 793196063 94163909 39310835 372296567 99098921 534678855 302692923 110574761 555663725 694984327 274425003 983119699 82415615 320630207 594839661 60163037 713958753 255518925 931566227 244582109 290840691 804168761 910352147 196319759 516798341 726084659 254656465 617626963 684504397 122529681 868038549 202460085 211580389 297547473 963708687 255162987 421650903 928937245 341731803 273238989 774466827 920469315 828525435 327918689 953127897 377897659 629415509 255459279 984934911 656311971 651101371 804794861 996458913 408097475 6777831 803722679 469294155 515120265 823445243 365134925 422905845 305436175 483251199 317115389 66531835 117969169 147479779 817833783 223669795 286474743 541556867 147297691 359316375 335141075 733921695 330254057 858885105 114253401 756252641 708370955 580154411 953894635 250709720 268773401 313448365 80058253 8687361 330830153 114582849 925693681 590054587 793912833 489049629 693940335 475621711 381521357 167766751 950284033 117463021 768199263 908408973 439191637 194159281 833224339 22830483 767855541 210482587 841850731 487965895 924007195 42484629 300899603 313224295 738582565 244844911 127707101 129966359 414285595 838748899 518410567 795931363 137669101 36478353 491751665 646710339 428835633 299070981 522620841 319302929 447644965 890341039 23051361 979137943 468307123 616008935 684370741 819663741 486290537 828955117 334308967 96874717 317754239 844149743 850756963 795566897 660086995 469155067 864679357 389158495 262622188 943312395 663605807 703975861 181032955 851107327 457527707 347733735 720443093 49851555 445629967 220433171 70843389 282650021 609840063 655759807 976607125 853133729 298281475 495956951 704244081 559011607 115894879 157219505 325537285 448139631 492141439 251534089 443004787 357622269 779602487 109197317 136040575 272255225 550725249 202338869 415810459 380197507 330311809 38758025 466287581 270021543 341752705 188604259 935361541 972517715 165627637 39186821 280238969 224405347 491170681 336217885 265252681 522597783 535042513 150557891 106991405 39860375 262259173 910167663 661836421 782873847 577931211 258715787 320503637 541476397 890283197 283139299 263266637 285433759 624854559 50957227 631665351 977751441 242112125 329750657 831381441 650892343 287187079 486598505 497190111 415595691 678213659 511533011 435550837 395693035 389063997 664504211 766696825 254802917 60871957 362933733 274995337 610832485 17853689 746719855 257397997 781588521 630619493 930886207 628583315 215318479 844091129 286701771 689576467 653679841 157786499 709515501 378123181 260137171 28718323 643262445 981329481 951247353 118271081 116593271 208637301 891411097 396124451 319243169 892908391 107040217 561643409 413750249 913558015 812162251 505030211 465840691 970043847 13490027 306558711 359843019 132503787 971329431 72239501 481090665 280577603 78413337 302073107 947474729 696165967 995516323 783754427 282084751 990544949 411359695 955530463 548031883 511312581 108420635 395731461 432483183 112586103 41241331 325329879 526212347 652382057 368857257 931703847 12887123 74114147 314689139 731857395 716571397 102856149 361302901 977964123 465608965 110981589 939830199 971089325 554402225 60455457 136736555 171854939 862987983 951191331 43077289 161731585 862024587 694139625 17058549 379631201 676609915 803081257 549631925 234783847 514838939 430523717 272095867 513685797 803513171 95690563 253516737 104729305 918393197 895688913 875073001 848552932 681831713 425928521 50519611 315919827 957647625 792545191 866551273 550497879 281196079 414550931 344026891 888457293 182753531 679354463 606793125 680247479 371850821 372668927 765741213 800064449 792227915 41389075 459842757 695743422 840972209 359053029 759630807 54005803 215229061 326985825 115738997 871478953 825020731 204946207 505856039 792064003 929666993 335719775 653072989 134094637 790250539 923266567 427859317 952866371 108209241 772788647 522080427 406505351 327197775 495891319 830077995 368382567 508644745 471811157 47024645 949421683 142321133 445440969 385272627 14021223 948494537 66104067 358700183 820002087 456357331 775726551 580863991 713437373 411555877 664868297 440166153 511907165 567413575 997040893 706115171 904673893 180144677 988636481 701233287 569005395 359867927 63590673 804452063 722672343 571994069 296241289 131464891 920677825 15768713 852771951 555710549 87891469 952383165 303710519 611134415 752595935 617300329 200718323 816877103 911814273 423948009 442060645 676046443 378973033 246819841 278354677 652669017 684840751 320890593 683633583 299713467 443544729 816539165 554707277 357337403 151718289 135096241 12813615 422961511 865839145 448603139 42212185 782294461 785150365 352813793 617662845 219234717 641310033 923299455 699871217 621929295 379432913 648301691 807247541 207200003 765699535 446602971 930356847 778168789 972726565 941445899 742006127 331125957 92180953 156075745 491893933 358506427 326237461 696112025 306756295 770823819 888728619 772630235 939114245 210260461 495163801 870184881 261893719 391980161 630117887 525841299 297550929 123317715 258937643 887681883 273514551 244605265 995972367 630772305 499046893 212485463 463065287 826635043 17729793 750179365 912647573 697060067 749161903 464977123 320804837 956720657 89095123 932768421 568542281 83114385 248060403 243976035 803537535 416477105 669540929 736069885 370705511 756933413 924708757 310614079 395605775 200591883 896834155 29581271 938725289 86456039 74056171 588774241 216130705 338714537 369735911 952974939 640011337 512942245 389209299 533652787 529986685 201829783 867631311 321488949 245176577 574604455 26102949 415319199 114387151 737545055 582163393 956550543 495952651 512378805 796436539 558615313 749405695 159910663 23351249 659304211 184194591 925595933 369863405 357451375 941624583 438097695 517248415 520429545 226587257 338352805 770109593 399188775 120532321 767889069 277938239 85088701 298530515 168982681 396709783 15836193 960720649 662531899 686313297 837967033 672185447 895022021 663879363 476893897 594397815 256084693 257290475 160595845 357866223 732578159 967029107 109559557 28267687 787545091 312098729 648036685 763142819 133752675 992775555 946207555 466026769 991446479 773139107 841599931 773370433 121538027 631598925 308021355 933107119 135138245 738852211 471659767 391457535 37327827 512364973 606592487 181189883 136751599 178115639 299489709 815249561 67258977 662771193 971197859 991606769 914481877 913749893 841087751 480555337 193590625 669884943 767197701 559918601 920595841 793927287 122167471 826450887 148571421 456744007 736246267 650521919 612779903 813658793 764472525 507058001 866369631 312872825 769530605 360228363 471562455 860982325 11745293 815119261 919788657 512129283 386041541 612059495 412829717 193278899 511364503 548386535 339164443 610453181 433911789 769859789 310847553 50403903 142957337 95307753 796360363 233624833 937082193 240673337 837534439 551349105 820930745 465983965 215618537 459841193 702621784 308756515 19736079 280586085 763184931 46470268 4529183 429824783 119907567 969643399 288205893 307303093 394849663 166918145 158445845 188969485 875980157 341999067 76253841 560430713 758709113 743113511 294266137 774714367 944204013 409376541 744780413 581066317 500151099 541062437 379049203 613014459 367816363 756090823 414428181 153076809 771100015 670092215 526414827 458608797 773914271 745939665 47050721 763312393 528358717 428103959 247143375 342393473 1771315 714242997 716433133 192677285 7460945 787419133 115618021 605182399 873000273 241454701 756913859 740962233 965838549 914567079 175614459 284106031 427737699 782881653 163121001 821387615 163630449 345080779 504108631 724835375 528724565 666762181 983699823 391610671 295461713 516059301 939045829 286979223 958626703 819591895 489297369 323259973 349763103 995266287 412955279 89031873 938695419 350566055 219544629 682868793 845180931 263165923 449124225 391209863 56068611 983124909 369614989 924192551 811306411 351752505 635779041 814376003 627579539 354892003 488544617 132250025 954773053 417382703 979126139 355603663 741670673 121890245 835063763 50951383 876527459 81149051 526459033 218359685 162935403 719268939 675011927 660738635 969878347 497750105 366816261 304617791 50436617 626173679 3778559 634061345 996796571 938730627 361934089 868898137 851181525 553713325 185361489 866266867 185429629 502471987 300311919 155669417 84031035 17691389 99752797 353375707 398497951 645540641 688554369 221861005 346720801 7629785 360070823 594471025 173174055 820824459 658025481 97844955 364402421 976643517 226412095 544562895 607426241 74071079 332295759 61195761 919387295 456290721 970112169 523190673 954030741 275009841 179844641 75933607 358222731 671050495 980288243 989794257 470330959 628926819 423888327 734029399 701677215 207393747 459206823 630281511 770561561 385883125 790125065 168318683 711750985 26157717 867218381 367574447 332482717 241577637 978115637 471547533 817235313 753035839 786409199 771574785 712428291 194639273 124504083 723695943 274448769 436477517 688186649 799780665 663834871 800215997 335272427 262955875 530414691 426935479 530907093 482925809 188109475 513581083 570834059 486278587 325663617 345947639 19026729 214500161 826494641 656220285 299623737 525658027 346382023 639322889 606189477 745678533 414409801 535790365 925776833 932071177 710568605 14304613 972541517 556917397 852372759 33916083 910713455 449019953 48830445 395686661 130989233 947867725 894172483 712973437 342584841 603555327 95704097 87070821 17094357 429147655 198223737 535905841 937900507 175640011 710564133 422963837 774913351 458487387 61176547 640622091 687560623 857639789 473663841 23382215 654614289 854392931 10771755 617437381 510313423 33132355 566024637 21015869 542258619 822274491 304339577 475571095 164489479 726501413 34417065 771521115 702830927 230810237 333612411 868554303 60854429 963154285 319206665 751744283 612298841 857120067 969311061 696508659 740627549 907267317 467769417 775619827 354344929 219907877 741972407 906434159 534276753 486327575 936588885 1109985 984759155 865526717 75896007 377920493 908178433 422271149 15411861 834179677 263281945 106951975 92201777 405471527 507396603 258518801 268331251 480333667 95283545 154508285 687156765 609929301 588987975 986385439 954995673 708864107 768520513 652696919 295971129 894204469 998506799 616142893 641105971 642176367 733520475 603609297 172439723 947074557 776642429 80728601 542459753 664322283 583456943 596995203 802148637 14460265 353731193 772190521 299045221 200319957 581388489 77610761 62715325 265435315 956021233 804863339 266766993 591706029 321083313 87010173 937688625 85177493 644486187 318840583 677742551 31132775 854240497 328785271 237909157 350094407 814036469 762320101 853341347 726341761 278619797 784421651 427404737 137485191 984340117 506438755 447155931 873911027 582058277 426276585 618293427 797554827 590134233 44835673 470222061 346223417 103536557 428691477 286486815 596121103 682692103 703418913 144079811 694028619 317132725 942263343 470167349 981122381 62658029 601855381 511199939 331895203 564248905 589154131 410421659 371854847 730576081 725094161 348460505 665580859 473974513 623070747 269824893 589437533 599215231 448428139 562707825 204586383 199540153 200654239 560520325 780119331 873237825 873960447 475506803 867263639 702482729 523605371 16117981 600113037 931158497 423171241 668057161 559668943 9042251 372362183 500679981 598274385 792791465 626824127 232148191 906270509 882531499 841871135 691241633 796043947 220773 424889631 416577691 768021297 668730961 457717405 159387361 964141651 40329819 245562655 251222123 306639567 557629385 816668121 207153177 392349063 304206933 532777117 276226999 389389445 915246365 826578157 959257843 960042493 386638241 3345137 795823721 954273099 884555475 527567991 703296153 433168369 830345735 597472245 104465645 586419355 672135675 931637643 947645107 186612253 151671249 15149571 379287593 288331377 919639577 726708169 140163949 515112379 599164873 696382453 422359435 909911365 520003387 702245191 753123697 994116741 644995897 643338021 126607099 719243283 311327211 724731039 769599977 999156915 956932585 541343597 354453219 836473937 194781489 188191981 738044541 454385921 142681127 857341737 84624431 968709631 1901719 564964299 625552217 325018795 306903737 663182127 946794565 824129937 899337257 676745041 472269093 239408997 186387181 29824219 126927635 32563717 450857585 996211227 743059215 995084143 190766729 959565321 134778625 871163091 99693687 410346307 623247549 918734209 607807963 245524753 483931385 673634805 889757125 239363681 19525721 549000403 797195177 249950411 131319399 276242407 526226535 820623759 484837521 355800355 986779969 45692565 807412529 643797409 791101669 455334251 953085579 985775271 983281257 322476615 438616005 287751325 92752971 986491657 410860019 453783067 612698477 238097467 151565067 850339543 45099041 196605449 118770417 210916023 699860247 586928459 964808813 687160007 974520433 607324801 201945137 15972409 834411187 60939985 520761303 459386729 581529031 689640203 402148573 49454807 431398407 662846119 318013871 197986867 566697773 912786115 225396383 401345359 336422239 940245799 157863139 865317155 390981163 72021315 593843103 969465047 630593925 351661355 731566299 703511731 128436427 879858339 995700873 801138475 536338883 806017039 44639105 827428825 998453657 96463231 223888007 491080835 885243363 544867753 851556161 865837075 863342493 190358767 220823361 800783261 403046959 858149975 811881219 646441819 758977123 214681231 75763427 876979119 652567407 54049519 870799407 808885287 276340723 889773177 9659927 224542325 260561649 111380687 67722931 778499957 644226777 136283461 867615751 749373481 521832061 650204623 336194297 486279871 820218909 649767437 844761691 713499525 14381661 801837129 71504871 772543483 151532873 505072751 808439615 217779651 109819225 811918615 528809195 95974311 111137897 773307519 641790301 107782813 53220031 930582931 20423149 672294589 663477767 115761373 347320285 371358795 161892949 75709847 455865687 484389043 722145067 78842527 460651627 721272713 763032681 319841661 555546643 661160839 20620127 370725215 114312497 185629073 612514753 333572127 163281293 848580529 871365807 132093755 242221783 371991069 150589867 957193943 430149547 404073005 153703331 744475847 146883209 880233319 386174957 461203329 881265883 384503923 227806023 34207011 62071281 912098343 361993939 170904179 794189829 822922365 979318051 464071141 95870265 333111193 987829032 815990923 374760595 771140807 63187267 317389607 155133705 896523127 535447605 51930913 514924145 932921417 218243631 496729989 527210637 37343739 450798019 746347021 30526983 70150781 590682865 299619865 514075503 709023711 579445277 540486061 391715903 438276447 170844949 127299707 454118359 168629341 235080205 146418905 738125955 411948391 511994021 502188743 249572465 749441325 902263005 847530731 457306813 620754319 319631911 657920405 654733415 132167309 313182807 976959933 279125335 368789329 786590891 290443265 997266785 645106483 648655557 900558249 34701629 968598185 829509559 431194533 159968141 625987675 478737649 369408905 637077463 201647633 823188821 355316377 59868047 25118653 168375333 694398135 986844943 766599807 243079697 725506935 666291863 564865943 578414635 544261391 138425169 125839729 883464435 959440733 861044299 591151775 702337357 436998375 956358019 426520799 561139077 910234591 509815511 170870803 880140883 609123101 14270739 109664069 284933587 432339741 935624933 36443561 294580875 728883463 425928169 998941595 336234599 306526125 975379869 474029469 263963581 21312131 98935407 460704091 789843017 900520105 636521133 602973351 692031537 408935913 375881103 676393087 343334659 419437485 107578937 881447941 275071157 387523089 356434613 389238147 478674593 709845715 692507377 610691437 512773263 475142745 209860551 697299807 705874347 169985715 542237691 981466909 997332877 928927385 276158259 915221391 234791725 607357545 508946691 339275723 783298037 947050795 190861795 822102539 793849007 982164879 684056627 532876979 681430163 696413417 603286333 853915981 851391037 638588477 353402931 343219597 946460851 786885935 816110893 437025359 128052319 741225229 126756399 107385495 248971291 285569491 643710495 404177549 306392097 675669277 471329233 754921607 175684375 332465457 976445179 721778687 344685835 105232896 444728129 690846361 367965297 362946085 194139435 556305697 375209255 176436185 557848363 822810759 651625331 617943045 621260443 699203819 661769473 106108731 417865401 676531851 692953063 281995439 41035697 983821015 719985571 229654337 587750293 793312095 855529495 884534393 518959451 611837663 157651605 717095815 429957095 373963323 263419597 184928833 837000961 660527999 62411745 728814119 144412251 625045725 713581907 182158175 921518733 944548271 40600595 286352313 169832475 535869819 677886323 50182573 624671339 338080491 838145075 228820313 535964367 468631249 767870839 920049029 305593729 833455401 489487309 752316575 884768419 56917529 193075753 275241409 312932669 731995367 433131753 286205351 478780481 497595659 180271313 606463931 930376583 417932063 127585297 250629387 157807313 646616037 625869629 411166029 948263625 301821257 139875921 431021027 20456447 855587165 719878581 370779859 866994671 885991263 757163315 100913611 136682996 395246767 589517569 646373155 676301919 501408731 839329983 1842907 57227101 854038421 737004143 840378265 367080967 76438457 935952767 602088879 727199583 603529289 36095429 929625617 872101711 906871409 108032639 779735391 985429415 925510021 369880913 54217953 24697633 704231933 223585607 933396359 737423967 535786625 529103833 105609959 770819817 212663513 695380451 949271105 693994543 639463673 2503851 518186875 826076813 576775165 353372891 551183909 207489603 177062695 564119437 314922615 442175099 440985829 711457595 848585807 109201989 123015109 193175755 818674229 89118107 161931655 861933195 996912727 808943711 723057165 11576111 809445775 768442199 747822689 260314327 952209497 805077305 973145017 351619587 137800159 575477147 334104173 423003303 309729005 961162751 613619969 883871507 174075135 872010445 266688801 109516037 636557105 124762713 162936993 912134821 825184073 882811867 216501371 201032573 164455609 246620277 169521107 727172485 129530775 444048429 885531893 317635095 448793507 735420153 154850385 560831741 934986053 775874479 617910149 798380383 443668105 930074895 575722581 986845399 543575081 800780999 62232489 795584605 434630789 565452389 379808921 568694619 474460833 738396259 356196699 242147485 737922863 823925025 702021717 596557655 74528131 595963369 124380945 269099047 693227169 653724655 638013765 563800083 391839277 27526473 470125001 944013191 731424119 321635831 933671843 464450905 672489591 674932967 296651517 912609221 429084363 406092519 138832425 105090929 455591611 985215407 142822051 721331309 778290741 937351907 11093009 917876009 329906131 890369805 832865081 314086791 341625809 337914523 525676819 803408329 149290777 482488041 444270521 840671645 282570807 996393781 786169197 898469145 833563239 616430509 953089433 204673979 400306819 616748127 511069141 430324583 103257111 723090499 509175511 209098601 489126991 970520125 98214791 6097785 396259075 123049495 811536877 693126835 590404019 740329855 702441533 709801629 596917381 318607119 400953297 654172705 196999499 4475723 899152431 951485081 586912889 414517657 503409665 303320255 443589679 526345549 962808347 355847097 980009781 132128413 861561461 309512725 56245755 516333485 825847095 249693897 280524183 581427591 714102185 957645359 604224711 734915865 712125759 611352335 815577335 43576381 346423445 263811989 745081137 201242807 70204013 768505943 640218925 562669357 730050739 579699539 978591821 174590513 157288315 924123371 709836439 635449151 407361535 181973231 471412153 315954613 72111523 412219285 65456141 986626525 48876273 652793977 503756687 130759145 909029533 593524127 966262505 598027505 589933187 678978167 194651753 417967094 735206053 987827923 244087557 833375463 242370097 691214835 892246365 166991757 679327861 595601787 211861179 907382949 517869555 171457145 162001931 468026577 814408007 616685153 539353829 738018713 39183939 456419345 63871113 269533295 545585877 208880335 783504605 99774379 611534363 436804423 423215475 23260049 662360921 710613647 550911103 252714311 919447287 141099811 956165601 384392159 304352651 264852969 53314593 209154387 205605583 917228337 144318319 766549381 791803047 488361387 24969889 622071613 587426335 435875193 601983029 728385837 373743721 665560349 584288085 36398317 840384991 311356549 294813391 304631807 579934469 233360903 60206619 414814413 482780041 408082273 160580183 410202023 753152827 289646263 993886027 385029063 98173721 414232471 314601573 442796623 277997123 948116469 670587325 539268423 532608773 663334701 323421973 749565087 632315349 489086217 440881871 80906549 389992013 229803699 99269887 681344453 180925997 107858367 978714201 287721979 402492517 664744239 299562815 870803303 810278917 674907235 889463477 348628099 962890571 14239787 420351341 422738863 636146327 375420859 19494077 361808951 934982007 520804275 143496101 981583691 918606749 929872147 271092685 333406467 618372069 241928783 682914945 715069793 799013201 373210679 73675707 277465421 799643659 186470665 17531673 269835675 879616619 693854061 183146211 218892803 932814825 953657709 132303113 406723111 839658023 304045441 48887841 750908557 354658291 341662085 661961321 828392363 906404927 124587453 348859595 166002903 405027111 645407193 466601941 463447891 503600365 603743723 524338879 704310599 359347965 430785907 184478823 459380935 104908011 941174869 443221075 485824715 521894255 906331615 36838839 728881205 167717745 751109061 460952677 224494283 756313337 31108389 383100383 502080067 435754043 943857541 355343437 526849841 7578771 995368401 853940605 9264155 257244037 195256671 786399205 956316265 217133497 135653099 120217509 666168683 170585605 93982109 21993863 638743385 899197027 822006783 935146999 227701337 347032821 695518473 281572365 123359599 116527371 856559893 531411081 931856271 431900179 183752939 31113937 791960211 359832235 342379193 423158773 415105595 998650775 418952465 30426029 484108591 569563839 590730227 91352919 831093251 135745081 354854339 623891707 249798703 925146943 117265485 78767177 981919507 746028341 197020617 61916055 981359353 768678565 633933779 661549795 514252307 297566277 493943409 555964119 610990459 700339693 819889421 153340865 102794801 881443235 889684353 488672409 417841693 231871119 492535559 795851773 495601427 255180295 2795335 643719987 881513929 565572743 176226123 686895919 944869603 837165231 392274569 773625219 489439211 681559115 901881311 715379057 135695439 478183761 429368979 411092705 78737513 227189977 769510739 935976799 787845245 77872681 419816241 573814055 20239281 227489707 817688747 618653715 732381977 760016369 447298729 986049199 292927659 977032375 339635573 382888743 318511179 841252835 917289927 926046291 475966145 423442045 59870139 330299569 150781119 934620599 766483925 258474861 722515935 190864369 243222021 711709521 717302687 485777323 535670941 263148503 831112299 375815313 7688541 546507293 209497237 193364085 228536425 673719275 376375635 582212181 786394959 510608561 806952905 388949841 350953475 48339587 172369407 770309559 835878885 926423845 784786407 320323065 217164981 362853115 720969307 904864691 177737125 292533269 565923865 732364967 495309385 649375017 745599181 123098049 922607007 444669593 773384711 427174419 981045001 64354155 11694147 286031323 613030231 651380813 182399967 16221051 627191743 444848279 311850021 930242173 899934941 95361353 593422917 13852309 493670837 133345291 741704285 560171167 653576372 727499307 344405609 302399901 580807861 465499039 514521941 949094331 295227373 250140167 261704177 250064717 413713159 872831405 534809591 627243469 744456719 279879293 508551433 745385181 762033529 261116687 415222703 882286925 763850019 366817697 351618139 204760587 513068883 643964191 583105125 317210933 122773939 145115155 445306639 822158093 607443037 862795703 862677635 398030081 673575115 260411113 125503185 833402527 865528037 965680945 741684979 218712233 402426869 172627389 455263179 950585851 100966321 987087463 970078497 109440679 783735095 978206381 488280229 265665243 962638349 863688883 238264051 987761141 85814561 249830477 68908683 985769337 517580740 948652017 332982487 215005199 158591671 964837309 935665447 288118413 932736799 712279671 97474485 167485679 200063881 212739729 500856995 157872469 879067367 544208163 807004921 669045515 831665051 431252713 912701863 149661575 132508265 949800779 259285129 609285473 790896507 983329115 922337631 91344223 877810539 173778637 700349651 237138793 703391283 224932611 910447477 382961559 275877433 552066561 768821439 333964575 726026571 856550265 531206673 932646759 898626461 205606337 897921975 775141627 287030477 641544921 847339999 593690765 963428577 106166119 910705573 944842743 60611397 801981883 103691785 586489663 163072463 817599693 787481845 560099727 581574587 393175867 13986873 500214841 208663729 214069837 343381645 112953275 121411003 393608433 817876119 828599477 87151697 137563329 412615131 608540405 557571919 963330299 587942351 121837677 987862009 906698115 402132167 59548727 878502653 17564141 240467209 952123801 844964211 778617455 820622269 560031997 997134803 506244837 85823987 843581687 312209159 244958171 223985059 253523777 113144667 477810045 747985587 304395709 656472963 717704357 547197415 989555577 221362077 640677839 104005619 721141671 867386415 304269859 53713009 578238115 780691749 155161715 727399137 831900911 55807187 688900659 122717611 749435959 703401723 192939651 296135971 373700175 174542269 46573357 497014911 89295921 141658793 939051419 704708325 994073343 750238643 894477801 660208217 157062921 38358587 843437525 168916175 455917245 175892995 84069317 438395681 163397561 328844857 172146121 760333325 774433727 675715699 94313625 200696129 188070843 301411247 685422227 696486985 447183553 666180433 516686015 855013795 847932683 142998052 96214477 263554477 72957693 933518691 29002513 132088753 223972897 71297959 826716559 332197089 661196845 575124981 691405035 236749655 152766969 711794365 99616371 645482769 61994121 965649619 127925795 946337531 889606667 879050355 141105047 526206439 491812047 248491587 775878933 697384331 751527505 97721425 77415055 6590347 488008757 629418769 952048285 79165041 473035077 197692001 816208251 226505387 389232759 967890055 927307793 349098387 315670499 511079215 438230769 905601643 703132623 698785391 830946127 556619613 23418787 561598403 230000139 751088763 854681333 869328659 386186925 332280507 277010561 802736041 33571941 204990209 183917863 169379133 126457609 325827861 953903347 421754091 290297881 413349545 831898139 474416183 524164539 711177813 263434233 19030543 69896127 705846429 641318413 49640395 848108189 3948263 230861575 737794085 188135027 791000197 138744247 752872003 910161417 816098737 766017563 808287921 345950669 36408461 174674003 780559463 545345241 227856929 99514797 84784065 742761961 268858207 786502555 434933637 692464231 846459935 423862967 827455455 586434913 902710307 358581703 966803301 205984397 354519061 345582261 981278227 896307533 739778695 699020693 232886351 338618277 287036655 364721567 763780071 653838153 315733167 346657339 914535697 813179531 922111507 941441009 487743847 405065581 347129675 398767477 577950449 716632725 900844399 601400993 174961437 37355605 108020609 782542203 31932349 397348257 840532331 191275309 408328209 100433177 429716221 391330059 503399355 791294981 434569969 884986255 21787597 219980117 152649705 681723227 794493369 802622623 562932589 518046271 131768413 551681827 319340269 129972777 139438845 148952775 44351685 332435511 123449417 150953243 998195509 790635435 582088531 154350679 157466471 271870193 527885469 562602585 903630443 47412893 62981383 171782057 750783547 972268649 883572449 827475573 634192569 342944311 105788127 318633879 550745259 188367639 311502623 789460875 206313671 947386935 932581927 270718843 767024291 765144565 488460259 512346163 860609473 308173523 980924585 169243951 737250443 208309375 909939255 361881993 629090129 32630985 375045807 460240141 542468427 388888237 504710051 318170919 608838559 83588943 942041347 434735599 466849361 120726265 273384497 514467109 646354263 953650721 179524335 531416369 592156551 464029791 833673325 962320415 87857059 341015927 516847165 396002473 604458323 951506007 204260191 102610221 230809131 774428687 411544887 67607221 742261411 630271707 720262803 505504747 891828507 944773407 345957542 984159787 185417439 978396263 130443793 230586995 568007965 146941029 936957399 842057833 478875121 592263155 541958245 358388573 649690457 955251223 737470607 515862343 279467587 934698745 299302551 619239365 854614909 95861999 873078557 557694751 387159743 469431669 509327921 645737283 499377071 914837547 405163081 120284875 75870929 635399647 152252735 897912307 709180057 28379011 820303195 994161061 327148129 63907633 470336075 560556141 113953129 8256303 8241697 535415687 406582745 529543399 163193949 19825613 827539909 46558699 633174241 424398027 365157923 902823673 62457599 970855853 252009431 855067889 992206441 624900683 583957675 892301281 26525245 498381861 278732877 374244347 819164159 691875681 280949591 456016539 310241439 264682961 217933389 338373443 384375665 562799593 994956437 278920863 789279025 864200137 265811331 145869185 528129285 179555897 709993293 373363175 843053947 287221161 909355031 392282097 72166791 969088815 367850731 945857261 640473481 727065481 957084343 2164303 170362945 503656481 280582997 352773805 553133027 307936773 942637705 88029393 599747327 796542189 607408889 59567776 448412563 938099767 403555639 13756465 872706055 72034283 317656767 258902719 477045285 71644599 845786863 141025709 582472229 633538037 405008401 129798021 422860195 366773409 715699287 624668411 894994083 790723173 429997785 186178027 529293971 380412301 311327899 761744985 701718347 860672789 562185091 78663021 605264389 197241751 617766243 703437949 707354215 197561439 604776693 14795779 134855551 248665689 832389339 368972963 829112001 115197725 500949149 327237158 814705931 548186603 388308909 4354693 70366115 131176617 946240611 79739093 114894645 862392553 913911043 169314907 987576021 984600287 810237619 15370117 970542341 415812203 641290885 123167459 884526757 684229141 580080755 829305393 957675525 85671949 903629919 727717715 356178907 121951017 6247185 321590099 622504513 7861735 432275259 597449063 977188801 79752561 745804917 991661031 12152387 45449365 887471169 813429593 488730143 28461259 978202889 55700325 95835411 709312305 505571613 868433379 68868419 934882701 557006775 248536009 483734075 382367059 48948729 777468989 584328179 378310805 912229355 488268171 366300615 123303191 86732671 969293861 931323773 437944123 687543181 555526053 462419519 400858389 838674135 604784080 218688423 161667417 515931399 296151953 687046319 280688233 664141229 143297021 388285 141347145 162787139 664023371 541874335 133569195 700378153 310789091 889427851 57201637 792141739 345667403 876039195 524681207 726899449 777444667 401732951 136385159 86713899 765210253 179542443 576528615 205125955 938163267 97444845 807800587 537619241 207952521 989239387 186311315 915162291 222576561 474447257 837466567 131512723 234139961 938147251 29328535 633240433 362669761 569742625 469051289 604272851 884998935 28620221 860543755 950804009 718966573 42299345 215762391 647244495 905945887 621870853 401195147 627006981 216518447 288946035 916107359 50678773 268768969 498975381 300253743 604489389 384348545 496476753 693502855 453922603 991745553 370476021 609131413 4537935 99216733 425915189 52493869 943769567 866093423 271945519 55821521 552769937 989873787 207790441 606419369 88482809 876486109 846051023 58205313 899602845 459747607 814830263 714474453 818845669 311232725 231667677 871160767 279735329 342005739 283054439 628096267 439828105 127456339 222816229 211247141 523010883 654769201 937258055 61336101 115120467 163181775 894668527 969973195 41295791 705756065 938364575 991776893 905390635 643824453 918852997 727847755 155680909 226786937 492991545 89377261 356066171 500563243 610773683 926717889 761665929 584698735 293993309 383631055 308093999 537486975 414430211 386367175 817139917 469813695 212636377 779431423 4919725 850704315 351058301 86144117 993366787 680905507 984128499 266475219 374347235 33551831 519679403 275757927 454382931 195152341 9585785 921877289 724214073 875012685 936108441 398482103 629560169 101967503 92712113 788826455 638927001 155121431 678540495 366358525 446422895 591508617 196885865 674951227 874177903 371347633 817297753 55719763 730228237 616621439 939386855 440732973 605916579 914328595 535274431 772617557 187772527 282213805 459579895 916800007 344983453 483157687 275161357 539286813 580928063 71870919 3523045 962313507 914767947 989073561 714102987 599645251 488410533 949220621 780476535 704749915 451006231 270802481 228024581 850889443 932906831 453434167 988801785 767989769 789534183 837611129 299481667 460958103 326827105 606450813 978566453 646158599 877171497 713461485 399602063 266218871 348024459 247855515 886411125 605352111 979492803 356429189 716632181 849060383 910959603 394726859 36056707 19406811 983249701 385114299 103764221 178419623 227605829 815481543 158246825 508559847 616288563 945500555 568779699 158255787 599027115 817834697 442093745 781484713 230415961 794316653 705835935 907635779 419430607 316385419 616578021 627523711 794438019 559143003 517036621 637736459 447591641 767756101 399532047 298604607 548429849 775511249 846905797 380045851 412249205 877352115 995576441 479390535 962912261 265793991 252558483 672077073 55809739 926529295 707615979 766350703 780240817 250136759 522411455 78837761 262079367 581171987 110505907 948042513 373944327 308012957 621925589 786261641 410824915 477923833 885521305 646316293 640847475 828038385 727915997 968875715 670975321 556289913 758215141 45786795 645062877 253182381 709229409 72393545 527668801 167742929 874519141 387350487 803909551 462889293 651523693 75371827 216680759 964078007 462600543 691181797 400676819 258471881 705270409 368051739 209032805 840520807 829131169 112965295 759923381 995578779 271693249 509579805 179733107 26211739 354249329 51109007 942533181 13773759 464451229 238394835 572435087 628584331 367290267 278803041 563803347 389396909 534829097 61127765 818275933 958707445 613642091 777589883 863807845 395397983 227482605 438425919 296230413 235445007 900454567 353503675 94942557 327754065 135327733 492557483 112555077 475745685 21422235 289978231 980743329 953857659 408711369 929846065 661016113 451564737 542343953 412392845 174428063 171072087 345719667 182356973 131854203 440277325 706461269 840431189 894257471 378761439 264838015 498572919 922141771 704199795 456481069 119446185 245949675 885107855 662274295 525664491 636130637 107629035 666240741 726297059 995628685 758281825 715621987 713840097 735812011 192093681 253559623 631999453 554124945 821092299 946029773 642176629 812584719 519791425 194581661 336108785 929546207 537683147 352725953 843800127 530328481 650558737 586608561 7326713 417087455 726386137 952032071 689859419 157438477 497844507 246496715 918253135 197500033 857222129 788216811 66281059 795357563 213900701 438019769 312043983 124258857 716642955 855680693 988432495 710793625 683524429 57190595 300737231 832571331 476403617 723013425 699662107 778504333 876867945 262708915 657271339 979598523 445350319 93742951 208161409 265867521 376872359 185689041 915765567 895226105 563340203 728905185 449267001 242742819 974228547 292570091 525667811 90541287 822687509 792409515 586218077 926170521 207004149 859579721 790477423 326707057 578710497 485057103 530158473 487434639 462454779 457829555 545756609 942674429 976063117 984586707 821497559 752778413 395879435 48118647 263372593 527025273 909454865 655783111 270980831 901408799 490670177 709814619 521084569 779467597 136895977 639288369 816246461 137360271 725649337 956065451 309284435 949774691 864304653 635883931 580915211 230097191 452242247 582807603 762954041 837031973 278557431 344346383 801448673 643115407 800404683 744202553 969980581 489061759 138525601 870975771 25450457 393694195 974937212 202504073 578222195 153736153 813111687 535224003 46925839 87323133 379391765 51760493 277593849 465041949 601681569 312618389 140068125 651483095 225676239 626059697 792550675 847999413 369180523 144826267 231467805 774776361 875973733 843705243 522914845 393420939 856760539 86570333 130697381 905346591 729963281 131310327 488087535 366831371 613192305 263705573 673950421 206387553 799404685 774621199 569410785 581984282 636940321 758361279 821121859 87883803 653532177 72564141 514151889 755445033 620298345 553001971 210658315 870275831 80051547 382150427 43563031 968120863 466360385 135578637 337856965 994335519 257002657 118845985 347030925 36196195 555021091 120020501 491278221 25307707 75868319 38036237 34335885 686971363 123269387 47059863 562623739 635407479 426791055 109040807 869510129 189492997 783727217 790704795 368201259 956446845 439455273 102637113 784681235 843531959 868509777 347613101 981517751 155293559 47292331 667303307 567918541 611920739 291158049 472958933 939829943 136966413 346683339 582747883 31641721 286517743 521917921 840278685 701914821 499905899 405365701 366964001 64997875 199550409 371778565 638467601 133410815 746753337 823012179 743732085 296313233 343047383 313986443 716341945 36903163 179987363 522219183 773431221 723486001 937350535 838191595 491324321 711675603 451539026 550103185 848034855 973387049 605414595 153050399 809570899 525574435 666588531 55430711 96728983 319176791 420532209 286575523 623934165 451119109 548147117 37360983 132430161 99953171 272515327 509305455 648728503 372336145 109848617 795743277 524198683 595787319 417705043 635702525 496529917 784487523 357379217 186404211 876384577 67601179 641003227 673947977 455626549 912017555 948337939 937966691 79370895 325592989 311388673 884773835 196980073 302128829 986281045 68596405 528398923 808037655 625318315 865343359 622117665 93856633 626571139 693243559 33233473 603457887 652101191 723957723 975657831 538571747 366047303 220261103 821925051 753831633 270788285 360503005 519480775 981355413 607122121 517878985 641950339 508940359 70933111 305266943 537295435 629480615 642118581 121718255 249634019 356142365 245275999 873729847 930462585 169474997 385468469 803151515 176303525 548664617 982111199 524476163 57572449 62455767 294284273 342860677 226885907 444203209 599284963 707162717 10770055 209548457 39558933 699856363 598511095 398364883 307523027 103640507 50080251 827892293 955778123 149711747 996502937 581628581 501598361 675159067 285058881 102514499 306654909 636502153 327685575 733719575 351857055 356372727 265657191 686010559 477886483 724534199 268820681 227438467 901713361 766550597 921439223 307225169 591135353 69530695 286553959 153875393 214322837 411171459 503239417 469956117 403988119 461842929 806125295 638721583 161783769 217635499 179944695 47270563 956604827 150123249 895576361 239837863 116890629 49105459 451307773 878098199 411946795 504054787 298277469 13956991 862391811 479162649 62078101 405250315 449992563 390171741 86765913 779092371 637887295 428577237 723148229 654872727 613039387 555237817 217635683 555181629 45483937 162548067 960827165 332610135 459394383 315013717 787326535 852718937 17879953 216572731 250195361 971613539 358844345 253833961 64932945 758415165 9837055 725552983 515306209 930531159 132420227 720329901 180208711 328858823 325726799 274365491 351908065 395998283 857701973 222734173 496811381 37246797 576827501 82967239 961524271 104300763 580899931 848640819 667341221 841748141 825570501 640653 372485589 997867041 337060927 559597289 164884769 302306623 174190655 3718017 913188187 85046709 476057641 863216567 328370357 391349213 33167429 379167259 462658763 530274227 194378437 714072923 240639399 816308705 202063553 772872021 944680113 82706099 937400637 803519499 950758339 444499237 94551071 795356841 81077269 511929809 127185721 104754307 919984977 959252995 711436615 741604371 362174083 340827303 914505445 514472957 738807583 154087765 31238561 474791949 908894213 143163725 537904875 292979251 710398069 14551157 357975837 690706317 304484129 833326175 630547573 150653791 361186077 667911487 940769823 20603921 242938085 170944757 460801835 298275897 421092193 27104777 878995 833787793 496343771 225382571 321670969 920658429 497509385 958359983 423528165 216631433 236248331 210495897 4699465 718928485 429311587 853489549 739783165 521665009 40081409 973722203 185718915 38503851 664946231 151844219 613305669 986131267 943797957 155431435 610400403 952011401 418568141 301816785 971858345 187189881 834388193 322262593 615992227 826949177 892806643 165160813 684196495 525540879 224617569 342202135 42903133 644558963 743702511 794551207 101734885 332039933 509062605 456107307 337619433 544246131 37779343 848511577 222795283 105399999 371665969 667144083 54609907 228253171 387505433 482869725 408422403 84800333 825941269 993221097 615946405 635182893 347291993 978078989 575929119 378061601 938877573 523576393 602571431 727423707 271790491 11393347 735006547 138418485 397861641 642603853 528444197 184024885 690634149 598601307 113134343 559544581 442686893 823706637 807787977 33517817 345921475 562741419 797504293 641015433 113044985 998837285 999611 483224925 703452863 468913423 805442327 118175805 490926071 410669485 226651303 577286685 963513827 740478691 905544391 74080025 427043891 447128897 243361463 924534643 36302585 770658303 508564129 379550359 281505205 204672505 548655765 600347159 590373963 364883131 851739019 997541553 160390665 361384305 451538537 502428999 236044451 573514229 893234419 508739043 751749433 800414659 61504735 147159737 349258059 552435973 532918467 218516773 352717259 883094407 429110559 903266985 173616653 784751045 557535073 43937779 959826127 756435417 315653335 970580433 5560627 963316879 890336699 477122115 495695817 785380946 136490029 336307563 874457991 404834877 619095863 242417811 510593223 17287437 826143181 752014129 141410387 442313257 331693507 871396829 829714003 954895521 577312991 8939355 144461663 523784237 298593225 557927321 836961653 267761195 689800975 174002343 598977273 600551075 821053487 141304769 908791735 770857285 123500167 386829387 416938471 528058471 461594211 784901327 209891621 250876423 545240561 908159491 112186743 600494799 384840779 376059839 23137353 962476813 256662133 382708745 618930543 287431609 264052309 901380617 295378987 775142255 186668479 234385173 849681437 966472571 729285483 811613607 584433749 732294859 569192953 95981157 275722823 308026611 363271411 882826517 543742163 424911157 887494603 273276847 24798523 566219129 67850459 49691979 443191853 446160203 493595233 438791983 633817791 552023783 726052745 779240389 313568111 417381415 400959845 336973727 614739231 214791061 51959277 547750521 408955425 243559777 596654337 880528441 526451493 569092193 29423467 989124581 751756365 924697365 878438877 666017461 61163037 774324899 34334191 368685315 217192575 941327837 554880293 534385489 873733581 414999607 660322789 168000329 592341953 913248977 728094849 85811907 746461825 476027251 335331892 491910837 824680859 356913035 986134559 854656071 915403523 364664115 355534921 539511745 188295703 793982505 587379365 483265943 843448477 120959699 855714315 928938851 810803649 39854399 229759293 752289517 951330585 896526889 673437669 358718745 175018401 164782061 657649557 880335617 148595393 281010067 51268291 633533149 995873603 717163465 303816659 111529743 730276957 818167271 54783501 499578149 365925039 594945773 302724259 184031443 481845051 669994115 669063597 669494511 543181425 718774261 840605997 798898819 350655267 970875711 484212749 690270133 336611729 132956667 618454813 751470811 116046943 753290355 592150041 923862381 992761241 29533847 870916765 968706323 566064567 822059261 253293367 791021717 295690389 414031333 258084439 343959785 86628473 768613941 487182165 615579687 448030991 998560895 485905267 748550291 344623723 649893365 332443355 553194905 492337679 504251773 987613597 920220877 728837083 565333145 467979445 582432489 849030431 365733497 963867902 281596113 474232207 567253751 162828873 236752017 329614923 271821711 386374723 288967769 325412565 674168427 235414405 379753863 496175643 863853913 960532625 90369439 79078259 34578641 260227793 244693321 5464475 895046383 48304021 304152411 452148149 368040063 482395415 891055055 264370771 952398829 592387959 283945675 482447975 493421651 630858689 119678869 670570063 399118445 167656675 290460581 554386127 228683683 783327929 967328659 680784407 712630535 550391555 401202725 511351481 497972813 601160299 201433411 739979445 607674581 817689473 663791875 150337647 169057449 449184191 890166433 392609717 635059573 729789573 484322173 750673083 249568145 115748383 285709861 916523297 795671291 841507005 100437323 696140007 27443807 919153013 644165321 296293759 411612679 641156429 386438821 362655421 877439213 960042541 473718281 565053919 824546735 434988005 658994759 827691655 851789717 47720751 441289181 872981447 706630541 273042603 846133611 640774415 931769649 87081445 253309631 978349377 818682813 576322123 544723403 452244383 561696539 743325241 915051433 45610713 122365145 21503983 959993759 487799297 935064877 542408341 448812567 546733463 126208505 51759935 768158629 201359487 62301635 798914533 876064769 280498949 253886137 988660839 233996563 996132321 64839091 749567375 57062371 345680175 189879601 691962385 207819173 219352437 928079963 621836673 301120181 528142495 952662525 904934245 374623125 917069571 503512979 206537763 347085297 607283805 382963255 604703759 923363741 773493971 741269427 403906145 687813523 16517619 973901687 596281401 564517621 746960819 330581401 514778017 17693713 983627629 793124825 946548363 798061403 861586153 480809629 71184337 606550123 496742739 992582645 401708083 554078981 25877571 694252697 71379801 351501845 552074929 124075239 920189655 807750831 432537607 648132071 776365347 458077965 207449359 39047239 85452961 231572883 791900417 110154593 482808985 703124939 509142649 3838515 2239037 890598761 468746365 373286497 990119335 827651915 536773495 28250943 979972311 672651375 127410241 943995587 197664949 355938563 580071189 919910537 697050643 642179419 776647321 743299293 512855213 962148083 617301723 248179115 495829025 927477099 743156303 140022667 617542393 350806927 227556051 864774845 340239271 533912661 457423533 797206057 855244675 568423893 192271241 395052123 538794961 336694867 201198973 202724493 105449655 226342205 423419911 551070111 198038087 733890083 344966409 733391125 964294013 493619649 345434581 437266465 795539253 517492477 548656155 425218201 294585663 509087197 689764093 505820669 165882181 322405017 727222781 194553971 873198566 611875977 596807179 413863883 868052385 554034483 277549689 249490045 48176095 305910593 984471047 129321127 125046257 770869637 509008345 533899025 77220883 768962045 349234813 761362985 492676705 292151497 976866023 566570249 948977129 216409911 427157877 461365357 995798939 982718137 184877803 149914559 325108047 872180201 716257657 231330829 962823881 396972941 983229875 883452173 278932143 707265423 607033237 407435297 920703379 761265153 237511047 213327693 145570543 734444577 591989587 467984451 911684133 862853967 848196399 353392475 72354173 166340121 390429883 7871633 362043687 55570737 270490105 9519245 961018943 326970995 631976535 80128929 581807559 439888865 928023979 305066689 192843683 529309863 623015219 649723021 392311723 57501721 384948371 365477965 91243155 938009265 585762007 65488625 964509437 710663441 90439031 249491983 370140277 875600647 853209423 230848231 188380779 163277959 249321379 683176799 60813623 93012647 293047075 55974663 703307547 613276337 221181667 199560213 955198273 846902539 893929311 883744875 744965817 726850123 376818557 74676879 144463741 457939499 48745867 407989425 539696493 434730125 819542589 766824357 769876309 776793729 770416051 65947119 765544419 11274549 99896429 754727601 112176819 373562631 590346335 698463935 882692421 601291897 684129241 730026895 272935939 429046073 677219993 408982077 63012669 75988247 689188039 737289877 316271661 365998351 708463597 294003203 91546099 340251205 236268547 451946143 677823643 380412675 716271715 242419241 506577939 855705021 194772695 305062151 159836471 6481937 548101255 600262475 259153095 565901245 591976205 427209129 522329195 909668273 488341857 857515649 15332279 898051837 563218669 397852379 200622371 823028701 39574141 522124135 879463695 417533621 986252101 418450811 436524743 14737681 345970147 815617559 773237625 835446433 47937885 780328673 922833729 382359621 505519647 293456169 781493791 684244219 693419775 794504423 72131835 742919411 706765881 216428985 237381801 830264445 884501107 669998053 881930465 553254679 705207229 828320607 928021827 79697505 606541447 994771129 592569433 597983017 377990835 431027255 900692119 897078367 998592131 835152571 395935569 100189731 183591333 843678425 535464397 372337845 10378287 647862725 611329073 865359233 6903711 554624097 83790481 681441305 429389785 871632947 911015397 920568123 887718441 739765865 33099021 728660935 86616135 595265243 154085331 980177867 316090703 614522121 992912873 950049145 186616519 521418521 894602217 828256299 632623001 134475485 732442705 982109543 183608095 89920201 879339151 772996567 95781395 987097341 982052335 666989647 261968283 897662017 591696559 653227209 238617669 977314053 826496237 109004135 363128071 379182175 257406387 592683894 87830075 739033869 430628851 891061867 454501033 503278713 27301255 837180639 149296253 749756849 692978733 96515477 116568653 761292909 365552273 532051577 514865173 201685515 375266117 748463007 20435517 334962323 715379647 908092481 386180751 434973107 600081251 248755651 321111363 461285317 785539705 272444079 990735349 234355397 492873011 387451833 265573545 592735581 181553835 343174333 116635855 190995929 156051423 717092287 282762809 853874485 341143739 423954407 504264743 633336843 105954063 368117899 265869373 22685607 191439767 546983461 331594633 773413109 228812529 944923993 51614591 300570509 125212327 69393905 539932925 141619375 765520939 503557601 696305993 805869121 124459989 909419079 668896015 406854611 154159079 446370913 362689381 981303197 257001355 908792989 806684359 831188863 928535505 187370383 608944667 60552189 916487861 981881587 303369649 361162569 878279187 835951273 849898041 351081015 63735993 732947389 301607381 195684683 886354263 2617701 761596167 270208425 800281477 399455225 451962813 843452449 233085127 216273919 105854029 512834091 454964097 700578079 792835701 750331107 811805195 943982383 245478489 296850965 348401561 38208811 100145031 924469039 874385229 884232243 632734195 250555461 747011379 507357845 503526649 138255641 300399931 624566465 239255139 397563411 149112893 989584471 308441435 892650817 503845115 833280279 371762037 994576729 586837791 309462507 202124211 412343997 112756793 177580523 325394805 237317233 506371779 461380429 211448715 362853159 191856415 580235383 40271657 482405941 7546515 178012405 547925741 770142363 983905365 847085177 734966749 254801407 395870331 221674463 639156327 109253555 924829959 363034665 131747165 803941803 704685795 796431747 262036733 696617863 900149471 707790399 89367535 555108239 569921717 382068699 277107261 516460979 225395717 934503415 389930591 322119303 830167898 331085153 440037425 45346895 433773861 432758027 366069751 614936559 410695359 625697041 155403105 525498359 674327401 207319989 637381249 798062493 130848589 335724131 495105239 596851651 356402299 431170735 415529031 585715695 905179629 931209555 186917407 61183823 667167363 504030513 568271379 580575677 532070409 824072791 883998017 812674229 618723373 261538553 77801775 947079777 372745099 751444591 892760777 293385869 541119139 339810877 73727845 400282037 798631645 752262927 720802751 758074867 301230989 137110457 557210879 259944467 559343851 982776885 963059119 127154815 837760791 990147751 66230469 460071509 377384221 427161689 819831969 630533197 708399595 626621119 895927813 419326421 285477213 683501685 273992993 79624183 256951089 319781439 449353863 438720109 349508629 900307461 432240695 849750677 734247573 276411357 548947093 157746295 589454383 634109185 556381037 694312387 773669953 207660757 951442167 199109327 556267287 406468069 489231567 267188121 395436255 788509409 623810811 757926091 209286325 190453159 1117925 291867315 678022551 172020283 256495719 452680777 358092147 282225605 255444667 552027177 439937557 197526429 375368585 932604319 826218043 554568761 962022363 709565847 528131203 353122879 582900007 206818731 812409975 623672187 232863819 996153111 825525641 139220445 543382157 569857477 424850451 670122117 437996699 727956801 857134163 166442161 593392519 749364677 776137591 328616145 89830351 153011505 56929419 913017205 715856475 302989321 780664205 365565019 304908661 453120127 919952475 621146979 572115413 986144105 340787135 47843227 295827863 657139527 548577387 956423221 894066495 872385855 648929783 361155467 53173949 36256291 955816935 880884771 984120419 2850663 776687265 875488679 854915057 909822507 736311415 356880361 245104011 607524407 692393125 103692775 402828479 464609017 532739657 516980417 919007616 192950411 351897965 46105797 115480369 751380139 537392643 290132069 424009103 386399165 94046435 645875005 123928013 753870293 4943567 429949711 719071615 949831593 372805491 304568007 642844067 759456663 148523611 162168183 296429467 638547621 552836099 565491549 95063095 911545223 72974029 898832603 662412973 284712847 14707201 326618491 586047385 600218047 570863825 593328369 557464063 934298047 986782037 513147417 686818381 976086747 307376015 326841845 497932123 206741775 626599017 220544177 572668769 888948725 702370485 156311201 552202505 304843223 303246889 173736767 784374879 264169125 673512041 241360943 617072599 821869301 129338875 448273467 417865039 264461575 241485653 399545943 685699341 393794497 938106829 949839007 442693307 955291573 151262375 263868247 707783283 120373781 30843399 31568359 903709103 545653703 903851525 490677221 958441559 426040397 49881493 61876747 624931765 942296791 26604441 469777725 713492351 136710975 467145181 93287301 960912595 580343553 569989137 596767001 756500791 597132871 518916813 144250705 387550105 850864351 117168275 242750385 856084299 619031873 407354061 426432743 441489675 867729801 171133643 294674883 624348161 554125443 231863495 808656449 384870073 933816475 158951649 901874309 713842213 743188715 396085797 647428571 133786791 808628783 541297027 640715187 14306563 83931087 822282451 180071595 686529379 237714653 646768599 146015111 160310369 5909261 608299831 85846577 168734199 254228927 607347079 545877691 536834187 10974461 704696383 664147041 894541291 258654835 997651137 573533833 973044811 727405689 541371219 812146105 38126921 402100493 278966315 90848425 987726059 739192025 538542175 424821041 455405725 434949165 287601393 906470743 139716149 872619005 454625225 148452933 13165295 446864105 93955771 992600397 319350899 517058617 970506367 133739245 169397195 17539803 210642869 127415749 485174383 615690857 39053289 735567267 617341753 462748191 353072777 183741049 872948595 738951655 128573937 568477539 705997253 486850895 70727265 329882531 755744585 318587021 97826561 721147301 107597431 948301699 511895269 215942651 548401209 679093431 498663429 455457379 427082971 177428567 825996353 951686845 913905425 236647227 46925411 54892567 950460153 502341603 712406815 717651875 998492441 355221879 476772873 409935805 534709085 309551811 628066471 473556711 162571289 695876931 57790303 758172365 297414413 424503313 718338693 872939843 832055903 570542327 567046993 421061443 899672985 9247589 471258339 749018609 197832881 348753265 268360517 914689431 351936775 626007771 534090859 458087593 809711197 24268297 25158953 114668739 140245473 273109771 577858117 439777191 799311657 739979417 964508517 799507523 10797875 733153553 115522589 515472805 524480867 967094139 985819875 556887565 193664645 253259909 902361627 322492381 722513361 522612105 363795215 62626465 994227683 994556803 435060461 839489033 524575167 80137757 968087503 302796019 631326677 36644517 63225785 212656737 598832375 993175315 87323025 469137025 677601127 526959363 247573545 666487203 134952901 898815169 373747517 121806659 340210209 886417465 853995627 146722053 375014639 507343363 794254909 436613555 677983757 269268575 631443749 425021507 705987009 92296245 623465595 406162125 853368759 32773137 697445251 102998423 760271365 205572397 654525027 926003721 278115879 440858729 970431789 446983611 404250629 186350921 705115357 709293411 774284009 239526655 326268497 492409319 675905675 835321697 102945107 700727635 715835911 781644781 660411285 374164951 279426785 131851471 810344367 187558611 899726855 391349713 791860771 685450183 190170833 248986987 914407003 299899741 731820025 964680129 27589545 903521389 623292069 529673107 504707651 668388077 447291745 983633751 488417357 189385987 864819493 825817633 838342351 350872059 801117261 269882031 509429433 53134663 255010719 286047339 557010921 264733571 3765063 113251425 440970779 622418287 460891611 496892493 163175931 402742523 776643927 762018698 370645017 144690233 167792673 467284513 245869039 738904161 504626183 584953281 603606751 19642075 191224127 809796803 454958897 321230383 911849315 38348067 238694167 905624337 323020411 355640201 731639721 223448413 643046901 655468101 122132969 392113941 145066915 640659535 218195905 535367013 377919173 282573383 755241729 578235807 326384381 424027505 455105123 318747201 17449821 764583615 211036807 350475245 840317271 767797191 618147577 582218861 99898313 474134471 158586153 899307957 518722039 920164011 669044079 898353377 231335057 83800061 50010125 161555763 623386281 936062453 553467949 998731543 278032577 59934837 510851807 77657377 589127097 830844419 688028189 507062539 612936161 582533839 44716487 238308537 503082477 49146797 5450409 734889781 585993723 776266529 754603377 398708147 917311633 295628877 479865787 97067151 30862235 500054021 883841799 934070349 517578095 331943357 854213055 220397205 864529355 575207063 576906803 129842493 3184849 681180249 517353373 589699903 124711955 926678129 972437789 289910719 664047489 192722679 68783295 388963591 895685245 41102251 622569585 712001421 337010889 426829555 110254863 652981481 735877013 301420257 854706521 804895969 588571763 336779305 2608889 946046557 569136739 372800811 883603837 82117747 89548489 182550767 17438563 675308381 271300211 106264101 954600203 829478785 911018133 726621731 166284219 336890981 967299021 694181353 985626791 872620993 576632609 607935261 159653353 455739501 715414269 569391887 92854145 566062959 762427445 715305397 491667543 165005551 696703243 87974065 16247615 338085189 791659039 431324233 911948785 408871911 69453697 993179245 934983181 687555707 980589991 207065521 677323807 702926797 308095595 104068697 447449237 695543503 46373909 45185863 558761161 197641627 216014419 280940303 382291967 973160567 614532919 708795109 422135389 562084557 136646209 338454443 557779959 376602159 730780499 15200487 27382725 208901979 800921023 732950983 247912615 287659825 779559223 450112035 181667943 686925759 689148121 213386107 60006583 921642807 385321001 35748853 640378929 401111285 412574231 524477793 331110741 920838267 716995063 387008055 573470091 174627445 197028997 252423319 372295205 885240245 405907687 68819269 862852959 669436473 506233259 906214067 290887511 575907875 880550853 908323319 324091159 982776509 544634261 584696783 28576145 362580347 925310939 579504549 146098847 846300921 315479755 321168519 274926591 396261369 723934453 360763437 154593885 172190311 978245719 224570869 396799051 782277719 27023193 402909159 203280703 938824961 561605573 53816241 689499805 589125069 393686483 324593069 696178349 3678019 465756959 830579671 546297249 292192793 535620013 729972439 755414675 300309543 108005611 903268607 255287425 119791985 937022641 886853955 742315863 774800163 329728057 938498629 287474919 158238865 426682153 254384459 607835623 971097141 692130447 941601603 991149307 543249075 841264607 917781957 219457451 639223765 859471351 647463441 340402537 156328849 766251037 346801677 676321933 771832063 673508605 345292105 106883929 85366627 532369323 784589309 252005623 943142699 929281705 775086601 677860473 618460903 781451991 832472049 983966677 764930131 29272709 119892965 431061231 450529107 949862505 536101567 125729935 639459059 492381853 308965629 228374373 952186467 585055145 634366405 59948813 731782657 595064187 478712807 63279881 529902161 814522981 954675417 279168447 874705149 911955495 976488381 606968193 83928023 695566565 490036825 225585033 515600859 334058027 688718877 264137465 808140333 24572913 333268253 61805527 255360793 330576275 489731355 643087897 105968401 150117591 714737791 373897877 498724271 720936679 885881175 593725965 246489785 565987677 435575897 915237931 106154777 430858547 691747301 37784191 804226017 63071183 428489477 997090179 790688591 444432383 914535525 680717209 767040963 181297401 892648285 270790153 260143819 951855447 235115245 57299971 975736345 686697504 207217851 887404963 637235847 834603459 306131991 122481897 823161115 938472723 551489785 552556223 518963199 581615695 921758465 144683509 580492167 407548443 950452339 32902725 917010731 878389891 656803647 30861647 859750547 373295103 822958591 905928607 781660295 826646121 727780593 110777253 347352571 958002187 471699195 392368823 225850121 260276365 557398701 341085723 824414713 311890953 408904509 500096505 20556337 547981305 346739085 92251233 623488837 137491011 424989475 199888461 484163059 831215669 185667885 769353373 719090461 399305091 390118789 199842077 901590221 962552139 48273319 225817467 576357687 154177299 346092477 129588819 4136375 202426311 502129555 709530149 461135823 769517757 903868323 416654425 611428907 514244273 747533325 823141443 640986015 575378121 57904533 955672091 848947237 708085653 56875693 737220609 154537441 412463109 287683179 670804225 149190685 809227899 168804751 151355401 26672719 955141049 240830337 451667701 380315919 31617517 289476429 780582275 493724961 663528367 700023981 247145057 46093427 618922231 656226047 644978717 264681235 893361199 519208011 884391471 932372035 252976931 379573313 50384381 113210721 478307335 804400437 733057483 720547065 177427577 435427627 59964877 960305089 683796605 468354759 405461277 949246353 345634179 42813017 527115961 719135853 880161631 515166423 737134735 998723459 681272141 687069411 30267499 647063587 360486131 742653891 783222539 462871241 169871199 94377573 539076365 536305177 943877127 85164131 889264123 131103199 565994437 992972537 232670023 135718925 652402145 583767567 346779467 120097725 823273735 89873207 549827143 305157685 169035853 179729573 928059235 35639261 401131057 595036731 984260529 747628365 460373399 574295165 527745837 693739067 462547659 214945693 666612149 336916109 265078917 532668529 3059731 967607631 423460063 914398073 384018169 819283379 218141795 657078235 655390719 203183125 44114171 800012393 272898729 777896693 603244795 201741973 711806813 391973891 908570146 268098949 689987183 1156369 408687767 749764347 769494293 324886295 555342821 732132967 50149491 650587453 746686465 613104611 873218193 657248203 551586889 328366379 510809953 732218165 793858179 653018281 755888571 7508757 266992091 876723307 660310115 265680177 671564775 666532649 106015999 230707315 361750435 986735937 681189665 274316271 848702583 23422393 420493123 412195295 851089197 473848645 289083335 870376101 648104701 209614135 192893941 402480079 115682945 246981777 481394431 483270415 117869249 502331643 734167293 460299585 195543083 73155009 285859827 986981735 538480529 942392029 148196037 432270255 945806131 454489583 876328523 720725607 789998005 508390203 860289081 337477903 325205285 495481523 243557427 38105417 4710391 90222829 744734913 67652063 985766921 543623209 629214803 204123591 853397407 844340045 218470469 801396505 718403177 43549929 124790233 883302425 755565691 799310901 541926197 362172467 293843793 189142543 919337579 892434171 625487057 461909503 142092405 789245739 772984905 565841717 805619763 660396455 933686127 488478087 602371441 525138041 989129565 91332211 270688223 123666903 998204315 615865379 895563285 614972697 455716117 711962213 156505237 538249669 961700129 794066863 50532553 391246467 142037629 21463587 935231489 540758057 826979917 807368839 220007031 652214961 800814877 903499593 106318925 97796159 494524901 532218241 492460681 403032607 110793473 609865201 167084065 933156803 744342325 182772219 722280683 182711749 624977073 881448115 655751337 669713129 864697863 160892365 823600131 444242717 794930487 207101097 900986765 49224817 974260391 350818129 452533439 137819683 956859935 822395759 727051003 562803091 785756123 794971487 608085639 170072911 596331379 695627551 284650393 417725959 106822383 351893333 821638983 383856539 974391739 101453395 424433811 489135115 722491309 894949643 349570917 176285313 556358145 886164515 490640273 176280661 361159263 848627421 371531727 164235261 600538065 581771817 498715839 248673313 483988431 532805537 880421357 161732233 730210099 25451649 525852359 806481703 546256709 941876403 783874985 273445659 543278771 581277125 394334419 52981157 662521999 852106733 993138541 686273329 215838553 294533901 586875531 504185939 242776565 199013291 487335973 175355075 522836657 378580981 618435099 306357865 663125057 519262403 70531897 27892813 342649027 380505749 118597165 880357795 23542459 82545299 482104467 518069959 505937945 993307017 265980393 864257083 843237681 775172849 258495645 141678507 233349567 722997739 584388347 995827945 282773993 618151483 64629825 893489907 777511231 7273811 252888973 764200683 860076465 948345161 275132651 419402011 755782815 7965661 607794761 752479223 624629711 789646709 334197377 814440731 515961967 578402849 96299095 862115915 486047249 32698009 65518961 489821295 729174453 938557755 512495971 481893021 780396221 888942863 298462371 466182415 229986299 305688771 874067349 995394601 246801569 340868017 373338499 581237621 338721611 924208853 367212443 887410343 345844995 140694489 549590007 587243163 196391475 389323275 542484635 711838293 955477423 733812065 173572205 154083837 423420343 685299581 691328577 796450793 727898863 50858149 41921997 9798546 699203429 120349383 150929589 796460191 736071565 859633787 315167617 363889113 96987975 588022785 76416163 910758449 177813717 450814017 328782709 804832199 873891301 904703431 802478389 908031193 318684813 616767437 887070223 876853463 415868489 742946611 698670101 36055377 716995329 826447741 800157757 85954307 246199807 465806301 687421291 893865681 251152635 1538089 409508711 694780615 335143695 412906975 295002595 888744215 910097349 181001003 420801398 371574555 960451589 174840279 68830885 232427097 59848999 287295067 970687703 403685243 71265769 569323225 850180447 854110547 556980591 262984727 239020147 514467293 124923975 588463237 331999287 546163007 921948005 966086455 899173299 328442561 917501735 982014193 20880857 766903765 545615443 930196759 933718145 857953563 409166101 652928695 346552685 108367187 705961985 564526989 413050183 245792361 683457817 849427187 66820255 40545391 320996029 86672117 568059631 792543907 773453501 284699967 157895065 757146725 357693262 86288937 971352293 800302659 182037517 746346931 602267397 891905775 356567295 55223941 922238737 936325701 582201233 131738859 140185099 696736839 672888731 417740767 933115357 547090465 970816085 526870017 651546711 477529383 653503849 195430037 71142963 904718289 873264611 838168717 852205587 558302919 70282037 707545983 62420861 234097105 216163905 464756905 266728935 576783075 987317323 404314101 177135015 491852057 417363967 407033587 11328767 690640309 372637297 715434965 235269913 534264101 796723233 862430847 220003077 15621623 137126387 904649079 57410749 602221547 909296181 703680749 132097569 394924771 247404957 288930741 37101053 288749033 506420293 299269203 224209665 85267507 360573621 505002473 861034181 304401433 419587801 741802827 492897995 703909919 6079751 261489645 351791995 183740913 686975739 468509425 524528937 612367715 80713949 497217053 532599053 215045999 1148471 379112671 920003143 234717497 145749249 19978063 135653603 553589005 391991447 474114861 773958351 596811099 279829693 207277279 982414567 433979841 303843489 499554935 779204075 354103811 263169499 592443561 191409029 881753355 621684581 843135445 807852869 708005355 644824741 11005187 940888995 380543711 922301543 564748515 996932869 86468683 765608933 953867467 150915247 224986043 932542391 674441147 488895959 220159711 7705315 824160089 449260177 549807767 956498905 969527541 899644643 279226337 153938797 844948613 610625461 213942509 941655003 947041707 665379285 53411851 121198539 288451245 524691713 142926519 531524423 47236475 507283671 437378199 922622661 995113641 115168227 463291505 424114725 922602617 402995859 509144893 376095145 541646291 931146307 405240597 81242367 160534341 568455217 993542203 688515135 63415813 832387723 82799641 368358113 219154165 428119901 806524487 856391887 813134745 207203237 445643131 131630933 751364387 682679873 101340829 851855911 130390891 69237499 48381877 956312161 647259117 875076999 814907639 804701069 31728337 975271545 8952253 207756949 535797735 959496279 993787789 60944589 856587175 16968327 596686097 382753525 40073265 176498269 698938141 433610291 872064585 622577167 509277099 221463313 348631137 46056897 539671773 402168453 276405645 857814139 47251969 8649965 531315345 995217199 454002313 252399887 122658513 88463799 120056593 69170967 24054109 613244369 782804059 274981275 445746669 520962603 370156627 344677017 810828767 92267857 623731469 745199219 739942203 208474815 772265923 634727675 173454767 727562199 594910169 37424225 693602707 679519459 458394585 986652231 858529513 280727567 408308343 925126321 137474131 771871867 346988431 409774857 759173669 804526371 859143459 110652201 350530899 98158579 989976161 661667913 693871743 782965949 421237911 923191827 709781741 334766647 452568135 640552851 590384527 6401797 773267981 232703549 590903805 511326895 310547387 318644975 663064435 10263207 453970239 257366767 300038105 102527813 623311287 801775849 429028543 589328587 967886439 341219315 568807517 649052259 387745719 177716873 603225747 503938847 958277693 83074963 672175589 168898805 364865459 554768731 709351555 247689161 238755837 444499607 330305863 218434659 396563495 371792743 356268719 61390195 951687523 639355981 360999905 360985751 77640203 825690937 472492461 350274891 410822819 15180925 559846793 400629243 935017689 731957719 965679767 382492407 602392189 376079215 502640285 271012217 973635725 179115217 225323785 754941091 936850985 367112689 222651893 750616701 752097693 860428333 964831517 273935095 55220575 899901769 632934635 20824301 719444745 685256821 72470379 624402719 899253339 196890949 536904537 976454455 384768069 199727285 929085199 499211973 151332823 559988267
LLRRLRRRLLRRLRRRLLRRLLLRRRLLRRLLRRRLLRLRRLLRRRLRRLLLLRRRLLLRRRLLRRLLRLLLLLRRRRLLRLRLRRRRRLLRRLLLRRLLRRLLRLRRLRLLLLRLLLLRRLLLLRRRRRRRRRRRLLLRLLLLLLLRLLRRLLRRLRRRRRLLRLRRRRRLLLLRRLLLLLRLLLRLRLRRLLLLRLLRRLLRRLRRLLLRLRLRLRLLRLLRRRRLRRRLLLLLRRLLLRLRRRLLRRRLRRLRLLLLRLRLLRLRLRLRRRLLRRRRRRRRLLRLRRRLRLLLLRRLRLLRLRLRLRLRLLLLLLLRRRLRLLLRRLLRRRRLLRLLRRLRRLLLLRRRRRLLLLLRRRLLLRLLRRLRRLRRLRLRLLLLRRLRLLRLRRRLLLRRRRRRLRLRRLRLLRRLRRRLRRRLRLLRLLRLLRLRLLLLLLRLLLLRLLRLRRLLRRLRLLLLRRRLLRRRRRLRLRRLRRLRLRRRLLRRRRLLRLLLRLRLLRRRLLRLLLLLRLRRRRRLLRLLLLLRRRLRLRRRRRLRRRLLLLLRRRLLRLRLRLRRLLRRLRLRRRRRRRRRRRLLRRRRLRRRRRLRRLRRLLLRRLRRRRRRLRLLLLRLRRLRLRLLRRLRLRLRRRLLRLRRRRRRRRRLLLRRLLRLLRRRRRRRRLLLRRRLLLRRLRRRRLRLRLRLRRLLRRRRLRLLLRRLLRLRLRRRLLLLLLRLLLRRRLLLRLRLRRLRRLRLRRLRLRRRLRLLRLLLLRRLRRRLLRRLLRLLRLLLLRLLRRLLRRRRLLRLLLLRRRRLLRLLRLLLLLRRLRRLRLLRRRLRLLLLRLLRRLLRLRLRLRRRLLLLRLLRLRRRRRLLRRLRRRLRLLLLRRRRRLLRRRRRLLLLLRRLRLRRLRLLLLLLLLLLRRRRLRLRRRRLLRLRRRLRRLRLLRLRRLRRRRRLRRRLRRRLRLRLLRLLRLLLLLLLLLRRRRRRRLLLLLRRLLLRRRRRRRRRRRRRLLRRRLRRRLRLRLRRRLLRLRLRRLLRLLRLRRRRRLRLLLLRRLRRLRRLRLRRRLLRLRRLLLLRRLRRRLRRRRLLRRLLRLLLLLLLRLLLLRLLRRRLLLRLRRRLLLLLRRLRLLLLRRLLRLRLLRRRLRLRRLLRRLRRLLLLLLLRLRRLRRLLLLLLRLRRLRRLRLRRRLRRRRLRRLRRRLLRLRRRRLLLLLRRLRRRRRRRRRLRRLRLLRRRLLLLRLRLLLRLLRRRRRLRLRLLLLLRLLRLLRRLLRRLRLRRLRRRRRLRLLLLLRLLRLRRLLRRLLRRRRRLRRRLRLLRLLRLLRLLLLLLLRLRRRLRLLLRRRRRLLRLRRLRRRRLLLLRLLRRLRLLRLRRRRRLRRRLLLRRRRRRRLLLRLRLLLRRRLLLLRLRLLRLRRLLRRLLRRLRRRLLRLRRLLRRLRLLRLRRLLLLRLRLRLLLRLLLRLRLLLLRRLLRRRRRLRLLRRLLLRRLRRLRRRLLLRRLRLRLRRLLRLLRRRRLLLLLRLRLLRLLLRLLRLRLRRRRLRLRRLLRRLLLRRRLLLLRLRRRLLLRRLRRRRRRRLRRLLRLRLLLLRRRLLRLLLRRLLLLRLLLLRLLLLRRRRRLLRRLLLRLLRLRRRLLRRRLLLLRRLLRLRRRLLLRLRRLLLLLLLRLLRLRRLRRRRRRLLLRRRLRRLLLLLLLRLLRRLLRLRLLRLRLLRLRLLLLLLLLLRRLRRLRRLLRLLRLRRLLLLLRRRRLRRRRLRLLRRRLLLLLRRLLLLLRLRLRLRRLLRLRLLLLRRLRRLLLLLRRRLLLLLLLLRRRLRLRRRLRRLRRRLRLRLLRRRRRLRLRLRLRRRRRRRLLLLLLLLLRLLRLRLRLLLLRRRLLLLRRLLLRRRLLLLRRLRRRLLRRRLLLLLRRLRRRRRRLLLLLLLLLLLLRRRRLRRRLLRRRRRLRRRRRRLRLLRLLLLRLLRRRRLLRLRRLRRLRLLRLRRRLLRLLLLRLRRLRRLRLLRLLRLRLRLLRRRLLLRLRLLLLRLRRRRLLRLLLRRLLRRLRRRLLLLLRLRLRRLLRRRLRRRLRRLLLLLRLLLLLLLRRLRRRRRRRRLRLLLLRRRRRLLLLLLRRRRLLRLLRRLLLRRLRRLLLRRRRRRRLRRRLRLRLRRLRLLRLLRLLRRLRRLRLLLLRLLRRRRLRLRLRRRLLLLRRLRLRLRLRLRRRLLRLLLLRRLLLLRLRLRRLLRLLRRLLRLLLRRRLLRRRRRLRRRRRLRRRLLRLLLRRLRRRRLLLRLLLLLRLRLRLLLLRRLRLRLLLRLRRRRRLLRLLRRRRLLRRLLLLRRRRRLLRLRLLLLRLRRRLLLRRRRLLLRRLLLRRLRRLRRRRLLLRLLRRRRRRRLLRLLLLRLRLRRRLLLRLRLLRRRRRRLRRLLRLRLLRRRRRRLRRRRLRLLRRLRLLRLRRLRLRRRRRLLRRLRLLRLLLLLLLRLLLLRRLLRLLRLRRRRRLLLLLLRLRRRLLRLRLRRRRRRRLRLRRLLLLLLLRLRLLRLRRLLLRRRLRRLLRRRRRRLLLRLLRLRLLRRLLRLLRRLLRLLRLRRRRRLLRRRLLRLLRLLRLRLRRRLLLRRLLRRRRRLLRLLRRRLLRLLLRLLRLLLRRRLLRRRRRRLLLLLLRRRLRRLLRLLRRLLRLLRLRLRRLRLLRLLRLLRRLLLLRRLLRRLLLLRLRLRLLLLLRRLLRLRLLLLRLLRLRLRLRLRLLLRRRRLLLLLLRRLRRRRRLLRRRLLLRRRLLRRLLRRRLRRLLRLLLRLLRLRLLRLRRRRLRRLRLRRRLLRLLRLLLRRLLLLLLLRRLLLLRLLRRLLLRLRLLLRRRLLLRLLRLRRRLRRRRLLLLRRRRRLRLLRLLLLRRRRRLLLLRLRRLLLRLLRRLLLLLLLLRRLRRRLRLLRLLLRLRRLRLLLLRLRRLLLRLLLRLRRLLLRRLLLRLRLLRRLRRRLLLLLRLLLRRLLLLRLLRLRRRRLLLRLRLRLRLLRLLRRRRLRRLRRRRLLLRLLLRRRLLRRLRLRRRRLLRRLLRLLLRLRLLLRRRLRLLLRRRLRRRRRRRRRLRLRRLLRLRRRRLLLRRLRLRRRRLLLRRRRRRLRLLLRRRRRLRRRLRRRLLRRRLLLLLLLRRRRRRLRRLRLRLLRLLLLLLLRRLRLLRRRRRRLRLRRRLLLRRLLRRRRLRRRLRLRRLLRLRLRLLLLRLLRLRRRLRLRRRRRLRLLLRRLLRRRRRRRRRLRLRRLLLRRRRLLLLRLLRRLRRRRLLLLLRRRLLRRRLLLLLRLRRRLRLLLLLLRRRLRRLRLLLLRRLRRRRRLRRRLLRRLLLRLLLLRLLLLLRLRLRRLRLRLLLLLRRLLRLLLRLLRRLLLLRLRRRRRLRLLRRLRLLLLRLRRLLLRLRLRLRLRRLRRLRRRLLRLLLLLRLLLLLRRRLRRLLLRLRRLLLLLRRLRLLRLLLRLRLRLLRRLRLRRRRLRRRLLLRLRRRLRLLLRLRRRLLRLLLLRLLLRRLRRRRRLRRLRRLLLLLLLRLLLRLRLRLLLLRLRLLRLLLRRLRRRRRLRRRLRLLLLLLRLRLRLLRRLLRLLLRRLRLRRRLRRLLLRRRRLRRLRRRLRLRLLRRRRLLLLLLRRRLLLLRLRLLRRLRLRRLRRRRLLRLLRLRRLLLRLLLRRLLLLLRRLRLRLRRLRRRRRRRLLLRLRRRLLLRRRRLLRRLRRLRLRLLRLLRLRRRLRLRRRRLRRRLLRRLRRLRLLRLRLLRLLRLLRRLLLRLLLRRRLRRRRRRLLRLLLRLRRRRLLLLRLLRLLLLRLLLRLLLRLLLLRLRRLLRRLRLLLRRLRLLRLRLRRRLLRLRRRRRLRLLRLLRLRRLRLRRLRRLRRRLLRLRLLLRLLRRLLRRLLLRRLRLLRRRLLRLLRLLLRLLLRLLRLRLLLLRRRRRRLLLLRRLRRLRRRLRRRLRRRLRLLLRRLLLLRRRLRRLLRLRRLRLRLRLLLRRRLRRRRRLLRLLRLLLRRLLRLLRRRRRLRLLRLRRRLLLRLLLRLRLRRLLLLLRLLRLLLRLRRRLRRRRRLRLLLLRLRRLLRLLLRRLRLLLLRRLRLRLRLRLRRRRLLRRRRLRRLRRRLRRLRRLLRLLLRRLLRLRLLRRLLRRRRRRLRLRRLLLLRRLLRLRRLRRRRLLRRRLRLRRRLLLLLRRLLRLRLLRLLLRRLLRRRLLLLRLRLRRLRLLLLLRLRLRRLRRRLRRRLRLRRLLLLRRRLRLLLLRLRRLLRRRRRRLLLRLLLRLRLRLRLRLRRLLRLLLLLRRRLRLRLLLRRLRLRLLLRRRLRLRRLLRRRRLLRLLRRLLRLRLRRLLRRRRLRLRRLLLLLRLRLLRRRLLLRRLRLLRRRRRRLLLLRLLLLLLRLLRRLRLRLLLRRRRRRLLRLLRLRRRRRRLLLRRRRRRLRRLRRRLRLRLLRLLRLRRRLLLLRRRLLRLRRRRRLLRRRLRRRRRLRLRRLRLRRLRRLRRLLLRLLLRLRRLRRRRLRRLRRRLLLRLLLRLRRLRRLLLLRRRLLRRRLRLRRRLLLLRRLLLLRLRRRRLLLRLRLLRRLLRRLRRRLRLRLRRLLRRRRRLRRLRLLLRRLRLRRRRRRLRRLRLRLRLLRRRRLRLRRRRLRRRRRLRRRRRRLRLLRLRRRLRLRRRLLLRLRRRLRRRLLLRRLLRRLRRLRLLRRRRRLRRRLLRLRLRLRLRLLRRLLRLLLRRRLRLLLRLLRRRLRRRLRRRLRLRRRLLRRRRLRLRLLRLLRLRRLRRLLLRLLLRLLLRRLRLLRLRRRLRRLLRRLRRLRRRRRRRRLLLRRLLLLRLLRRLRRRRLLRLLLLRRLRRRRLLLLLLLLLLRRRLRLRRLRRLLRRRLLRRLRLRLRLRLLLRLRRRLRRRLRLLLLLLRLLRRLLLRLRRLRRLLRRRLRLLRLRLRRRRRLLLLRLRLLLLLRRLLRRRRRLRLLLLRLRLLLRLRRLLLRLRLLRRRRLLLRLLRLRLLLLLLRLLLRRRRRLRRRLLRRLLLRRRLRRLRRRRLLLRRRLLRRLLLLLLLLLLRLLRLLRLRRRRRRRRLRRRRLRLRLRRLLRLRRLRRRRRLRLRRLLLLLLRLLRLLLLRLRRLRLLRLLRRRLLLLLRRRLLLLRRRLRLRRLLLLRLRLLLRLLRLRLLRLLRLLLRRRLRRRLLLLRRLRRRRRLLRRLLLRLLLLLRLLLRRRRLLRRRLRLLRRLLLLLLLLLLRLRRRLLRRRLRRLRLLLLRRRLRLLRRLRLRRRRRRRLLRRLLRLRRRRRRRRLLRLRRLLLRRLRRLRLLRRRRLRLRRRRLRRLLRLRLLRLRRRLLLRRRLRRLRLRLLLLRLRLRRRLLLRRLRLLLLRRLLRLLRRLRRRRRLRRRLLLLLLRLRRLLRLRLLLRRLLRRRRRLRRRRLRRRLRRRRLLLRRLRRLRLLLRRLLRLLLLRRLLRRLRLRRLLLRLRRRLLLLRLLLRLLLRRLRLLRRRLLLRLRRRRLLRRRLRRLLRRRRRRLLRRRLRRLLLLRLLLLLLRRLRLRLLRLLLRRRRRLRRRRLRLLRLLLRRRRRLLRLLLLLRRLLRLLLRRLLLRLLRLRLLRRLRRLLLRRRLLRLLRRLLRLRRRLRRLLLRRRRLRRLRRRLRLLLLLLRLRRRLRRRRLRRLRLLRRLLRLLRRLLLRRLLLRLLRRRLRRLRLRRLLLRRLLRLRRLLLRRRRRLRRRLRLLLLRRRLRLLRLLRLLRLRLRRLRRLRLLRRRRRRLLLLLLRRLRLLLLLLRRLRLLRLLRRLRLLRRLLLRRLLRRRRRLRRRRRLLRLLLRLLRLRLLLRRRLLLLLRRRLLLRRRRLLRLRLLLLLLRRRLLRLLRRRLLRRRLLRRRRRRRRLLRRLRLLRLRRLLLLRLLLRLRLRRLRRLRLRRRLLLRRLRLRLLRLLRLLRRLRLRRRLRLRLRLRRRLRRRLLRRLRLLRRLLLLLLRLRLRRLLLRLRRLRRLRRLRLLLRLLRRLRLLLRRRLRRLLRLLLLLLLLRLLRRLLRLRRLLLRLRLRLRRRLRLLLLLLRLRRRLRRRLRRLRRRLRRLLLLRLRRRRLRRRLRRLLRLRLLRRRLRLLLRRLRLLLRRLLLRLRLRRRLRLLLRRLLLRLRRRLLLRLRRLLRRRLRRRRRLRRRLRRRLRRRRLRLLLLLLLRLLRLRRLLLRLRLRLLLLLRRRRRRRLLLLLLLLRRLRLRRLRLLLLLLRRRRRRLLRLLLRLLLRLRLRLRLRRRRRLLRRRLRLLRLLLLRRRLLLRRLRRLRRLRRRLRRLLLRRRRRRLLRRRRLLLLLLRRLLRLRRLLLRLLRRRLRLRLLLRLRRLLLLLRLLLLLLRLRLLLRRLLRLLRLLLRLRRRLLRLRLRLLRLLRRLLRLLLLLRRLLLRRRRLLRRLRRLRRRRLLLLLLRRLLRRRRLRLLLRLLRLRRRRRLRLLRRLLRLLRRLLLRLLLLLLRRLLLLRLLLRRRRLLLLLLLLLLLRLRLLRLRRRLLLRLRRRLRLLLRLRRRRLLRRLLRLLLRRLRRRRRRRLRRLRRRRRLLLLRRRLRRLLRRLRRLLRLLRRRLRLLLRRRLRLRRRRLRRRLLLLLLLRLRRLLLLRRRRLLLLRLLRRRRLRLRRRRRRRRLLRLRLLLRLLRLRRRLRRRRRRLRRLRRLLRRRRLLRRLLLRLLRRRLLRLLLLLRRLLLRLLRRRRRLLRRRLRRRLLRLRRRLLRLLRLRLRRRRRRRLRLLLLRLRLLRRRRRLRRRRLLRRLRRLRLRRRLRLRLRRRLLLRLRLLLLLLLLLLLRRLRLRLRLRLRLLLRRLRLLLLRRRRRRRRRLLRRRLRRRLRLLLLRLRLLRRRRRRRLRRLRRRLLRRRRLRLRLLRLRLLLLLRLRLRRLLRLLRRRRRLLLLLLLRRRLLRRLRRRRRRLLLLLRRRLRLLLRLLRLRRRRRLLRLLRRRRLRLLLRRRRRRRRRLLLRLRLLRLLRLLRLLRLLRLLRRRRLRLLRLLLLRLLLLRLRLRLLLRLLRRLRLRRLLLRLLRRRLRLRRLRLLLRLRRLRRRLRRLRLLRRLRLLLLRRLRLLLLLLRLLRLRLLRLLRRRLRLLLRLLRRLLRRLRRLRLLLLRLLRRLRRLLLRRRLLRLRRRRLLLRRLLLLRLLRRRRRLLRRLLRRLLRRRLLLLRRRRLRLRRRRLLRRRRRRLRLLLLLRLRRRRLLRRLRRLRRRLRLLLLLRLLRRRLRLRLRLLLLLLRLLRRLLRRRLRLRRLRRRLLRRRRLLRLLLLRRRRLRLLLRRLRRRRRLLRLLLRLRRLLLLLRLLLRRRLLLLRRLLRLLLLRRRRLLRRLLRRRRLRLLRRLLLLLRRRLLLLRRRRRRRLRRLRLLLRLRRRRLRLRRLRLRRLRLRLRLRRLLLLRRLLRLLRRRRLRLRRRRRLLLRLRRRRRRLRRLLLRRLLLRRLLLRLRLRLLLRLLLRLLLLLRLRRRLLLRLLLRRLRLRLRRRLLLLRLLLRLLRLLLRRRRRLRRLRRRRLLLRRLLRRLLLRLLLRLLLRLLRLRLLRLRLRRLLLLRLLRLLLLLLLRLLLLLLLRLLLLLRRLRRRLRRLRLLRLRRLLLRLRLLLLLLLRLLRLRLRLLLLLRRRLRRLLLRLRRLRLLLLLLRLLLLRRLRRRLLLLLRLRRRRRRRLRLRRLRRLLRLRRLLRRRRRLRRLRLLLLLRLLLRRRRRLLRRRRRRLLLLRLLRRLLLRLRLLRLRLLRRRRRLRLRRRRRLRRRRLRRLLLLRRLLRRRRRRLRLRLRLLLLLLLLRRRRLLLLRLRRRLLRRLLRLRRRLRRRLRRRRLLLLRLLLRLRRLRLRLLLLRLRLLLLLLLLLLRRLLRLLRRRRLLRRLRLLLRRRRRLRLLLLLRRLRLLLLRRRRRLLRLLRRLRRLLLLRLRLLLLLLRLLLLRLLRRLRRRRLRRRLLLRRLLRLLLRRLLRLRRLLLRRRLRRLLLLRRLLRLLRRRLRLLLLRRRLLLRLRLLLRRLLLRRLLRRLLLRLRLLRRLRLLLRLRLRLRRRRLRLLLRRRRLRRRLRLLLLLLRRRRLRRRLLRRLRLLRRLLRRRLLLRRLLLRRRRRLLLLRLRRLLLLLRLLLRLRRRLRRLLLRRRRRLLLRRLRRLRLLRLLRRRRLLRLRLLRRRLLLLRRLLLLLLLLRRRLLRLLLLLRLLRLRLLLRLRLLLLLLLRLLRLLRRRLLLLLLLRLRLRLLLRLRLLRRLLLLRLRLRRRRLLRLLRRRRLLLLRRLRLRLRRRRLRRRLRLLLLRRLLLRLLLLLLRLLLRRLLRRLLRRLLLRRLRLRLLLLRLLLRRRRLLLRRLRLLLLRLRRRRLRRRRLRLLLRRLLRLRLLLRLRRLRLRLLRLRLRRRRRRLRLRLLLRLLLLRLRRRLLRLLLRRLRRRLRLRLRLRRRRRRLLLRLRLRRRRLLLRRRLLLLLRRLRLRLRRRLLRLLRLLLLRRRLRLRLLRLLRLLLLRRRLLLLLRLLRRRLRRLLLLRLRLRRRLRRRRRRRLRRRLRRRLLRRLLLLRRRLLLLRLLRRRRLRLLLLRLRRLLLRRRLRRLRRLLLRLLLRRLRLRRRRLRRLRLLRRRRLRLLRRRLRLRRLRLRLRRRLRLLLLLRRLRLLLLLRLLLRRRRLRRLLLLLLRLLRRLLRLLRRLLLLRRRLLRLLLRLLRLLRRRLLLLRLLLLLRLRRRLRLRRLLLRRLRLLRRLRLRLLLRRLRRLRRLLLRLLLLLLLLLRRRRLRRLLRLRLRLRLRRRLRLLRRRRLLLRRRLLRLRRRLLLLLLLLLRLLRLLRRLRLRLLLLLRRRRRRRRRRLLRRLRRLLRLRLRLLLRRRRLLLRLLLRLRRRLLRRLRRLLLLRLLLLRRRRLRRLLRRLLLRRLRRLRRLLLRRLLLLRRRLLLRRLRLRLLRLRRRRRLLRRRLLLLRLRLLLLLLRRLRLLRLLLLLRLRLLRRRRLLRLLLRLLLRRLLLRRRRRLLRRRRRRRLLRRLRRRRRRRLRRLRRLRRRLRRRRLLRLRRLLLRLRRLRRRRLLLRLRRLRRLRLRRRRRRRLRLLLRLLRLLRLLLRLRRLRRLLLLRRLRLLLRLRRRRRLRRLLLLLRRRRRRRRLLLLLLRRLLLLLRLRLRRRRLRLLLRRLLRRLLRLLLLRRLLLRLRLRLLRRRRRRLRRRRRLRRLLLLRLLLRLLRLRLLLLLLRLLRRLLRLLLRRRLRRLRRLLRRRRLLLRRLLLRRLRRRLLLLLRRRRRLRRLLLLRRRRLRLLRLRLLRRRRLLRLLLLLLLLLRLLRLRRRLRRRRLRRRRLRRLLRLRRLLLLLRRRRRLLLLRRRRLLRLLLRLRLLRRRRLLRLLLLLLRRRLRRLLRLLRRRRRRRLRLRLLRLLRLRLLRRLLLLLRLRRRLRRLRLLLLRLRLLRRRLLLLLLRLRRLLLLRRRLLLLRRLLLLRRLLLLRRLLRLRLLRRRRRRLRRLRLRRLRRLRRLRLRLLLRLLRLLLLLLRLLLRRLLRRLLLRRRLRLLRRRLRRRRRLRLRRRLRLLRRLRLRLLLRRRLRRLRLLRLLLLRRLLRRRLLRLRLLLLLLLLLLLLLRRRLRRLLLRRRLRLRRRLLLRLLRLRRRRLRLRLRLRRLLRLRLLRLLRRLRRRLRLLRRRLLRLLLRLLRLRLRLRLRRRLRRRRLLRRLLLLLRLRRRLLRRRRRRRRLLLRLRLLRRRLRLLLLLRLLLLRRRRRRRLLLRLLRLRRRLRLRLLLLRLRRLRRLLLRRLLLRRLRLLLRRRLRLRRLLRLRLLRLLRRLRLRRRRLLLRRLRRLLRRRRRLLRRRLRRRRLLLLLRRLLLLRLLRRLLLRRRLLRRRRRLLRRRRLLLRRRLRRLRLRRRRRLRLLRLLRLLLLLLRRRLRLLLLRRRLRRRRRRLLRLRRLRRLRLRRLRLRRRRRRRRRLRRLLRLLRRLRRRRRLRRLLRLRLLLLLLLRLRRLRLRLRLRLLLRRRLLLRLLLRRRRLRLRLLRLLRLLLRLRRLLLRRRRRLLLLLLRLRLLLRRRRLLLLRRLLLLRRLRRRRLRRRLRRLRLLRRRRRRRRRLRRLLRRLLRRLLLRRLRRLRLLRRLRLRRRLLLLLLLRLLLRRRLLLLRLLLLLLLRRRRRRRRRLLLLLLLLRRRRLRLLRRRLLRLRRLLLLRLLRLRLRLLLRRRRLLRLRRLLRLRLLLLLRRRLRLLLLLLRRLRRRRLLLLRLRRLLRRRRLRLRRRRRRLLRLRRLRRRRLRLLRRLLLRLLRRRRLRLLRLLLLRLLLRLRRRRRRLRRRRRRRLLRLRLLRRLLLRRRRLLLLLLRRRRRRLRLLRRLLRLLRRRLLRRLRLLRLRLLLRRLRLRRRLRLLRLRRLRRLRLLLRLLLLRRRLLRRLRLRRLLLRLLLRRRLLLRLRLLLRLRRLLRRLRRLRRLLRLRLRLRLRRLLRRLLRLLLRLLLLRRLRLLLRLLLLLLLLLRRLLRRRRRLLLLRLRLLRRRLLLLRLRLRRLLRLRLLRRRRLLLLLRRLRLLRLLLRLLRRRRLRLLLRRLLLLLRRLRRLLRLRLRLLRLRRLLLRRLLLLRLLLLRRRLLLRLLLRLLRRRRRRRLRRLLLRRRRLLLRRRLLLLRRRRRRRRLRRLLLLLLRLLLLRRRRLLRLRRLRLRLLRRLRLLRRLLRLRRLLRRRRRRLRRLRLLLRLRRLRLLLRLRRLRRRLRLLLRRLRRRRRLLLLLRRRLRLRRLRRRLLRLRLRLRLRRLLLRLLRRRRLRRLLRRLRRLRLLRLRRRLLRRLRLRRRLRLLRLRRRLLRRLLRRLRRLRLLLLLRRRLLRRRLLLLLLLRLRLRRLLRLRLRRRRRRLLLRLLLRRLRLLLLLRLLLRLLRLLRLLRRLLRRRRLRRLRRRRLLRRLRRLRRLRLRRRLRLRRRLLLLLLRLRRLRRRLRLRRRRLRLLRLRRLLRLLRRLLRLRRRRRLLLRLRLRLRLRRLRRRLLLRRLLRRLLLLLLRRLLRRLRRLRLRRLRLLLRRLLRLRRLLRRRLRLRRRLRRRRRRRRLRRRRRRRRLRRRLLRLLRRLLLRLRRRRLRRLLRLLLRLRLRLLLLRRRLRLRRRLLLLLRLLRRLLRLLRLLRRLLLRRRLRRRRLRLLLRLLLLRRRRRLLLLLRRLLRRRRLRLLRLLLLRRRRLLRRLLRRRRLLLLLLRLRLRLLRLLRRLRRLRRLRLLLLRLRLRLRLRLRRLLRLRLRRLLRLLRRLLRLRRRLLLRLLLRLRLRLLRLLLLRLRRLLLRLLRLLLRLRRRLLRRLRLLRLRRLRLRLLRRRRLLRLRRLRLRLLLLRLRRLLLLLLLRRRRLLLLRLRLRLRLLRRRLRLRRLRRRLLRLLLRLRLRLRLRRLRLRRRRLLLRLRRLLLLRLRLRRLLRRRLLRRRLRLRLLLRLRLLRRLRLLRRRRLRRLLRRLLRLLRLRLLLLRLRLLRRLLLLLRLLLRRRLRLRRLRLLLRRLLRRLLRLLLLLRRLLLLLRRLLLLLLRRLRLLLRLLRRRRLLRLRLLRLRLRRRLRLLLLLRLLLRRLLLRRLRRRRLLLRLLLRLLLLRLRRRRRRLLLLLLRLRRLRLRLLRRRRRLLLLRLRRLLRLRRRRLLRRRRRLRRRLLLLRLLLLRLLRLLLRLLRLLLRRRLLLLRLLRRRLLLLLRRRRRLRLRRRRRRLRRRRRRLRRRRRLLLRLLLRRRRRLLLRLRRRRRRLLRRLLRRRLLRLLLLLLRLLRLLRRLRRRRRRRLRRRLLRRRLRRRRRLRRLRRRRLRLLRLRRLLRRLRLLRRRLLLRRLRRLRRLRRRLRLLLRLLRLRRRLLLLLRLRLLRLRLRLRRLLLLLLRLRRRLRRRRRLRLRRLLRLRLLRLLLRRRLRRLRLLRRRLRRRLLLRRLRLRRLRLRLRRLLLLLRLRRRLLLLLLRRRLLLRRLLRLRRLRLLLRRRLLLLLRRRLRLLRLLLRRLLLRLRLLRLRLLRRRRRLRLRRRLLRRRLRLRLLRLLLRLLRRRLRLRLLRRLRRRLLLRRRRRLRLLRRRRRRRLRLLLRLLRLRRRLLRLRRLRLLRLRRRLRLLLRRRLRRLRRLLRLLLRLLRLLLLLLRRLRLRLRLLRLLRRLLRLRRRRRRRLRRRLLLLLLRRLLLRLRLLRLRRLLRLLLRRRRRLLLLLRLLLLRLLLRRLRRLRRRLRRLRRLLRRLRRRRRLLRLRRRLRRRLLLRLLRRLLRLRRLRRRLLRRLRLLLLLLLRLRRRLLLLRRLRRLLRLRLLRRRRRLRLLRRLRRLLLRLLLLRRLRRRRLRLLRRLRLRRRRLLRRRRLRLRLLLRRRLLRLLRLLLLRLLRRLLRLLRLLRRLLRRLLRLLLLRRLLRRLLRLLRLLRLLRRLRLLRRLRLRRLRLRRLRLLRLRRLLLRRRRLLRRLRRLLRRLLRLRRLLLLRRRLRLRLLRRLRLLRLRLRLLRRLLRLLLRLRLLLLRRRLLRLLLRRLRLLRRLRLRLRRLRLLRRLRLRLRLRRRRLRLLRLRRRLLRRLLRRRLLRRLLLRRLLLLRRLLRLRRRLRRLRRRRLLRLLLLLLLRRLRRRLLLLRRRRRRRLRLLLLRLRLLRRRRLRLRLLRRRRLRRRRLRLLRLRRLRLLLRLLLLLRLRLRRLRLLLLLLLRRLLLLLLLLLRRLLRLRLRLLRRRLLLLRLLRLLLLLLRRLLLRRRLLLLLLRLLRLLLLRLRLLRLLRRLRLRLLLLLRRRRLLRRRLLRRLRRRRLLRRRRLLLLLRRRLRRRLRLLLRLRRLLRRRLLLRLRRLRLLLLRRLLLLLRRRLLLLLRLLRRLLLLRRRLLRLRRLLRLLRRRLRLRLLLLRLRLLLLRLRLLRLLLLRRRRLLLRLLRLRLLLLLRLRRRRRRLLLRLRLLLRLRLRLRLRLLRRLRLLLRLRRLLRLRRLLLLLRRLRLRLLLLRLLRRRLLLLRLRRLLLLLLLRRLRRLLLRLLLRLLRLRRLLRRRLLRLRLRLRRLRRLRRLRRLLLRLRRRRRRRRLLLRRLRLLLLLLRRRLRLLLLRLLRLRLRRRLRRRRRLRRLLRRLLLRRRRRLLLLRRLLLLRRRLRLLRRLLLRLRRRLLLRRRLRLLLRRLLLRLRLLRRRRRLLRLLLRLRRRRLRLRRLLLRRRRLLRLLRLRLRRLRLRRLLLLLLLLRRLLLRRRLRLLLRRLLLRLLLRLRLLRLRRRRLRRRLRLRLRRLRLLRRRLRRLRLRLRLRRRRRRLRLLLRLLLRRLLRLRLLLRRLRLLLLRRRLLLRRRLRRRLRRRRRRLLLLRRLRLRLLLLRLRLLLLRLRLRLLLRLLRLRLLLLLRLRLLRRRRRRLRRLRRRRLRRLLLLRLRRLLLRRRRRRLLRRRRRLLRRRLLRRRRLRLRRRLRRRRLRLLRRRLRRRLRLLRLRLRRRLRLRLRLRRRLRLRRLRRLRRRRLRRLRLRRLLLLRRRRLRRRRRRLLRLRLLLRRLLRRRLRRLRLRLLLLRRRLLRLRLLRRLLLLRLRRRLRLLLLLLLRRRLRRLLRRRLRLLRLRRLLLLRLLLLLLLLRRRRLLRLLRLRRRRRLLRRLLRLRLLRLLLRLRLLLRRRLLRRLRRRRRRLLLRLLLLLLRLRLLLRRRRLRLRLLRRLRLRRRLRRRRLLLRRRLLLRLRLRLLLLRLLLLRLLRLRLRRRRRLLRRLRRLRLLLRRLLRLRRRRLRLRRRLRRRLRRRLRRRRLRRRRRLRRLLRLRRLLLRRLRRLLRRLLRRLLLRLLRRRRLLRRLRLLLRRRLLRLRRRLLRRLRLLLRRRRRLRRRRRLLLLRLLLLRRLLRLLRRRLLRRLLRRLRRRRRRRLLRRRLLLLRRLRLLRRRRLLLRLLRRRLRRLLRLLLLLRLRRRRRRLLRRLRLLLLRLLRLLRRLLRLRLRRRLLLLRRRLRRLRLLRLRLRRLRRRRLRLLRLLRRRRLRLRRLLLRLRRRLLLLRLLRRLRLLRLLLRLLLLLLLRLLLLRLLRRRRRRRLLLLRRRLRLRLLRLLRRLLRRRRLRLRRRLLRRLLLLLRLLRRRLLRLRLRRRLRRLRLLLLLRRLLLLRRRLLRLRRLRLRRRLRLLLLRRLRRLLLRRLLRRRLLLLLLLLRRLLLLLRLRLLRLRRLRRRRLRRLLLRLRLLRLLLRLRLRLRRRRRRRRRRLLRLRLLLLLLLRLRLRLRLLRRRLLLRLRLRRRRRRRLRLRLLRRLLRLLRLLRLLRLRRRLRRLLRLLRRLLLRRLLLRLRLRRRRLLRRLRLRLLRLRRRLRRRLRLRLLLRRRRRRLRLLLRLRRRLLRLRRLLLRRRRLLLLLRRRLLRLLRRLRRRRLLLRLRRLLLRLRRRRRRLRLLRLLLLRRLRRRRRRRLRLRLRRLLRLLLRRLLRLRLLLLLLRRLLRLLLRLLLRRLRRRRRRRLRLRRLLLRLRLRLRRRLLRLLRLRLLRRRLRRLRLRLRRLRRRRRRLLLRRLRRLRLRLRRRLRRRLRLRLLLLRRRLLLRRLLLRRRRLRLLLRLLRLLLLLRLLLRRLRRRLLLLLLLRLLRLRRRRLRLLRRLRLLRRLLRRLLLRLLLRRRLRRLRRLLRLRLLLRLRLLLRLLRRRLRRLLLRLRLLLRRLRLRRRRRRRLRLLRRRRRRLLRRRLRLRRRLLRLLRLLRRRLRLRRLRLRRLLLLLRRRLRRLRRLLLLRLLRLLRRLRRLLLRRLLRLLRRLLRRRRLRLRRLLLRLRRRRRRLRRLRRRRLLLRLRRRRRLLRRRRRRLRLLLRRRLRRLLLRRLLLLRRRRLLLLLRLRLLLRLLLLRRRLLRRLRRRLRRLRRLLLRRRRLLLRRLRLLLLLLRLLRRRRRRLRLRLRRRRLLLRLRLLRRLLLRRRRLLLLLRLLRRLRLRLRLRRLRLRLLLLLLRLRRRRLLRRLLLRRRRLRRRRRLLLLRRRLLRRRRLRRLRRLLRLLRRRRLRRLLLRRLRRLLLRLLLRRLLRLLRRLLRLRLRRLRLRLLRLLLRRLLLRRLLRLRLLLLLLRRRLRLLRRRRLRRLRLLRRLLRRLLLRLLLRLRLRLLRRLLRLRRRRLLLLLLLLLLLLLLLLRLRLLRLRLLRRRLRLLRLLRLLRLLLRRLLLLRLRRRRLLRRRLRRRLLRLLRRRRLRLLLLRRRRLRRLLLRRRLRRLLLLRLRLRRRLLLLLRRLRRLLLLLLLRRLLRLLLRRRRLRRLLLLLRLRRLRLRRRRLRLRLRRRRLRRLRLLLLRRLRRLLLRRLRLRRRRLRRRLRRRRLLLRRLLLRRRRRRLLLLRRLRLRLRLRRLLRLLRRLRRRRRLLRRRLRRLRLRRRLRRLRRLRRRRLRLRLRRLRRRRRRRLRRLLRRLRLRLRRLRRLLRLLRRLLRLLRRLLLLLRRRRLLRRLLLRLLLLLRRLRLLLLRRLLLLLRRRLRLRLLLLLLRLLLLRLRRLRRLLLLLRLRRLRLLRLRLLLLRLLRLRLLRRLLLRLRLRLRRLRRRLRRLRLRLLLRRRLRRLLLRRLLLLRRRRRLRLLRLRLRRRLLRLLLLLRRLRLLLRLLLLRRRLLLLLLLRLRRRLLRLRLLLLLLLRLLLLRLLRRLLRLRLRLRRLLLLRRRRRLRLLRLRRLLLRRRLRLLLLRLRLLRLRLLRLRLRRRRLRRRRLRLRLLRLLLRRLRLLLLRRRLRRLLRLRLRLRRLRRRLRRLLRLRLLLLLLRRLRRRLRLRRLLRRRLRRRLRRRLRLLRLRLLLLLLRLLLRLRRRRRRLLRLLRLLLLLLLRRRLLLRLLRRRLRLRRRRRLRRLRLRLLRLRLLRRLRLRRLLRLRRRRRRRRRRRLLRRRRRLRLLLRLLRLLLRLLLLLRLLLLRRRRRRRLLLLRLLRRRLRLRRLLLLRRLRLRLRRRLRRRRLRRLRLLRLLLRRLRRLLLRLRLLLRLLLLRLRLRRRRRRRLLRRLLLRRLRRRRRLRRRLLLLLRLRRRLLLRLLRLRLRRLRRLRLRLRRLRRLRLLLLLRLLLLLLRRRLRLLRRRLLLLRRLRLRLRLLLRLRLLRRRRRRRLLLRRRLRLLRLLLLRLLRLLRLRRLLLLRLRLRLLRRRLLLLRLRLLLRLRRRRRRLRRRRRRLLRRLRRLLLLRRLLRRLRRRLLRLRRRRRLRLLRRRLRRLRLRLLRLRRLLLLRRRRRLRRRRRRRLRLLLLRRLLLRLRLRRLLLRRRRRRRLRRLLLRRLRLLRLRRLLLLLRRRRRLLLLRRLLRRLRLLRLLLRRLLRRLRRLLRRRLLLRLLRRRLLLRRLLRLLLRRRRRLRLLRLRLRRLRLLLRRLLLRLLRRLRLRLLLLRLRRRLRLLRLLLRRLLLLRRLRRRLLLRLLRRRLRLLRLLLRRRRRRRLRRRLLRRRLLLLRRRRLRRLRRRLRRRRRRLLRRRRLLRLRLRRRRLLRRRRRRRRLLRRLLLRRRLLRLLRRRRRRLLRRRRRRRRRRLRRLLLRLRLLLRRRLRRRLLLRRLLLLLLRRLRLRLRRLRRRLRLRLLRLLRRLRLLRRLLLLRRRLRLRRRLRRRRRLRRLRLRRRRRRRRRLLLRLLRRRLLRLRLRRRRRRLRLLRLRLLLLLLRRRRRRRLRRRLLLLRLRRLLRRRLRLLLLLRLLRLRLRRLRRRLRLRLRRRRRRRRLRRRRLRLLRLRLRRRRLRRLLRLLLRLLRLLLLLRRLLRLRRLLLRRRLRRRRRRLLRRLRLLLLLRRLRLRRRRRLLRLLRLLRRRRLLRLRLRRLRLLLRLRLLLRLLRRRRLRLRRLRLRLLRRRLRLLRLRLRRRRRRRRRLLLRRRLRRRLRRLLLRRRRLRRLRLRRLLRRLRLRLRRLLRLLLRLRLLLLLLLRLRRLLRLRLRRLLLRLLLLRLRLRLLLRRRRRRLRLRLRRRRLLRRRLRLLRLLRRLRRRRRLRRLRLLRLLRLRLLLLRRLRRRRRLLRRLLLRRLRRRRRRRLLLRLRLRRRLRLLRLLRRRRRLRLRLRLLRLRRRRRLRRLRRRRRRRRLLLLRLLRRLRLRRRRRLLLRLRLLLLLLRLLLLRRLRRLLRLLRRLLRRRRLLRRRLRLRRRLRRLLLLLLLLLLLRRLLRLLRRRLLRLRLRLRLLRRLLRRLLRLLLLRLLRRRLRLLLRLLRRRLLLLLRRLLRLRLRLLLRLLRRRRLLLRRLLLRRLLLRRLLLRLRLRLRRRRRLLRRRRLRLRRRRRLLRRRRRLRRRRLRLLRLLLRLRLRRRRRRRRLLRRRLLRLLRRLLLLLLLLLLRRLLLLLLLRLLRLLLLLRRRLLLRLLRLLLLLRRLLRLLLLRRRLRLLRLRRLRLLLLLLLRLLRRLRRLRRLLRRLRRRRRLRRRRLLRLLLLLRRLRLLRLLLRRRRLLRLLLLLRRRRRRLLLRLLRLLLRLLLLLLRRRLRLLLLLRLRRRLLRRRLRLRLRRRLLLLLRRLLLRLRLLLRLRRRRRLRLLRLRRLLRRLRLLLLLRRLRLRLLLRRRLRLLLLRRRRLLLRRLLRLRLRRLRRLRLLRRLLLRRRLLLLLLRRLRLRRRRLLRLLRRLRRLRRRLRRLRLLRRLLLLRRLLLRLRRRLRLRRRLRRLRLLRRLRRRRLLRRLRLRLRLRLLLLRLLRRLRRRRLLLRLLRRRRRRLLLLRLRLRLRRRRLLRRLLLLRLRLRLRLLLRLLRLRRLLLRRRRLLRRRRRRRLRLLLRRLLLLLRRRRLRRLRLLRRRLLLRLLRLRRRLRRLLRLRRLLLLRLRRLLRRRLLRRRLRLRRRRRRLRLRLLLRLRRRRLLRLLRRLLLLRLLLRLLRLLRRRLRLLRLLRRRLLLLRLLRRLRLRLRRLLRRLLLLLLRLRRRRLRRLRRLLRLLLRLLRRRRLLRLRRLLRLRLRRLLRLLLRRLLRLRLRRLLRLLLLRLRLRLRLRLRRLLLLRLRRRLRRLRLRRRLRLLLLRLRLRRLLLRRLLLRLRLRRLLLLRLLLRLRRRLLRLLRRLRLRRLRRLRRLLLRLLLRRRRRRRRLLLRLRLRRRRLRRLRLLRLRLRRRRLRRLRRLLLLRRRLLRRLLLRRLLRLLRLLRRRLLRLLLRRRRRLLLLLRRLLLLLRLRRRRRRLRRRRRLRRLLRRRLLRRRLLLLLRRRRLLRRRRRLLRLRLRLLLLLLLRRRRLLLRRLRRRRLLLRRRLLLRRLLRLLLRLLRLLLLLRLRLLRLRLRRRLLLLLRLLRRLRLRLLLLLRLLLLRRLLLLLRLRLRRRRRRLLRRLRRLLRLLRRLRLRLRLLRLLLLLRRRRRLRRRRRLRRRRRLLLLRRRRRRLRLRRLLLLLLRRRLLLRRRLLRLRLLRLLLLLLRLRLRLLLRLLLLRRLLRLRLRLRRRRLLRLLLLRRLLRLRLRRLRRRLRRLRRRRRLRRRLLRRRLRRRLRLLLRRLLRRRRLLRLLLLLRLRRLLLLRLRLLRRRLRRRLRRRLLLRLLLRRRRLLLLRLRRRLRRRLLRRRRRLLRLLLLLLLLRRRLRRLLRLLLLLRRLLLLRLLRRLRRLRLRRLRLRRLLRRLRRRLRLRRLRRLRLRRRLRLLRLRLLLLRLLLLRRLLRLRLLLLLRLRLLRLRLRLRRLLLRLRRLLLLLRRRRLLLLRLRLRLRRLLLRLLLLLLLLLLLLRLRLRLRRLLLRRRLLLRRLLLRRLRRLRLRRRLLLRRLLRRRRLLRRRLLRLLRLLLLRLRRLLRRRRLLRLRLLRRLRRRRRLRRRRLLRLRLLRRLRRRRRRRRRLLRRRLLLLRLLLLRLLRRRRRRRLLLLRLLRRLLLRRRLLRLLRLRRLLLRRLLLRLRRLLLLLLRRLLLLRRRRLRRLLLLLRLRLLLLRRLLRRRLRRRLLRRRRLRLLRRLRLLLRRLLLLRLRLRLRRRLLRRRRLLLLRRLRLLLLLLLLRRLLLLRRRRLLRRLLLRLRRRLLRLRLRRRLLLRLRLLRLRRLRRRLLRLLRLRRLRLRLLLRRRRRRLRLRRRLLLLRRLLLLRLRLLRRRRLRLLRLRRLRLLLRRLRLLLLLRLRLRLLRRLLLLRLLLRRLRLRRRRRLRLLLRRLLLLRLRLLRRLLRLLLRRLRRLLLRLRLLRRLRRRLLRLRLLRRLRRRRLRLLLLRLLRRRLLLLLLRRRLRRLLLRLRRRRRLLRRRRLLRLLRRLLRRLLLLLRLLLLLLRRLLRLLLLLRLRLRLRLRLLRRRRRRRLRLRRLRRRLLLLLRRLRLLLRLRRLRRLLLRLRLLLLRRRRRLLRLRLRLLRRLRLRRLLRRRRRRRRLLLLLRLRLLLRLRLLLLLRRLLRRLLRLRRLRLRRRLLRRLRLRLLRLRLLRLLLLRLLLRRRRLRLLRLLLRLLLLRLLRRLRRRLRLRLLRLRLLLRRRLLLRRRRLLRRRLLRLRRRRLLLRLRLLLRLLLLLLLRLLRRRRLLLLRRLRRRLLRRLLLLRRRRLRRRRLLLLRLLLRRRLLLRRRRRRLRRRLRRLRLLLRLRRRLRLRRLRRRRLLRLLLRLLRRLRLLLLRLLRRLLRRLLLLLRRRLRRRLLRLLRLLRRRRLRLRRRRLRRLRRRLLLLLLRLLRLRRLRLLLLLRLRLLLRRRLRRLRLRLRRRRLRLLRRLLLRRLLRRRRRRLRRRLLRRRLLLRLLRLRLRRRLLRRRLRLLLLLRRLLRRLLLLRRRLLLLRRRRLLLRRLLRRRLRLLRLRLRLRLLRRLRLRRRLRRLRRLRLLRRLLLRLRRLRLLRRRLRLLRLLLLRRLLRLRLLLRLRLLRLRLRLLRRLLLRRLRLLRLRRRRRLLLLLRRRRRRRRRLLLLRRLLLRRLLRLRLRRRLRLRLLRRRRLRLRLLLRRLRRLLRLLRRLRRRRRRRLRRRLRRRLRLRRRRLRLLRRRLRRLLLLLLRRLLRLRRRLRRLLLLRLLRLRLLLRRRRRLLRLLRRLLRRLLRRLRRRLRRRLLLLLRRLRRRRRRLRLLLLLRLLLRLLLRLRLRLLLLLRLRRRLLRRLLLLLRRRRLLRLLLLLRLLRRLLLRRLRRRRLRLRRLRRRLLLLLLLLRRRLRLRLLLRLLRLLRRLLRLRLLLRRLRLRRLLLLRRRLLLRRRLLRRLRLRRLLLLLRRRLLRLRLRLRLLRRLRLRLLRLRLRLLRRRRRRLRLLLRLLLLLRRRLRRLRLLRRLRLLLLRLLLLRRLLRLRLLRRRRRLRLRLRLRLLRLRRLRRRLLRLLRRRLRRRLLRRRLLRRLRLLRLRRRLRRRRLRRLLLRLRRLRRLLLRLRLRLLRLLLRRRLLLLRRLLLLRRLLLRLRLLRLRRRRRRRLLLLRLRLLLRRLLRRRLLRLRRLRRLLLRLLLRLRRRLLRRRLRLLRRLLLRLRRLLLRLLRRLRLLLRLRRLRRRLRRLLRLLRRRLLRLLLLRLRRLRRLRRRRRLRRLLLLLLRLLRRRRRRRRLRRRRRLRRRRRRRRLRLLLLRLLRLRRRLRRRRLRLRLLRLRRLLRRLLRRLRLLLRLLRLLRLLRRLRRLLLRRLRLLLLRRLRLRRLLRRRRLRRRRRRRLRLRLLRLRRRRLRLLRRRRLRRLRLLLLLRRLLRLRRLRLLRRRLRLLRLLRLRRLLRRRLLLLRRLLLLLRRRRRRLLRRRLLRLLRRRLRRLLRLLLRLLLLLRRLLRLRRRRRRLRRLRRRLLRLRRLRLLRRRRRRLRRLLLRLLLLRLRRLLLLLLRLRLLRRLRRLLRRLLRRLLLLLRRRRRLLRLLRRLLRLRRLRLRLLLRLRRLRRRLRLRLRRRRLRRLLRRRLRLRRLRLLLLLLRRRRRRLRLRLLLRLLRLLLRRLRLRLRRLLLRLLRRRLRRRRRRRRRLLLRRLRLLLLLLRLRRLRRLRRLRLRRLLLLLLRRRRLRLLLLRRRRLRRRRRRLLLRLRLRLRRLLRLRLLLLRLRRLLLLLRRRRRRRRRRLRLRLRRRRRRRLRRLLRRLRLLRLLLLRRRLLRLRRRRLRLLRLRRLRRLRRRLLLRRLLLRLRRLLLLLRLRRRLLLLRLLRLLLLRLLRRRRRLLLLLLLLRLLLRLRLLRRRLLLLRRRRRRLRLLLRRRRLRLLLRRLLRRRLLRLLRLLRRLRRRRRRRLLLRRLRRLRLLLRLRRLLLRLLLLLRRLRRLLLLRRLLLLLLRLLRRRLLLRRLRRRRRLRLRLRLRRLRLRRLLLLLLLLLLRRLLLRRLRRLRLLRLLRLRRLRRLRRRLRLRRRLLLRRLRRLLLRLRLRRLRLRLLLRRLLRRRLLRRRRRRRLRRLRLLRLRLRLLLLRLLRRLLLRRLRLLLRLLRLLLLLRLLLRRLRRLLLRLLLLRLLLRLRLRRLLRLLRRRRRRLRRLRLRLLLRLRRLLLLLLLLLRLRLLLLLRRRRRLRRRRLLLRLRRLLLRLLLRLLRRLRLLRLRRRLRRRLLRLRRLLLRLRLLLLLRRRLLLRLRLLLRRLLLLRRLRRRRLLLRLRRLLRRRLLLRRRRRLRLLLRRRRLRLRRLLRRRLRRRRLLLLRLRLLRRLRLRRRRLRLLRRLLRLRLLRLRLRLRRLRLRLLRRLRLRRRRRLLRLLLLRRRRRLLRRLLLLLRLLLRLLLLLLLRRLLLRLRLRLRLLRLRLRLLRRLLLRRLRRLRLRLLLRRLLRRRLRLLRRRLLLLLLLRLRRLRRLLLLLRRLLRRLRLRRLRLRRLLLRLRLLLLLRLLRRRRLLRLRRLLLRLLLRLRRLLRRLRLRRRLRLLLRLRRRLLRRRRLLRLRLLRLRLLRLRRLRLLRRLLRLLRRLLRLRRLLRRLLLRRLRLRLRRRRLLRLRLRLRLLLLRRRLLLLLRRLLRLRLLLLRRLLRRRRLRLLRLLRLLRRLRLRLRLRRRLLLLRLLRRLRLLRLRRLLRLRLRLRRRRRLLRLRLRLRLRRLLRRRLLLRRRRRRLRRRLLRLLRLLLRLRRLLRRLLRLLLLLLLRRLRRRLRLRRRRRLRRRRLLLRRRRLLRRLLRRLLLLRRRLRLLRLRLRLLRRRRRLLLRLRLRLRLRRLRRLRLRLLRLLLLLRLLRLLLLRRRLRLLLLRRLLRRRLRLRLRRLLLRRRLRRRRLLRLLRRLLLRRLLLLRLLLRLRLLLRLRRLLRRLRLRRRRLLRRLRRRLLRRRLRRRRRLLLLLLLRLLLLRRLRLLRLRLLRLRRRLLRLRLLLLLLRLRRRRRLLRRLLRLLRLLRLRRLRRLRLRRRLLRRRLRLLLRRLLLLLRLRRLRRLLLRLLRRLRLLLRLRRRLRLLRLRLLRRLRRLLLRLLRLRRLLRLLRLRRLLRRRRLRRLRRRRLLLLRLRLLLRRRRLLLRLRLRRLRRLRRRLLRLRLRLRLRRLLRRRRRLLLLLRRRRRLRLRLRLRRRLLRRRLLRRRLRLRRRLRRRRRRLRLRLRRRRLLRLLLLRLLRLLRLRRLLLRRRLLRRRRRRRLLRRRLLRLRLLRLLRLRLLRLRLRRRRRLRRRRLLRLRLLLRRRRLLLRRRRRLRRLLLLLRRLRLRLRLRRRLLLLLLRRLLRLRRRRLLLLLRLLRLLRLLRRRLRLLLRLLRLLRLRRRLRLRLRRLRLRLRLRRRRLRLLLRLLRRLRLLRRLRLRRLLLLRRLLLLLRLLRLLRRRRLLLRRRRLLLLRLRLRRLLLLRLRRRRLLLRLRRLLLLLLRRLLRLRRRRRLRLLLLRRRRLLLRLRRRRLRRRLRRRRLRRRRRRLLLRLRRRLRRRRLRLRLLLRLRLRLLRRRRRLRLRLLRLRLLRLRLRRLRLRLLRLRRLLRRRLLRLLRRRLLLRRRLRLRLLLLLLLLLLLRRRRLLLRRRLLRRRLRLLRLLRRLLRLRRRRRRRLRRLRRLRRRRRRRRRRLLRRLLLRRRRLLRLRRRRRRLLRRRLLRRLLRRRLRLLRRRRLRRRLRLRLRLRRLLRRLRRRRLRLLLLLLRLRRLLLLLLLLRRLLLLLLRLLLLRLRLLRRRLLLLRLLLRRLRLLLLRLLRRRRLLRLLLLRLLRLLRLRRLRLLLLLLRRRLLLRLRRLRRRRRRLRRRLLRLRLRLLLLLLRRLRLLRLLRLLRLRRLRLRLLLLLRRLRLRLLLRLRRRRLLRRRRLLLLRRRRRLLLRRLLRRRRLLLRLRLRLLLRLRRLRRRRLLLLRLRLLRRRLRRRRLRRLLLRLRRLRLRLLRLLLRLRLRLRRLLLLLLLRRLRRLRRRLLRLRRRLLLRLLLRRRRLLLRRLLRRRLLRLRLLLLRRRLLRRLLRLLLRRRLLLLRLRLLRLLRRLLRLRLRRRRLLRLLRRRLRRRLLLRLLRLLRRLRRRRLRLLLRRLRRRLLLRRLLLRLLLRLRRRRLLLLRRRLLRRLLLRLRRRLRRRLRLRRLRRRRLLLRRLLRRRRRLRLLLRRRRRLRRRRLLRRLLLLRLRLRRLLLLLRLLRLLRRLRRLRRLLRRLLRLLLRRLLLRLLLRRRRRLLLLRLLRRLLLLRRLLRLLLLLRLLRRLRLRLRRRLRLRLRLLRRLLRRRRLRRLRRLRLRLLLLRLLLRLRRLLLLRLRRLRLRRRLRRLRLRLRRLRRLLLLRRLLRRLLRLRRRLRRLLLRLLLRLRRLRRRRLRLRRLLRRRRLRLLLRRLRLLRLRRLLRRLLLLRRLLLRLLRLRLLRRLLRRRRLLLRRRRLRLLRLLLLLLLLLRRLLLLLRRRLLLRLRRRRRRLRRLRRLLRRRRRLRLLLRLLRRRLRRLRLRRRLRRRRLRRLRRRLRLLLRRRRRRRLLRRRRLRLLRRLRRRLRLLLLRLLRLRLRRLRLLRLRLRRRLRRRLLRLLRLLRRRLRRLLLRLLRRLLLLLLRRRLRLRLLRLLLLRRLRLLLLLLLRLLRLLRRLLRLRRRLRRRRRLLRRRRLLRLRLLLRRRLLRRRLLLLLRRRRRRRLLRRLRLRLRLRRRRRRLRLLRLRRLRRLLRRLLLRLRLLRLLRLRRLLRLLRLRLLLLRLLLRRLRLRRRRRRLLLLRLRLLLLRLRLLLRLLRRLRRLLLRLRRLRRLLRRRRRLLLLRLRLRRLRLRLLLLLLRRRLRLRRRLLRLRRRRLLRRRRLRLLRRLRLRRRRRRRRRLLLLRRRLLLLLLLLRLLRRLRLLRLLLRRLRRRRLRRLRLRRRRRLLLRLLLLLRLRRRLLLLRLRRRLRRLRLRRLRRRRLRRRLLRRLLRRLRRLLRRLRLRLRLLLRRLLLRLRLRLLLRLLLRLRLRLRLRRRLLLRLRRRRLLLLRRLRRRRLRLRLLLLLLLRLLLRRRLRRLRLLRRLLLLRLLRLRLLLRRRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLRLLRLLLRRRRLLRLLLRLLRRLRLRRLLLLLLLLRRLRLRRRRLRRLRLRLLRRLRLLRRLLLLRRRRLRLLRRLRLRRRRRRRLLLRLLRRLRRRRRRLLLLLRLRLLLRRRLRRLLRLLRLLLRRRLRRLLLRLLLLRLRRLLLRLLRRLRLLLLLLLRLRLRLRRRRLLRRLLLLRLLRRRRLLLLRLRRLRRRRLRLLRRRLLLRRRLLRLLLRRRLLLRLLRRRRRLRRLLLRRLLRRLRRLLRLRRRLRRLRLRRLRRLLRRRRLLLLRLLRLRLRLLRLLRLRLRLRLRRRLRRLLRRRRLRRRLRLRRLRRRRLRRRRLLLLRLLLRLLRLLLRRRLRRRRLLLRLLRRLLLLRLRLRRRRLLLLRLLRLLLRLLLLLLRRLRLRRRRLLRLLLLRLLLRLRLLLLRLRRRRLLRRRLRLLLLRRLRLLLLLLRLLRLLRRRRLLRLRRRLLRRLLLRRRLLRRRLRRLLRRLRRLLRRLLRRRLLLRRRLLRRRRLLRRRRRLLRLRRLRRLLLLLRLRRLRLLRRLLLLLRLRRLRLLRRLRRLRLLLLLLRRRRLRRRRRRRRLLLRLLLRLLLLLRRLRLRRLLLLRLRRRRLLRRRRLRLLLLLRRLLLLLLLLLLLRRRLLLLLRLLRLLLRLLRRLLRRRRRLLRLRRLRRLLRRLRRLLRRLRRLLLRLRLRLLLRLLRRLRLLRLRLLLLLLRLRRLRRLLLLRRLRLRLLRLRRRLRLLLLRRRLLLLLLLLLRLRLLLLLLRRRRLRLRLLRLLRLRLRRRLLRRLLLLLLRRRLRRLRLLLLRRLRRRLLLRLRLLRRLRLRLRLRRRLRLLLLLRRRLLLRRLRRLRLRRLLLLRRRRRLLLRLLRLLLRLLLLRRRLLRLLRRRRLLRLLLLLRLLRLRRLLLLRRRRLRLLRLLLLLRLRRRRLRLRLLLLLLLRRLLRRRLLLRRRLLRLLLLLLRLRRRRRLRLLLLLRRRLRLLRLRRLRRRLLLRRRLRLLLLRLRLRRLRRRRRLRRRRRRRRRRRLRRRRRLRRRLLLRRRRLLRLRLLRRRRRRRRRRRRRLRLLRRLLLRLLRLRLLRLLLRRLRRRLRRRLRLLRRLLRLLRLRRRRRRLLLRRRRLLLRLLRRRLRRRLRRLRLLRRRRLRRRLLRLLLLRRRRRLRLLLLRLLRRLRLLLRRLLRRLRRLLLRRLRLLLRLRRLRLRLRLRLLRLLLLRLLRLLRLLLRLLRRRLRRRRRLLRLRRLRRRLRRRRLRLRLLLRRLRRLLLLRRRLLLRLLRRRLLLLLLRLRLLRLRRRRRLLLRRLLRRLRRRRRRRRLLLLLRLRRLRRLRRRRRLLLLRRLRRRLLLLLRLRLRRRLRRLRLRRRLRRLLRRLRRLRRRLLLRLRRLRRLRRLRRRLRRRLRLRLLLLRRLLLLRLRLRLRRRLRLLLLLLLRRLLRRRRRLRLRRRRRLLRLRLRRRLLLRLRRRLLLLLRRRLLRLLRLRLRRLLRLRRLRRLRRLLRLRRRRRLRRRLRLLLRRRLRLRLRRLLLLLLLLRRLLLRLRLLRRLLLLRLRLRLRLRLLLLLRLRRLRLLRRLLRLRLRLLLRRRRLRRLLRRLLRRRLLRLLRLLRLRRLLLLLRLLLRLLRRRLRRRRLRLRLRRLRRRLLLRLLRRRLLLLRRLRLLLLLRLRLRRLRRLRRRLLLLRLRLLRRLLRRRRRRLLRLLLLLRLLRLLRRLRLRLRLRLLLRRLRLRLRLLLRLLRLRLRRRRLLRRRRRLRRLLRRLRLRRLLRLLLLLLLRLRRLRRLLLRRRRRRLRLRRLLRLLLRLLRLLRRLLRLRLRRRLRLRRRLRRRLRRRLRLRLRLRLLLRRLRLLRRLRRLLLRRLLLRLLRRLRRRLLRLRRRLRRRRLRRRRRLLLLRLLRRRLLLRLLRLRLLLRLRLLRLRRRLLLLRRLLRRRLRRLLRRLLRRRRRLRRRRLLRLLRLLRRRLLRRLLLLRLLLRRLRRRRLRRRRRLRRRRLRLRLLLRRLLLRLRRRLLLRRRLRRRRRLLRLRRLLRLLLRRLRRLLLLLLRRLRLLLRRRRLLRLLRRRLLLRLLLLRLRRLRRRRLRRRRLLLLLLLRLRLRLLLRLRLRLLRLRLRLLLLRRLRLRRRRLLRRRLLRRLRLLRLLRLLLRRLRLRRLLRLRRLLLRLLLRRRLRLRRLRLLRLRRLRRLRRLRLLRRRRRLRLRRLRLLRRRLLRLLRRLLRLLRLRLRLRRLLRRRLLLLLRRLRLLLRLRRRLLRRRLLLLRRLLRLRRRRRLRLRLRLRLLRRRRRLRLRLRRRRRRRRRLLRLLRLRRLLLRLRLRLLLLLLRRLLRRRLLLRRRLLLLRLLLRRLLLRRLLRLLRRRRRRRRRLRLLRRLLLLLLRRRRLRRRLRRRRLRRRRLRLRLLLLRLLLRRLLRRRLLRRLLRLRRLRLRRLLRLLLRRLLLLLRRLRRRRLRRLLLLRLRLRLRRRLRRLRRLRLRLLLRLLLLRLLRLLLLRRLLRLLLRLRLRLRLLLRLRLRLRRRRLLLRLRLRLLLLRRRRRRRRRRRRLRRLRLRRRRLLLRLRLRRRRRRLLLLRLRLRRLRRRLLRRRLRRRLRRRRRRRRRRLRLLRLLRLLLRRRRLRLLRLRRLLRRRLRLRRRLRRLLLRLLRLRLRLLLRLRRLRLRLLRRLLLLRRLRRRLLRLLLRLLRLLLLRRLRLRRRLLLRRLLLLRLLLRLLLRRRLRRRRLRRLLLLLRLRRRLLRRLRLRLRLLRRLRRLRRLRRLLLRRRLLRLRLLLRRLRRLLRLRLLRLLLRRRLLRLRRRLLLRRLLLRRLLRLLRRLRLRRLLRLRRRRRLLRLLRLRLRLRLRLLLLLRRRRLRRLRRRRLRRRRLRRRRLRLLRRRLLRRLRRLLLLRRLRLLLRRRLRLRRRLLLRLLLRRLLLRLLLRRRLLRLLLLRLLRRLLLLRLRRRLRLLRLRLRRRRRLRLRLLRLLLLRRRLLRLRRRRRLRLRLRLLRRRRRRRRRLLLLLLRLRLRLRRLRLLRRLLRLRRLRRRLRLRRLRLLRRLRRLRRLLRRRLLRRRLLRLRRLLLRLLRRRRLRRLLRRRRRLRLRLRLRRRRRRLLLLLRRRRLRRRLRLLRRLLLRLRLRLRRLRRRRLRRLRRRLRLLLRLLLRLLRLLLRLLLLLLLRRLLRRRRLRLLRLRLRLRLLRRLRLRLRRRRLRLLLLLRRLRLRLRRRLLLRLLRRLRLLLLLLRRRLRLLLRRRRRRLLRRRRLRLRLLRLRLRLLRLLRLLLRRLRLLLLRLRRLRRRLLRRRLLRLRLRLLRRRLLRLLRRRRRLLRLRLRLLRRRRRLRLLLLRLLRLRRRLLLRRLRRLLLRRRLRLLLLLRLRRRLRRRRRLLRRLRRLLRLRLRLLRLRRRLLLLLLLLRRLRLRRLLLRLRRLLRLRRRLLLLLRLRLRRRLLLLLRRRRRRRLLLRLLLRRLLRRLLRRRRRRRLLLRRLLLRRLLRRRRLRLLRLRRLRLLLRLLRLLLRLRLLRRLRRRLLRRLRRLRLRRRRRRRRLRLLLRLRRRRLLLRRRLLRLRLRRLLRRRRLLRLLLLRRRRLLRRLRRRRRRRRLLLRLLLRRRRRRLRRLRRLLLRLLRRLRLLRLRLRLLRRRRRRLRRLLLRLRLLRRRRRRRRLRLLRLLRRLLRLLRLRRLRRRRLLRLRLRRRLRRLLRRLLRRLLRRLRLLRLRRLRLLRLRLLLLRRLRRLRRRRLRLLLLLRRRRRLLLLLLRLLRRLRLLRLLLRRRLRRLLLLRLRRLRLLLLRLRRRRRLLRLLLLLRRLLLLLRLRLRRLLLRLLLRLRRLLLRLLRLLLRLLLLRRRRRLRLRRLLLLLLLRLRLRRLRLRRRLLLRLRRLRRLRRRLLRLLLLLLLRLLLRRRRRLLLLLLRRLLLLLRRLLLLRLRRRLRLRLRRRLRLRRLRLRLLLRRRRLLLLRRLRRLRRLRLRLRRRLLLLRRLRLRRRRLRLRRLRRRLLLRLRLRLRRRLLLLRRRLRRLRLRRRRRRLRLRRRRRLLLLRLLLRRRLLRRRLRLLRRRLRLRRRLRRLRLRRRLLRRLRRLLLLLLLLLRLLLLLLRRRRLLLLRLLLLLRLRLLRRRRRRLLRLLRLRRRLRLLLLLLLLLLLRRLRLRRLRLLRLRRRRLRLLLRRRLLLRLRRRLLLRLRRLRLLLRLLLLRRRRRRLRLRLLLRLLLRLRLRRLLRRRLLRLRRLLRRLLLRRLRLRRRRLRRRRLLRLRLRRLRRRRLLLRRLLLRRLRLLLLLRLRLLRLRRRLLRRLLLLLLRRLRRLRLRLRRRLLRLLRRRRLLLLRRLLLRRLRLRRLLLLRRLRRRRLLLLRLLRLLLRRRLLRRLRRLRRRLLRLLLLLRRLLLRRLRLRLLLLRRRRRRLRRLRLLLRLRLLLLRRRRRRLRLRLLRRLLLRRRLRRRLRRLRLLLRLLRLRLLRLRRRRLLLLLLLLRLRLLLLLLRRLRRLRLLRLRRLLLLRLLLLLRLLRLLRLRRRLLLLLRLRRLLRLRLRLRRLRRRLLRLRLLLRRRLRLRLRRRLRLRLRLRLLLRRLRRRRRRRRRRRRLRLLRRRLRLRLRRLLLLLLLRRRLLLRRRRLLLRRLLLLRRLLRLRRLRRRRRLRLRRRLRRRLLLRLLLRLLRRLLRRLLRRLRRLLLLLLRLRRRRRRLLLLRLLRLRRLRLLLRRRRRRLRLLLLRLLLRLLLLRLRLLLRRRRRRLLLRLLRLLLRRLRRRLRRRLRLLLLRRRRRRLRRLLRRLLLLLLLLLRLRLRRLRRRRRLLRLLRLLLRLRLRRLLRRRRRRLRRLLLLLRLRLLRRLLLLRRRRLLLRLRRLRRLLRLLRLLRLLLRRLRLLLLLRRLRLRLRRRLLLRRRLRRLRLLLRLRRLRRLRRLLRRRLLRLLRLRRRRLLRLLRLLLRRRRRRLLRRRLRRRRRLRLRLRRRRLLRLRRRRLLRLLLLLRRRRRRRLRRRRLRLLRLLLLRLRRLLRLLLLRRRLLRRRLRRRRLLLLLLRRLLLLLRLRRLLLRLLLLRRLLRLLRRRLRLRLRRLRLRRRRLRLRLLLLRRLRRRRRRRRRRLLLLRLRLRLRLRLRLRLRLLRLRRRLLRRRRRLRRRRLRRRRRLRLRRLRRLRRLLLLRLLLRRLRLRLLLRRRLRRRRRRRLRLRRLRLRLRLRLLRRLLLRRLRRLLLLLLLRLRRLLRRLRRRRLRLLLRRLRRRLRRRRLLRLLRLRLLRRLLRLLLRRLLLRRLRLLRRLRRLRRLLRLLLRLRRRRRRRRRRLRRLLRLRRRRRLRLRRLLRLRLLLRLRLRLLLLRLLLLRLRLRLRLRRLLRLLRLRLLRRLRLRLRLLLLRRLRLRLRRRLLLRRRLRRRLRLLLRRRLRRLLLLRRRLRLLRLLLLRRRRLLLLRLRLRLLLRRLLLRRRLLLRLLLRLRRLLRLRRLLLLRRLLRRLRLLLRLLRLRRLRLRLRLLRLRLRRLLRLRLLRLLLRLRLRRLRRRLLRLRRRRLRRLRRLLLLLLRRLLRLRLLRRLRLRRRLRRLRRRLRRRRLLLLRLRLRRRRLRRRRLRLLLLLLLRRLLLRLRLLRLLRRLRRLLLRLLRRRLLLLRLLLRLLRLLRLRLRRLLLLLRLLRLLRRRLRLRLRLRRRLLLLRRLLRLRRRLRLLLRRLLLLLRLLLRRLRLRRLRLRLLRRLLLRLLLLLLRLRLLRRRLRLRLLRLLLRRLRLRLLRLRLRRRRRRLLLLRRRRRLRRRRLRRRRLRRRLLLLRLLRRRRLLRLLRLRLRRRRLRRLLRLRRLRLRRRLLLLRRLRRLRRLLLLLRLLRRRLLLRRRRRLLLRRRLLRLLRRLRRRRRLRLRLLLLLLRLLLRRLRRLLLRRLLRLLRRLRRRLLLRLLLLRRLLLLRLRLLRLLLRRLLLLLRLRRLLRRLRRRLLLLRLRLRLRLRRRLLRLLLRRLRLLRRRRRLRRLRRRLLRRRLRRRRRRRRRLLLRRRRLLLRLLLLLLLLLRRLRLLLLRLLLRRRRRLRRRRLRLRLRLLRRLLRLLLLLLRLLRRLRLLLRLLRLRLLRRRLRRRRRRLLLRLRLLRLLLRLLRLLLRRRRLRRRRRRLRLLLRRRRLLRLLRRLRRRLLLRLLRLLRLLRRLLLLLRRRLLRRRRLRLLLRLLRRLRLRRLRLRRLLRLRLRLLRLRLRRRLRLRRRLLRRLRRLLRLLRLRLLRRLRLLRLRRLLLRRRRRLRLRLRRLRLLRLLRRRLLLLLLLRLLRLRRRLRLRLLRRRRLLLRRRRRLLLLLLLRLRLRLLLRRLLLLRLLLRLLLRLRRLLRLLRLRLRLLLRLRRRRRRRRRRRRLRRLRRRRRRLRLLLRLLRLRLLLRLRLLLRLRRLRLRRLRLRLLLLLRRLRLRLLRLLRLLRLLRRRRRLLLRLLLRRRRLLRLRRRLRLLRRRLLRRLLRRLRRLLLRLRRLLRRRRRLLLLRLRLRRRLRRRRRLRLLLRLLLRLLRLRLRLRLLRLRLLLLRLRLLLLRRLRLLLLLRRLRLRLRRRRRRLRRRLRLLRRRRLLRRRRRLRLRRLRRLRLLLRRLRLRLRLLRLLRRRLLRRLRLLRLLRLRLRRLLLLRRRRRLLLLRRLLRLRLRRLRLLLLRRRLRLRRRLLLLLLRLRRRLRLLLRLLLLLRLRLLLLLRRRRLRLRLLRLLLRRRRLLRRLRLRRLRRLLRRRRLLRLLLRLRRRRRLRLRRRRRRRRLLRLLRLLLLLRRLRRLLRRRRRLLRLLLRLLRRLRLLRRLRLLLLRRLLRLRLLRRRLLLRRLLLLLRRLLRRLLLLLRLRRLLLLLLRLLLRLRLRLRLLRRLRRLRLLRRRRRRRLLRRLRLRRLRRRLLRRLRRLLRLRRLRRRRLLLLRRRRRRRLLRLRRRRLRRLRRLRLLRRRLLRRRRRRRRLLRRLLRRLLRLRRRLRLLLLLRLLLLLLLRRLRLLLRRRLLRLLRLRRLRRLRRLRLLRLRLRLRRLLLRRRLRRLRRLLRLLLLRLLRRRRRRLLRLRRRRRRLLLLRRLLRLRLRRRLLLLLLLLLRRRRLRRRRLLRRLRLLRRLRRRLRLRRLRLLLLRRRRLLLLRLLRRRRRRRRRRLLRLLLRRLRLLLRLLLRRRRLRLRRRRLRRLLRLRRRRRLRRLLLLRLLRRLLRRLLLLLRRLRLRLLRRLRRLLRLRLRLLLLRLRRRLLRLLRLRLRRLRRRLRRLLLLRLRLLRRLRLRRRLLLRRLLRRLRLRLRLRLRLLRRLLLRLRLLLLLRLLLLLRLLRLRLRRRRLLLLRLLLLRLLRRRLLRLRRLLLRRLLRRRRLRLRRLRRRRRRRRRRLLLRRLRLLRRLRLRLRLLRLRLLLRLRLLLLLRLRLLRRLLRRRRLLRRLRRRRRLRRRRRRRLLLLLRLRLRLLRRLRRLLLRRLLLRLLLRLRRRLLRRRLRRRRRRRLLLLRLLRLLRLLRLRLLLRLLRRRRLLLRRLLLLLRLLLRLRLRRLLRRLRLLRLRRLRLRLLRRLLRLRRLRLLLRLRRLRLLRRLLRLLRLLRLRLRRRLRRRLLLLRLLLLRRLLLLRLRLRLLRRRLRRRLLRRRRLRLLLRRLLRRLLLLRLLRLLLRLLLLRLLLRRLRLLLLLRLRRRLLLRLLLLRLLRRLLLLRRRRLLLRRRRRLRLLRRRRLLLLLLRLRRRRLLRRLRRLLRLRRLRLLLLLLRLLRRLRRRLLLLLLRLLRRLRRRRLRRRRLLLLLLRLRRLRRLRLLRLRRRRRRLRRLLRRRLLLLLLLLRLLLLLLLLLLLRRRRLLLRRLLRRLLLRRRRRLRLLLLLRRLRLLRRLLLLLRLLLLLRRRRRRRLLRRLLRRLLRRRRRLRLRLLRRRRLRLLLRRRLLRRLRRLRRLLRRLRRRRRRLRRRRLRLRRRLRRLLRLLLRRLRLRRLLLRLRLRLLLRRLLLLLLLLRLRRRRLLRLLLRRLRLRRLRLLLLLRLLLRRLRRLLRLRLRLRRLRLRRRLRRRLLRRLLRRLLLRLLLLLLLRRLLRRRLRLRLLRLRLRLLLRLLLRRRLLLLLRLRLLLLRLLLRLLRLRLLRLRRLLLRLRRLLRRLLRLLRRRLRLRLLLRRRLRRRRLRLRLRRRLLLLLRLLLRRRLLLRLRLLLLLLRRRRLLLRLRLLRRLRRLRRLLRRRRRLLRLRLLRLLLRRRRLRRRLLRRRRRLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRRRRLRLRLLLLLRLRRRLLRLRRLLLLLRRRRRRRLLLLRLLLRRLLRLLLRRLRRLRRLLRRRRLLLLRLLRLLRLRLLRLLLLRRRLLRLLLLLLLRRRRRRLLRLRLLLLLRLLRRLRRRRRLLLLRLRLRRLRLRRRRLLRRLLRRLRRLRLLRRRLLRLRLRLLLLRLLLRRRRRRRLLRLRRRRLLRLLLLLLLLLRLLLLRRLLRRRLRRRRLLRLRRRRLRLLLLRRRRRLRLRLLLLRLRLRLLLRLLRLRLRLLLRLRLLLRRRLRLRRRRLRLLLRRLRLRRRLRLLLLLLRRRLLLRLLLRRLLLLRLLLRLRLLRRRLLRRRLRRLRLRLLRRLLLLLRRLRRLRRRLRLRLRLRRRRLRLLRLRRRRLLRLRRRLLLLRLLLLRRLLLLRRRRLLRLLLRRLRLLLLRRLLLLLRLRRLLRLRLLRRRLRRLLRLLLRRLLRLLLRRLLRRRLLLRRLLRRLLLRRLRLLRRLLLRLLRRRRLLLRRRLLLRRLLRRLRRRRRLLLLRRLRLRLLLLLRRLLRRRLLRRLLRRLRLLRLRRRRLRRRRLLRRRRLLLLLLLLLLLRRRLRRRRRRRLRRLLRRLLRLLLLLRRLRLLLLLRRRRLLRRRRRLRRRLRLRLLRRRRLRRLLRRLLRLLRRRLRLRLRLRRLRRLLLLRLLLRRRRRLLRRRLRLLLRRLLLRLLRLRRRRLRLRRLRLRLRLLLRRLLLLLLLLRRLRLLLRLRRRRLLRLRRLRLRLRLRLRRRRRRRLLLRLRRRLLRRLLLLRRLRRLLRLLRRRRLLLLLRRRRRLLLRRRLRRLLRLLRLLRLRLRRRRLLRLRRLRLLLRRRLLLLLLRLRLLRLRRLLRLLLRLLLRLRRLRRLRRLRLRRRRRRLRRRRLRRLRLLRRLLRLRRRRLLLRRLLLLLRLRLLRLLRLRLLLRRLLLLRRLRRRLRLRRLLLRRLRRRRRLRLLLLLRRLRRRRRLLLRLRLLLLLRLLLRRRRRLLLRRLRLRLRLLRRLLRLRLLLLLLLLLLLRRLLLLRLLLLLRLLRLLRRRLLRLLLLLLRLRRRRLRLLRLRLRRLLRLRLRLLLRRLRLLLLLLLLLRRRLLRRLRRLLLLLLLLRRRLLLRRRLLRLLLLRLRLRLRLLRRLLLLRLRRRLLRRLRLRLLLRRRRRRLRRRLLLRRRLRLRLLRLLRLRLLRLRLLLRLRRLRRRRLLRLLLRRLLRRLRRLRRRRLRRLLRRLLLLRRLRRRRLLLLRRLRRLRRRRRLLRLLRLRRLLLRLRRRRLRRLLRRLRLRLRLLLRRRRLRRLRLLLLLRRLLRLLLRLRRRRLLLLLRRLLLLLRRRRRLLRLRLLRLRRRRRRRRRRLLLLRLRLLLLRRLRLLLRLLRLRRLRLLRLLLLLRLLLRLLLRLRLRRLRRLRRRRRRRRRLLLLLLLRRRRRLLRRRLLLLLLLLLLLLLRRLLLRLLLRLRLRLLLRRLRLRLLRRLRRLRLLLLLRLRRRRLLRLLRLLRLRLLLRRLRLLRRRRLLRLLLRLLLLRRLLRRLRRRRRRRLRRRRLRRLLLRRRLRLLLRRRRRLLRLRRRRLLRRLRLRRLLLRLRLLRRLLRLLRRRRRRRLRLLRLLRRRRRRLRLLRLLRLRLLLRLLLLRLLRLLLRRLRLLLLRRRRRLLRLLLLLLLLLRLLRLRRLLLRRRRLRLRRRLRRLLLLLRLRLRRRRRLRRLRRLLRRLLRLRLLRLLLLLRLRRRRRLRRLRLLRRLLRRLLLLLRLLLRLRRLRRLRRLRRRRRRRLRLLLRLRRRLLLLLRRLRLLRLLLLRRRRLRRLLRLRRLRLLLLLRLLLRRRLLLLLLLRRRLRLRRRLLLRRRRLRLRRLRLLRRLLRRLLRLLLRRLRLLRRLLRLRRLRLLRRRRLRLRLRRRLRRRLRLRRRRLLRRLLLLLRLRRLLRRRLLRLLRLLLRRRLLRLRLRLLRRLRRLLLLRRRRRLRLRRLRRRLRRLRLRLLLLRLRLLRRLLRRRLLLRRRRLRLLLRRRLLRLLLLLLLRLLRRLRLRRRRLLLRRLRRRLLRRRRLRRRRLRRRRLLLLLRRLLRRRLRRLRLLLRRLLLRRRRLLRRLRLLLRRRLRLLRRRRRRRLRRLRLLRLLLLLLRRRLLLRLLRRRRRRRLRRLLRRLRLRRLRLRRLRLRRRRRRRRRLLRLLRLLRRLRRLRLLRRRRRLLLLRLLLLRLRRLLLRRRRRLLRRRRRLRLRLRLLRRLRLRRRRLLRLLRRRRRLLLRRRRRRRRLLLRLRLLLRLLRLLLRLRLRRLLLLLRLRLRLRLLLLLLLRRRRRRRRRLRRLRLRLRRRRLLLRRRRLLRRRLLLRRRRLLRLLLRRLLLRRRRRLLRLLLLLLRRRRRRRRRRRRLLLLRLLLRRLLLLLRLLLLLLRLRRLRRRRLRRLLLLRRLRLLRLLRLRRLRLLLRRLRRRRLRLLRLLRLRRLRRLRLRLRRLLLRRRLRLRRRRLRLLLLRRLRRRLLRRLLRLLLRRRRRLRLRLLRRLLLRLLLRLLRRRRRLRRRRRRRLLRLLLLLLLLRLRRRRLLLLLRRRRRRLLLLRRLRRLLRRRLLRLLRRRLLLLLLLRLLLRLRLRLLRLRRLRRLRRLLRLLRLRRRRLRRLLLLRLRLRLLLRRRRLLRLRLRLRLRLLLRRLRRRRLLRRRRLRLRLLRRLRRLLRRLRRRLLLRRLLLLLRLLLLLRLLLRRLRRRLLRLLLLRRRLRRRRRLRLRLRRRRLLRLRLRRRLRLLLLLRRLRRLLLLRRLLRRRRLLLLLRRLRLRRRRLRLLLRRRLLLLRRRLLRRRLLRLLRLLLLRRRLRRLLLLLLLRRLRRRRLRLRLLLRRRLRLRRLLLLLLRLLRRLRLRRLLLLLLRLLLLRLRRLLRLRRLRLLRLRLLLLLRRLLRLRRLRRRRRRRLRRRRLLRRLRRLRLLLLLRRRRRRLRLLLRRLRLRLLLLLLLRLRLLRRRRRRRLRLRRLRLLRRRLLLRLLRRLLLLLLRRRLRRLRLRRLLRRLRRLLRRLRRLRLLLLLRRLLLRRLRRLRRLRLRLLLRRRLLRRLLLLLRRLRRLLLRRLRRRLRRLRRRLLLRRLLLLLLRRRRRRLLLRLLRRLRRLLRRLRRLRLRLLRLRRLRRLRRLLRRRRLLRRLLRRRRLRLRLRRRRRLLRRLRLRRRRLRRLRLRLRLRLRRRLLLLRRRRRRLLRLLLLLRRLLLRRRLLLRRLLRRLLLRLLRRLRRRLRRLRLRRLRLLLLRLLRLRLLLRRLRRLRRRLLRRRRRRRLLRRRRLRRLLRRRLRLRRRLLLRRRLRRLRLLLRLLLLRRRRLLLLLRLRRLRRRRLLLLLRRRRLRLLRRRLRRLLRRRRRRRRLLRLLLRLRRLRRRLRLLRLRRRRLRLLRRRLRRRLRLLRRRLLRRRLRLRRLLRLLLRRRRRLRRRLLRRRRLRRLRLLLLRRRLRLRLRLRRLRRLLLLRLLRLLLLRRRLRRRLLLRRLLRLRLLLLRRLLRRLRRRLRLRRRLLLRLRRRLLLRLLLLLLLLLRLRLLRRLRLLLLRRRLLRLRLLLLRRRLLLLLLRLRRRLLLLLRLLLRLLLRRLLLRRRRRRRLLLLLLRLLRLRLRRLRRRRRRRLLRLRRLLLLLLRLRLLLRRRLLRRLLLLRLLLRLRLLRRLRLRLRRRRLRRLRLLLRLRLLLLLRLRRRLLRRLLLLLLLLLRLRLLRRRLLLLRRRRLRRLLRLLLLRRRRRLLLRRLLLRRRRRLRLLLRLRRRRRRLLLRLLRLRRRRLLRLLLLLRLLLRRLLRRRLRRRRLRRRRRLRLRLLRLRLRRRRRLLRRLRRRLRRLLRRRRLRLLLLLRLRRLLRLRRRRLRLLRRRLRLRLRLRLLRLLRLLLRRLRRRRRLRRRRRLLLRLLRRRLRLLRRRRRLLRLRRLRRRLRLRLRRLLRLRLLLLRLLLRRRLRLLLRLRRRLRLLLRRLRRRRLRRRLLRLLLLLRLLRLLRRRRRRRLRRRLRLRLRRRRLRLRRLRRRLLRLLLLLRLLLRLRRRRRRLRLRLRRLLRRLRRRLLRLRLLLRLLRRRLLLLRLLRLLLRLRLRRLLLLRRRRRRLLLRRRRLRLRRLLRLRLLRLLLLRRLRRLRLLRRRLRRRLLRRRRRLLRLRLRLLRLLLLLLLRRRLRLLLRRRLLLLRRLLRLLRLRLRRLRRLRLLLRLRLLLLRLLLRRLLRLLRLRRLRLRRLRRLRRLLRRRLRRRLLLRLLLLLLRRLRRRLRLLLLRRRRLRRLRRRRLRRRLRRRLRRRRLRLLRRLLRLRRRLLRLRRLRLRLLLRRLRLLLLLRLRRLRRLRLLRLRLLRLLRLLLRRLRLRRRLRRLLRRLLRRRLLRLRRLLLRRLRRLRRRLRRRLRRLRLRRRRLLLLLLRRRRLLRLLRLLLRLLLRLLLRLRRRLLRRRRLLLRLLRRLRLLRLRLRLRRRLLLRLLLLLRRLRRLRRRLLRRLRRLLLLLRLRRLRLLLRRRLRRRLRLRLLRRRRRLRRLRRRLRLLLRLLLLLRLRRRRLRLLRRLRRRLLRLRRRRLLRLRLRLRLRLLLLRRLLLLRLLRLLLRLLRLLRRLRRRLLRRLRLRRLLRRLLLLLLRLRLLRRRRLLRRLRLLRLLLLRRLLLRLRLLLRRRRRLLRRLRLRRLRRRLLRRLLLRRRRLRLRLLRLRRRRRLRLRLLRLLLRLLLRLRLLRRRRLLLRLRRRRLRLLRRLLLLLLRRRLRRRLRLRLRLRLRLLRRLRRRRRLLLRLRLRRRLLRLRLRRRLLLRLRLLRRLLLLRRLRRLLRRLRLRLLRRLLLLRLRLLRRRRRLRLRRLLLRRRLLRLRRLLLLLLRRRRLRRRRRRLRRLLRLRLRRRLLLLLLRRLRRLRLLLLLLRRRLLLLLLRLLRLLLRLRLRRLRRLRLLLRRRRLLLRRLRLLLLLRRLLLRLLLLLRLRLLRLRLLRLLRLLRRRLRRRLRLLRLLLLRLLRLLLRRRLRRRLRLLRLLRRRRLLLRRLLLRLRLLLRRRRLLRRRRLRLLLLRRRLRLRRLLRRLLRLLLRLRLRLLRRLLLLLRLLRLRRRLLRLRLLLLLLRLLRLRLRLRRLLLLRLRLLLLRLLLLLRLLLLLLRLRRLRLLLRLRLLLRRRLRLLLRLLLRRRLLRRLLRLLRLRRLLLLLRLLLRRLRLRLRLRLRRLLRRLRRRLLLRLRRRLRRLLLRLLLRLLLRLRLLLRRLLLLRLRLRRLRRLRLLRLLRRRLRRRLRRRLLRLRRLRLLLRLLRRLLRLLRLLLLLLLLRRRLLRRRRLRRLLRLLLLRRLRRRRLLRLLLLRRRRRRRRRRLLLRLRLLRLLRRLLLRRLLRLRLRLRLRRRLRLLLRLLLRLRRRRRRLRRLLRRRLRLLRLLRRLLLRLRRLRLRLLLLLRRRRLRLRRRRRLLRRLLLLLRLRRRRLRLRRRLRLLRRRLRLRRLLLLRRRLRRLRLRRRRRRLRRRLLLLLRLLLRRLLRRRLLLRLLRLLLLRRRLLLRRLLRRRRRRRRRRLRRLRRLRLLLLLLLLRLLLLRLRLRLLRRLRLLRLLLLLRLRLLRRRRRRLRRLRRRRLRLLRLRRLRRLLLRRRRRLLLRRRRLLLRLRLLRRRRLRLRRRLRRLRLRRLRRLRRRLLLRLLLRRRRLLRLLLLLRRLLRRRLRRRRRLRRRLLLLRRLLLRLRRLLRRRRRRRRRRLRLLLRRLLLRLLRLRRRRLLLRLRRLLRLRLLLLLLLRRLLRRLRLLLLLLLLRRLRLLRRRLLRLLRLRRLLLLRLRLLLLRLLRRLRLRRLRLLLRRRLLLRLLRLRLRRRRLRLRLLLRRRLLRLRRRRLLRRLRRLLRLLLLLRLLLRRRRRRLRLLRRLRLRRRLLRRLLLLLRLLLLRLLLRLLLLRRRLLRLLRLRRRLLRRLRRRRLLRRLLRLRLLRRRLRLLLRRRRLRRRLRRRLLRLRRLLLRRRLRLLLLRRLLLRLLRRLLLLLLRRLLLRLLRRRRLRRRRRRLLRLRLRRLRRRLLLLLRLLLLRLRRLRRRLLLLLRRLRRRRRLLRRLRRRLLRRRLRRLRLRRLLRLLRRRLLLRRLRRLLRRLRLLLRLLRRRLLLLRLLRLLLRLRRRRRRLRLLLRLLLLRLLRLRRLLRRLRRLLRRRLLRRRLRRLLLRLLRLRLLRRRLLRRLRLLRRRLLLLLRLLLRLRRRRLLLRLRRLRRLRRLRLRLLRLLRLRRLLLLLLRRRRRRLLRLRRRRRRLLRLRRLRRLLRLRRLLRRRLLRRLLLLLRLLLLLRRLRRRLRRLRLRRRLLLRRRRRLLLRRRLLLLRRLRLRRRRRRLLLRRLRRLLLRRLLLRRLLLLLLLLRRLLRLRRLRLLRRRRLRRRLRLRLLRLLRLRLLLRRRLLRLRLRRLRRLRRLLRLRLLLRLRLRLRLLLRLLLRRLLRLRRLLRRRRRRLRLRLLRRRLRLLRLLRLLRLRRRLRRLLRLRRRLLLRLLRRLRRRRRRRRLRRLLRRLRLLRRRLRLRLRLLLRLRRRRRRLRLLLRLLLRLLRLLLRLLRRRRLRLLLLRLLLRLLRRLRLRRLLLRLRRRLLRLRRRLLRRRLRLRLLLRLRRRLLRRRLRLLLRRRLRLLRRLLLRLLLLLRLLLRLLLRLLLLRLRRRRRRRLRRLRLLRRRLRLRLRRRRRLLLLLLLRRRRRRRRLLRLRLLRLRRRRRRLLLLLLRRLRRRLRRRLRLRLRLRLLLLLRRLLLRLRRLRRRRLLLRRRLLRLLRLLRLLLRLLRRRLLLLLLRRLLLLRRRRRRLLRRLRLLRRRLRRLLLRLRLRRRLRLLRRRRRLRRRRRRLRLRRRLLRRLRRLRRRLRLLLRRLRLRLRRLRRLLRRLRRRRRLLRRRLLLLRRLLRLLRLLLLRRRRRRLLRRLLLLRLRRRLRRLRLLLLLRLRRLLRRLRRLLRRRLRRRRRRLLRRRRLRRRLLLLRRRRRRRRRRRLRLRRLRLLLRRRLRLLLRLRRRLRLLLLRRLLRRLRRRLLRLLLLLLLRLLRLLLLLRRRRLLLRLLRRLLRLLRRLRRLLLRLRRRLLLRLRLLLLRLLLRRRRRRRLRLLRRRRLLLLRRRRLRRLLLLRLRLLLLLLLLRRLRLRRRLRRLRLLLRLLLLLLRLLRLLRRLLLLRRLLRRRLRRLLLRRLRRRRRLLRRRLRRLLLLLRRLLLRLLLRRLRLLLRRLRRLRLRLLLLLLLRLRRRRLRLRRLLLLLRLLLLRRLLRLLRLRLLLRLRLRLLLRRRLRLRRRRRRRRRRRLLRLRLRLRLRLRRRLLRLRRRRLLLLLLLLLRRLLLRLLLRLRRRRLRLRRLLLLLLLRLLRLLLRRLLLLRLRLRRLRLRRRRRLRLRLLRRLRRLLLLLRRRRRRRLLLRRLLRLLLLLLRRRRRLLLRLRRRLRRLRLLLLLRRLRRLLLLRLRRRLLLLLLLLLRRRLRLRRLRRLRRLRRLRRLRRLLLLRLRRLRRRRLRRRRLRLRLRRRLRRLLRLRLLRRRLRRLLLRLRLLRLRRRLRLLRLLLRLLRLRRLLRLRRRRLLRLRRRRRRLRRLRLRRLRRLLLRLRRRLRRLLRRLLRLLRLRRRRLRRLLRLLRRRLLLRRLRLLLLRRRLLRRRRLRRLLLLLRRLLRRLLRRLLLRRRRLLLLRLRLLLLRRLLLLLLRLRRRRRLRLLLLRRLLRLLRLLLRLRRRRRLRRLLLRLRLRLRRRRRRLRRLLRRLLLRLRLLRLLLRRLLLLRRLRRRRLLLLRLRRRLLRLLLLLRRLRRRLRLLRRRRRLRRRLLLRRRRLLRRLRRRRLLLLRRLLRRLLLLRLRRLLRRRRRLLLRRRRLLLLLLLRLLRLRRRLRLLLLRLRLLRLRLLRLRLRLRLLRRRRLLRRLRRLLLLRLRLLLLLRRRLRLLLLLLRLLRRRLLRRRLLRRRLRLRLRRRLRRRLRRRRRLRLLLRRRLRRRLLRLRLRLLLRRRRLRRRLRRLRRRLLLLLRLLRLLLLRRRLLRRLLRRRLRRRLRRRLRRLRLRRLRLRLLRRRRLRRLRRRRRRRLRRRRRRRLRRRRRLLRLLLRLLRLRRLRLLRRRLRLRRRRRRRLRRLRLRLRRRRRLLLRLLRRRLRLLRLRRRRRRLRRRRLLRLLLRRRRRLRLLLLLLLRLRLLRLLRRLRLLRRLLLLLRLLRLRRRRRLRRRLLLLLRRLLLLLLRRRRLRRLLRRRLRLRRLRLRRLLLLLRLRLLLLLRLLLLRLLRRRRLLRRLLLLLLRLRLRLRRRRRRRRLLLLRRRRLRLLLRRLLRRLRLLLRLLLRLLLLRRRRLRRRLRLLRLRLRRRRLRLRRRRRRRRRRLLRRLRRLLLLRRLLRLRRRLLLLLRLRRRRRLLRLRRRRLLLLLRRLRRLLRLLRRRRLRLRRRRRRLRRRRLRRLLRLLLLRLLLRRRLLRRLRRRLLRRLRLLRRRLLLRLLRRRRLLRRLRRLLLRLRRRRLLLRRRLRLRRRLLRRRLLRRLLRRRLRLRRLLRLRRRLRLRLRLLLLRLRRRLLLLRLLLRLRRRRRRLLLLRLLLRRLLRLRRLLRRLLLRRRLLRRRLLLLLRRRRLRLLRRRRRLRRRLRLLLRLLRRRLLLLLRRRLLRLLRLRRLRRLLLLRRLRLRRLLLRRRRLLRRRRRRRRLLLRRLRRRRRLRRLRLRRRLRLRRRRRRRLRRLRRLLLRRRRRRRLRLRLRRRLRLRRLLRRRRLRLRLLLLRRLRRLLLLRRRRLLRLRLRLLLLRLLLRLRRRRLLRRRLRRRRRRLRRRLLRRLLRRLLRRRLLRLRLRRRRLRRRLLLLRRRLLRLRRRRLRLLLLRLLLLRLRRRLLRRLRLRRRLRLLRLRLRRLRLRLLLLLLRLRLRRRLRRRRLRLLLRRLRRRLLRLLLRLRLRLRLLLLLLRRRLRLRLLLLRRRLLLRRRRRLLRLRLRLLLRRLRRLRRRRLLLRLRLRRLRRLRRRRLLLRRRRRLRRLLLRLLRRRRLRLRLLLRLLLLLLLRLLLRLLLRRLLRRRRLLLRRRRLRRLLLLRLRRRRLRLLRRRLLLRLLRLLRRRLRRRLLRLRLLLLRLLRLRRLLLLRLRRLLLRLRLLRLRLRLLLRLRRRRRLLRLRRRRRLRRRLLLLRLLRRRRRRLRRLLRRLRRLLRRRRLLLRRLRRRLRRLRRLLLRRRRLRRRRRLRLLLRLRLLRRRLLRLRRLLRLRLRRRLLRLLRLLRRRLRRRRRRRRRLLLLRLLRRLRLRLRLRLLLRLRRLLLLRRRLLLRRLRLLLRRRRRRRRRLRRLRRLLRLRLRRRRRLLLLLLLLLLRRLLRLLRRLRLRLRRRLLLLRRRLRRRLRLLLRRLLRLLRRRRLRRRRLLLLRLLRRLLRRRLLRLLRLLRRRLLRRRRLLLRRRLLRLRLRRLRLLLLLRRLLLRRRRLRLRRRRRRLLRLRRLRRRRRLRLRRLLLLRRLRRRLRRRLLRRRLLLLLRRLLLLLLLRRLLRLLLLLLLRLLRLLRLLLRLLLLRRLRLLRRRLRLLRLLLLRRRLRLLRLLRLRLLLLLLLRLRRRLRRLRRLRRRLRLLRLLRRRRLLRLRRRLRLLLLLRLLRRRRRLLLLLLLLRRRRRRLLRRRRRLRLRLLLLRLRRRLLRRLLRRLRRRRLLRRRLRLRLRRLLLLLLRLLLLLRLLRRRRLRRRLRRLRLRRRRRRLRRLLRRLRRRLLLRLLRLLRRLLLLRRRLLRRRLLRLLLRRRRRLLLLLRLLRRRRLLLLRLRRLRLRRLLLLRRLRRRRRRRRRLRRLRLLLRLLLLRLLLLRLLRRLRLLRRRRRLLLLLRRRRLLLLRRLRRRLRLRRLLLLRRLRRRRRRLLLRLLRRLRRLLLLLLLRLRLRRLRRLRLRRLLRRRRRLRLLLRLLRLRRRRLRLRRLLLRRRRRRLRLLRRRRLLLRRRRLLRRRRLLRRRRLLRRLRLRRLLLLLLRLLRLRLLRLLRLLRLRLRRRLRRLRRRRRRLRRRLLRRLLRRRLLLRLRRLLLRLLLLLRLRLLLRLRRLLRLRLRRRLLLRLLRLRRLRRRRLLRRLLLRRLRLRRRRRRRRRRRRRLLLRLLRRRLLLRLRLLLRRRLRRLRLLLLRLRLRLRLLRRLRLRRLRRLLRLLLRLRRLLLRRLRRRLRRLRLRLRLRLLLRLLLLRRLLRRRRRLRLLLRRLLLLLLLLRRRLRLRRLLLRLRRRRRLRRRRLLLLLLLRRRLRRLRLLLRLRLRRRRLRLLRLLRRRLLRRRLLRLRRRLLLRLRLLRRLRLRRLRRLLRLRLLLLRRRLLRLLRRLLLLLRRLLLRLLLLRRRRRLLRRRRLRRLLRRRLLLRRLLLLLRRLLLLRRRLLLRLLRLRLLLLLRLRRLRRLRRRRRRLLLRLRRRRLLLRLLLLLLRRLRLLRLLRLRLLRLRLLLLLLLLLRLLRRLRRLLRLLLLLRLLRRLRLRRRRRRRLRLLRLRLRLRLRRRLLLRRRLRRRLLLLRLRLRRLRRLRRRLRLLRRRLLLLLRRRRRRLRLRRRLLLLRRRRLLRRRRLLRLLLLRLLLRLLRLRRLLLLLLLLLRLLRRLLRRLLRRRLLRLLRLRRLLRLRLLLRRRRRRRLRRRLLLRRRRLRRRRRRRLLLLLLLLLRRRRRRRRLLLLRLRRLLLRRLRLLRRRRLRRLRLRLRRRLLLLRRLRLLRRLRLRRRRRLLLRLRRRRRRLLRLLLLRRRRLRLLRRLLLLRLRLLLLLLRRLRLLRLLLLRLRRLLRRRLRRLLLLRLRRLRRRRLRRRLRLLLLLLRLLLLLLLRRLRLRRLLRRRLLLLRRRRRRLLLLLLRLRRLLRRLRRLLLRRLLRLRRLRLRRRLLRLRLLLRLRRLRLLRLLRLRRRLRRRRLLLRRLLRLRLLRRRLRRRLLLRRRLRLRRRLRLLRRLLRLLRLLRRLRLRLRLRLLRRLLRRLRRRLRRRRLLRLRRRLRRRRRRRRRLLRRLLLLLRRRRLRLRRLLLRRRRLRLRLLRRLRLRRLLLLRRRRRLLRLRRLRRRLRRLLLLRLRRRLLRRRRRLLRLLRRLRLRLRRLRLLRRRLLRRRRLRRRRLLLRRRLRRRLRRLLLLLLLRLLRRRLLLLRRRLLLRRRRLLLLLLLLRLLRRRRRRLRRRRLLLLRRLRLLRLRLRRLLRLRRLLRRLRLLRRLLLLLLRLLRLRRRLRLLRLRRRLRLLRLLLRLRRRLLRLLLLLRRRRRLLLRLRLLRLLLRRLRLRLRLRLLRRRLRRLLLLRLLRRLLRLLRLRRLRLLLRRLLRLRLLLRLRRLRLLLRRLLRRLLRLLRLRRRRRLLLRRLLLRRRRRRRLRLRLLRRLRLRLLLLLLRRRLRRRLLRLRRRRRLRRRLRRLRRLRRLLRRLLLLRLLRLLLLRRLLRLLRLLRLRLLLRLRLLLRRRRRRLRLLRLLLRLRLLLLRLRRLRLLRRLRRLLRRLRLLLLLRRRLRLRLRLRLLRLLLRRRLLRRLLRRRRRRLLRRLLRLLRLRLLRLRRRLLRRLRLLRRLLLRLRLLLRLLLLLLLLRLLLLLLLLRLLLRRLRRLLRRRLRLLLLRLLRRLRRRLRLRLRRRRLLLRLRLLLRRRRRLRRLLRRLRRLRRLLRRRLLLRLLLLRLRRRLRRRRLLLLLRRRRRLLRRLLLLRLRRLRRRRLLLLRRLLRRLLLLRRRRRRLRLRLRRLRRLLRLLRLLRLRRRRLRLRLRLRLRLLRRLRLRLLRRLRRLLRRLRLLLRRRLRRRLRLRLRRLRRRRLRLLRRRLRRLRRRLRLLLRRLLRLRRLRLLRLRLRRLLLLRRLRLLRLRLRRRRLRLLRRRRRRRLLLLRRRRLRLRLRLRRLLLRLRLLRLLLRRLRRRLRLRLRLRLLRLRLLLLRRRLRLLRRRRLRLRLLRRLLLRRLLLRLRLRRRLRLRRLLRLRRLLLLRLLRRLLRRLRRLRLRRRRLRLRRLLRRRRRLRRRLLLRLRLLRLRRRLLRRLLRRLRRRRRLLRRRRRLLRRRRRRLLRLRRRLRRLLLLRRLRLRRLRLRLLLRLRRRRRLRRRLLRRRLLRLLLLRRRLRRRLRRRRLRLLLLLLRRRRRRLRLLRLRLRRLLLLLRRRRLRLLRRLRLLLLRRLLLLLRLLLRRRRLRRRRLRRLRRRLRRLRRRLLLRRRRLRRLLLRRRRRLLLLLRLRLLLLLLRLLLLLLRLLLLLRRRLRRRLLLLLRRRLRLLLLLLRRLLRRLLLRRLRRRRRRLRRLRRLLRLLLLLLLRLLLRRLLLRLLLLLRLLRLLLLRLRRLRLLRRLLRLRRLLLRRRLLRLLRLLRLLLRLRRRLRRLRLLLRRRRRLRLRRLRLRLRLLRRRRRRLRLLLRLLLLLRLRLLRRLRLRRLRRRLLLRLLRLRRLLLRLLLRRRLLRLRLLRLRLRLLRRRRRLRLLLRRRRRRLLLRRRLLRRLRLLRLRRRLLLRRRRRLLLRLRRLRRRLLRRRLRLRRLRLRRLLLLLRLRLLLRRLLLRLRLRRLRRRLRRLLLRLRLRRLLRLLLRRRLLLLLRLRRLLLLLLLRLRRRLRRLRLLLRRLRLLRLRRLRLLLRLRRRLLLRLLRLLRRLRRRLRRLRRRRRRLLRLRLRLRRLRRLLRRLRLLLLLLLRLLLRRRRRRLLRRRLRLRRLRLLRRLRRRLLLLLRRRRRLRRRRLRRRLLRLLRLLLRLLRLLRRLLRLLLLLRRLRLLLRLLLRRRLRRLLRRLRLLRLLLRRLLRLRRRRRRRLRLLLRRRRLLRLLRRLRLRRLLLLLRLRRLLRLLRRRLRRRRLLRLLLLRLRRLLRLRLLLLRRLLLLRLRLRRRLLLRRLRRLRRRRLRRLLRRLRRLRRLLRRLLRRLRRRRLLRRLLRRLRRLRRLRRLLRLRRLLRLRLLRLRLLRLRRLRLLRRRLLLLRRLLRLLRRLLRRLRLLRRRRLLLRLRLRRLLRLRRLRLRLRRLLRRLRRRLRLRRRRLLLRRLRRRLLRLRRLLRLRLRLLRLRRLLRLRLRLRLLLLRLRRLRLLLRRLLRRLLLRRLLRRRLLRRRRLLRRLRLLLRLLRLLLLRRLRRRRRRRLLRLLLRRRRLLLLLLLRLRRRRLRLRRLLLLRLRLRRLLLLRLLLLRLRRLRLLRLRRRLRRRRRLRLRLLRLRRRRRRRLLRRRRRRRRRLLRRLRLRLRRLLLRRRRLRRLRRRRRRLLRRRLLLRRRRRRLRRLRRRRLRLRRLRRLLRLRLRRRRRLLLLRRLLLRRLLRLLLLRRLLLLRRRRRLLLRLLLRLRRRLRLLRRLLLRRRLRLLRLRRRRLLRRRRRLLLRRRRRLRRLLRRRRLLLRRLRLLRRLRRLLLRLRLRRRRLRLRRRRLRLRRLRRRRLLLLRRRLRRLRLRRRRRLRLLLLLLRRRLRLRRRLRLRLRLRLRRLLRLRRRLRLLRRLRLLRRRRRLLRLRLRRRRLRRLLLRRRRLRLLRRRRRRRLLRLLRRRLRRRLRRLRLLRRLLLRRLRLRLRLLRLLRLLRLLRRRLRLLLLLLLLRRRLLRLRRRRRRLLLRLRRRRLRRLRLRLLLRLLLLLRLLRRLLRRRLLLLLRRRRLLRRRRLLLRLRRLLRRRLRLLLRRRLLLRLRRRLLRRRLRLRRLLLLLRRLRRRLRLLLLRLRLLRRRLLLLRRLRRLRLRLLRLRLLRRRRRRRRLLRRRLLLRLRRRLLRRRLRRRLRLRRLRLLLLRLLLRLRLRLLRLRRLLLRLLRLRLRLRLLLLLLRLRRRLRRRLLRRLRLRRRLLRLRRRRLLLRRRLLLRLLLRLLLLLLRRRRLLRLRLRRRRLRLRRRRLRLRLRRRLRRLRLRRRRRLRLRRLLLLLLRLLRLLLLRLLRRRRLRLLRRRLLLLLLRRLLLLLRRLLLRRLLLLRLRLLLRLLLLRLRRLLLRLLLRLRRLRLRLLLRLRLRLRLLLRLRLLRLLRLLLLRLLRLRLLRRRRLLLLRLLLLLLRRLRLRRRLLRRLLLRLLRLRLRRRRLLLRRLRLRRLLRRRRLRLLLRLRRRRRRRLLLRLLRRLLLRLRRLRLLRRRRLRRRRRRRRLLLLRRLRRLRLLLLLRRLLRRLRLRRLRRRLRLRRRLLLRRLLRLLLLLLRRRLRRRRRRLRLRRRLLLLRLRLRRLLRLRLLLRLLLLRRRLLLRRRLRLRLRRRRLRRRRLRRLRLRLLLLLRRLLRLLRLRRRLLRRLRLLLLRLRLLLRLLLRLLLRLLLLRLLLLLRLLRRLRLLRRRLLRLLRRLLRRLLRRRLRRLLLLRRLLRLRRRLLLRRLRLLLRRLLRLRRRLLLLLRLLLLLRRRRLRRRRLLRRLRRLLLRRLLRRLLRLLLLLLLRRLLLRRRRLLRLRRLLLLRRRLRRLLLRLLRRLRRRRRLRLLLLLLRRLLRLRRRRLRRLRRLLRRLRLRLLLRRRRLLLRLLRLRRLRLRLLRLLLLRLRRLRRLLLLRLRLLRRRLRLLLRRRRLRRLLRLRRLRRRLRRRRRRRLRRRRLRRLLLLLLLRRRRLLLRLRLRRLRRLLRRLLLLRLRLLLRRLLRRRRRLRRLLLRRLRLRLLLRLLRLRRRRRLLRRRRLLLRRLRLLRLRLLLRLRRRRLLRLLRRRLLRRLLLRRRRRRRRLLRRRRRLRLRRLRLLRLLLLRLLRRRLRLRRLRRRLRLRLRLLLLLLLLLLRRLRLRRRRRRRLRLRLRLRRLLLRRRLRLRLLLLLLLRLRLRRLLRRLRRLRRLRRLRLLLRLLRRLRRLLRRRLLRRRLRLRLLLLRRLLRLRLRRLRLLLRLLLRLRLRRRLLLLLLRLRRRLRLLLRRLRLLRRRLLLLRRRRRLLLRRLRRLLRLLLLRRRLRLLRRRLRLLLLLLRLRRLRRRRLLRLLLLLLLRLRLRLLRRLRRRLLRRLRLRRRRRRLLRRLRRRLRRRLLRLLLLLLLRLRLLRRRLRLRLRLLLRRLRRLRLRRLLLRLLRLRLRLLRLLLLLLRRRLLRLLRLRLRLLLRLLLRLRLRRRRLLLRRRLLRRRLLLLRLRRRLRRLRRRRRLRRRLLRLLLRRRRRRRLRRLRLLLLRLRRLLRLRRLLRRLLRRRLRRRLLLRLLRLLRRLRLRRRLRLRRRLRRLLLRLLRRRLRLRRRLLRLRLLLLLLLRLRRLLLLLLRRLLLRLRLLLRRLRRLRRLLLRLRLLRLRLLRRRRRLLLRLLRLLRRRRLRRLRRLLRLLRRRLLRRLRRLLRRLLLLRLRLLRRRLRLLLLLLRLLRLLLLRRRLRLLLLLRRLLLLLLRLRRRLLLRLLRRRLLRRRRLLLLRRRRRLRLRRRLRRRRLLLRRLLRLLLRLLRLLRRRLLLLRRRLLRLRRRRRRLRRLLLLLLRLRLRLLLLRRRLRLRRLLRRRLLLLRRRRRLRRLLRLRLRLRLLRLRLRRRRRRLRLLLLRRLLRRRLLLLRLLLLLRRRRLLLRRLLLLRLLRLLRRLRRLLLLRLLRRRLLRLLRRRLRRRLLRRLRRLLRRLRLRLLRLRLRRLRRRLLRRRLLRRLRLRRRRRRLLLRLRRLLLLRLLRLRRLLRRLLRRRLRRRLRLRLRRLLRRLRLLLLRRRRRRRRRRRRRRRRLRLRRLRLRRLLLRLRRLRRLRRLRRRLLRRRRLRLLLLRRLLLRLLLRRLRRLLLLRLRRRRLLLLRLLRRRLLLRLLRRRRLRLRLLLRRRRRLLRLLRRRRRRRLLRRLRRRLLLLRLLRRRRRLRLLRLRLLLLRLRLRLLLLRLLRLRRRRLLRLLRRRLLRLRLLLLRLLLRLLLLRRRLLRRRLLLLLLRRRRLLRLRLRLRLLRRLRRLLRLLLLLRRLLLRLLRLRLLLRLLRLLRLLLLRLRLRLLRLLLLLLLRLLRRLLRLRLRLLRLLRRLRRLLRRLRRLLRRRRRLLLLRRLLRRRLRRRRRLLRLRRRRLLRRRRRLLLRLRLRRRRRRLRRRRLRLLRLLRRRRRLRLLRLRRLRLRRRRLRRLRLRRLLRRRLRLRLRLLRLLLRLLRLRLRRRLLLRLLRRRLLRRRRLLLLLRLRRLRLRLLLRRLRRRRRLLRLRRRLRRRRLLLRRRRRRRLRLLLRRLRLRRRRRRRLRRRRLRRLLRRLRLRLRLLRRRRLLLLLRLRRLRLLRRRLLLRLRRRRLRLRRLRLRRLRLRLLLLRLLLLRLRLRRLRRRLLRLRRRRLLLRLLRRLRLRLRLLRLLLRLLRRLRLRRRRRRLLRLLLRLRLLRRLLLRLLLRLLLRLRRLRLRRRRRRLRRRLRLLLLLLRRLRRLRRRRRRRLLLRRRLRRLLLRLRLLLLLRLLRLRLRRLRLRRLLRLRLLRRLRLLLLLLLLLLLRRLLLLLRLRRRLRRLRRRLRRRRRLRRRRLLLLLLLRRRRLRRLLLRLRLLRRRRLLRLRLRLLLRLLLLRLLRLRRLRRRLLRLLRRRLRLRRRLRRRRLRLRLLLLLLLRRLLRRRLLRLLLLLRLLLRRRRRLRLLLRRRLRRLRLRLLRLLRLRLRLLRLLRLRRRRRLRRRRRRLLLRLRRLLLRRRRLLRLRLRLRRRLRLRRLLLLLLLRRRLLLRLRRLRRRRLRRLRRLRLLRRRRLRLRLRRLLLRRRRLRLRRRLRLLLLLLRLLLLLLRRLLRLLRRRRLLRRLLRLLLRRLRLLLLLRLRRLLLRLLRLRLRRLRLLRRRRLLLLLRLLLLLLLRLRRRRLLRRRLRLRLLRRRLLLLLLLRLLRRRLLRLRRLRLLRRRRRLLLLLRRRRLLRRLLRLRRLRRRLLRRLLRLLRRLLLRRRLRRLLLRRRLLRRLRRRLLLLLRLRRLRLRLLRLRRRLLRRRLRRLLRLRLRRRRLRLLLRLRRLRRRLLRRRRLLRLLLRRRLRRLLLRLRRLRRRLLLLLLLRLLLRRLLLRRRRLLLLRLLRLLLRLLLLLLRRLLLLRRLRLRLLLLRRLLLLLLLLRRLLRRRLLLRRLRRLLLLLLRRLLLLLLLLLLRLLRRRLRLRRRLLLRLLLRRRLLRRRRRRLLRLRLRLLRLLLRLRLRRLRRLLRLRRLLRRRRLLLRLRLLLRLLLLLRLLRLRLLLLLLLLLRRRLRRLLLRRLRLRLLLLLLRLRRLRLRRRRRRLLLLLLLRLLLRRRRLRLLRRLLLRLRRRRRLRRLRLRLLRLLLRLRLRLLLLLLLLRLLLLRLRRLRLRLLLLRLLRRLRRRLRRLRRRRRLLRRLRLLRRRLLLRLLLLLLRRLLRLRRRRRLLRLRLLLLLRRLRRLRRLLLLRRLRLRLLRLRRRLRLRRRLRRLLLLRLRLLRLRLRRLLLRLRRLRLRLLLLLLLLLRRRLLLRLLLRLLRRRLLLLRLLRLRLLRRLLRLRLRLLRRLRRRLRLRRRRRRRLRLLRRLRLRLLRRRLRRRRLRLRLRRRLLLLLLRLRLRLLLLRRLLLRLRRLRRLLRLLLLLRLLRLRRLRRLRLRRRRLLRLLLLLRRLLRRRLLRLLLLLLLRRRLRLRLLLRLRRLRRLLLLLRLRLRLRRLRLLLLLRLLRLLLLLLLLRRRRLRRLLRLRLLLLLRRRLRLRRRRRRLRRRRLLRLLRRLRRLLRRLLLLRRLLLRLRLLLRLLRRRRRRRRRRRLLRRLRRLLLRRLRLRLRLRRLLRRLLRRLRRRRLRRLLLRLRRRLRRLLLRRRRRLLRRLRLRLRRRLRRLLLLRRRLLRRRLLRRRLLRRRLRLRLRLLLLLRRLLLLRLRLLLLLRRLLLLLRLLLLRLRRLRRRLRLRLLLLLLLLRRLLLRRLRRLLRRRRRRRRRRLLRRRRRRRLRRLRRRRRLLLRRRLRRLRRRRRLLRRLRRRRLLLRLRRLRLLRLRRRRRRRLRRLLRLLRLLRRLLRLLLLLRLLLLRRLRRRRRLLRLRRLRRRLLLLRRLRRRRRLLLLLLRRRLRRLRRRLRRRRRRLLLRLRRRRRLRLLLRRLLLRLRLRLLLRRRRRLLRRRLRLRRRLRLLLLLRLRRLRLLRRLLRLRRRRRLLRLRLRRRLLLRLRRRRLLLLRRRLLRRLRLRLLRLLRLRRLLRRRLLLRRRRRRLLRLRLLLLRRLRRLLRLLRLLLRLLRLRRLLRRRRLLRRRLRLLLRLRLLLRLLRLRRLLRLLLLRRLLRLRLRLRLRRRRLRRLLRLLLLRRRLRRLLLLLLRRRRLRLRLRLLLLRRLLRRRRLRLRLRLRRRLRRLRLLRRRLLLLRRLLLLLLLRLRRRLLRRRRRLLLLRLLRLRRLLLRRRLRRLRLLLRLLRRLRLLRRRRLRLLRRLLLRRLLLRLRLLLLLLRLRLRRRLRLLLLRRLRRLLRRRRLRRRLRRLRRLLLRLRRLRRLLLRRRRLRRLLRLRLRLLRRLLRRRRRRLRLLLLRLLRLLRRLRRRLRRLLLLRRLRLLRRLRLRLLRRLRRRLLRRLRLRLLRRLRRRRLRLRLRLRLRLLRRRRLRLLLRLLRLRLLLRLRRRRLRLRLLRRRLLRRRLRLRLLRRRRLRRRLRLLLRRLRRLLRLRLLRLLRLLRRRLRRRLLLLLLLLRRRLRLRLLLLRLLRLRRLRLRLLLLRLLRLLRRRRLLLRRLLRRRLLRRLRRLRRLLLRRLRRRLLLLLRRRRRLLRRRRRLRLLLLLLRLLLLLRLLRRLLLRRLLLRRRRRLLLLRRLLLLLRRLRLRLRRRRRRRLLLLRRRLLRLLLLRRRLLLRRRLLRRLRRRLRRLRRRRRLRLRRLRLRLLLRRRRRLRRLLRLRLRRRRRLRRRRLLRRRRRLRLRLLLLLLRRLLRLLRRLRRLLRLRLRLRRLRRRRRLLLLLRLLLLLRLLLLLRRRRLLLLLLRLRLLRRRRRRLLLRRRLLLRRLRLRRLRRRRRRLRLRLRRRLRRRRLLRRLRLRLRLLLLRRLRRRRLLRRLRLRLLRLLLRLLRLLLLLRLLLRRLLLRLLLRLRRRLLRRLLLLRRLRRRRRLRLLRRRRLRLRRLLLRLLLRLLLRRRLRRRLLLLRRRRLRLLLRLLLRRLLLLLRRLRRRRRRRRLLLRLLRRLRRRRRLLRRRRLRRLLRLLRLRLLRLRLLRRLLRLLLRLRLLRLLRLRLLLRLRRLRLRRRRLRRRRLLRRLRLRRRRRLRLRRLRLRLRLLRRRLRLLRRRRRLLLLRRRRLRLRLRLLRRRLRRRRRRRRRRRRLRLRLRLLRRRLLLRRRLLRRRLLRLLRLRLLLRRRLLRRLLLLRRLLLRRLRRLRRRRLRLLRRLLLLRRLRLRRLLRLLLLLRLLLLRRLRLRRLLRLLLLLLLLLRRLLLRRRRLRRRRLRRLLLLLLLRRRRLRRLLRRRLLLRRLRRLRLLRRRLLRRRLRLLRRRRRRLLRRRRLLLLRLLRRRRRLRLRRRRLLRRLLLRLLLRRLLLLRLRRLLRLRRRLLRRRRLRLRLRLLLRRLLLLRRRRLLRLRRRRRRRRLLRRRRLLLLRRLLRRRLRLLLRRLRLRLLLRRRLRLRRLRLLRLLLRRLRRLRLLRLRLRRRLLLLLLRLRLLLRRRRLLRRRRLRLRRLLLLRLRRLRLLRLRRRLLRLRRRRRLRLRLRRLLRRRRLRRRLLRLRLLLLLRLRRRLLRRRRLRLRRLLRRLRRRLLRLLRRRLRLRRLLRLLLRRLRLRRLLRLLLLRLRRRRLRRLLLRRRRRRLLLRLLRRRLRLLLLLRRLLLLRRLRRLLRRLLRRRRRLRRRRRRLLRRLRRRRRLRLRLRLRLRRLLLLLLLRLRLLRLLLRRRRRLLRLRRRLRLLRLLRRRLRLRRRRLLLLLRRLRLRLRRLLRLRLLRRLLLLLLLLRRRRRLRLRRRLRLRRRRRLLRRLLRRLRLLRLRLLLRRLLRLRLRRLRLRRLRRRRLRRRLLLLRLRRLRRRLRRRRLRRLLRLLLRLRLRRLRLRRRLLLRRRLLLLRRLLLRRLRLLLLRRRLRLRRRLRRRRRRRLRRLLLLRRRRLLRLLLRRLLRRRRLLLLRLLLLRRRRLRRRLLLRRRLLLLLLRLLLRLLRLRRRLRLLLRLRLLRLLLLRRLRRRLRRLLRLRRRRLRRLLRRLLRRRRRLLLRLLLRRLRRLRRLLLLRLRLLLLRLLRLLLRRRRRRLRRLRLLRLRRRRRLRLRRRLLLRLLRLRLRLLLLRLRRLLRRRLLRRLLLLLLRLLLRRLLLRRRLRRLRLRLLLRRLLLRLRRRRRLLRRLLRRRRLLLRRRRLLLLRRRLLRRLLLRLRRLRLRLRLRRLLRLRLLLRLLRLLRLRRLLRRRLRLLRLRRLLLRLRRLRRRRLLRRLRLRRRLRLRRLRLRLRRLLRRRLLRLRRLRLLLLLRRRRRLLLLLLLLLRRRRLLRRRLLRRLRLRLLLRLRLRRLLLLRLRLRRRLLRLLRRLRRLLRLLLLLLLRLLLRLLLRLRLLLLRLRRLLLRLLRRRRRRLLRRLRLLLRLLRRRRLRRLRLRRRLLLLLRRLRRLLRRLLRRLLRLLLRLLLRRRRRLLRLLLLLLRLRRRRRLRRRLRRRLRLRLRRRRRLRLLLRRLLRRRRRLLLLRRLRRRRRLRRLLRRRLLRLLLLRLRLLRLLLRRRRRRRRLLLRLRLRRRLRRLRRLLRRLRLRRRLLRLRLLRRRRLLLRRRLLLRRLLRLRLLRRRRRLLLRRLRLRLRLRRLLRLRLRRLRLRLRRLLLLLLRLRRRLRRRRRLLLRLLRLRRLLRLRRRRLRRRRLLRRLRLRRLLLLLRLRLRLRLRRLRLLRLLLRRLRRLLLRLLLRRLLLRRLLRLRRLRLLLRLLLLRLLRRRLRLLRLLRRRLRLRLRRLRRRLLLRRRRLLRRRRLLRRRLRLRRLRLLLLLLLRRRRLRLRRRLLRRLLLRRLRLLRLLRRRLRRRLRLLLRRLLLRLRRLLRRRLRLLRRRLRRLLRLRRRLRLLRLLLRLLRRLRRLLLRRLRRRRLRLLRLLRLLLLLRLLRRRRRRLRRLLLLLLLLRLLLLLRLLLLLLLLRLRRRRLRRLRLLLRLLLLRLRLRRLRLLRRLLRRLLRLRRRLRRLRRLRRLLRLLRRRLLRLRRRRLLRLRLLRRLLLLRLLLLLLLRLRLRRLRLLLLRLRRLLLLRLLRLRRRRRLLRRLRLLRLRRLLLRLRRLRRLRLLRRLLLRRRRLLRRRRRLLLLLLRRLLLRRLRRLLLRLLRRLRRRLRRRRRLLRRLRLLLLLLRLLRLLLRRLRLLRLRRLLLLLLRLLRRRLRRRRLRLLRRRRRRLRLRRLLRLLRRLLRRLLRRRRRLLLLLRRLRRLLRRLRLLRLRLRRRLRLLRLLLRLRLRLLLLRLLRRLLLRLRLLRLRRRRRRLLLLLLRLRLRRRLRRLRRRLLRLRLRLLRRRLRRLLLRLLLLLLLLLRRRLLRLRRRRRRLRLLRLLRLLRLRLLRRRRRRLLLLRLRRRRLLLLRLLLLLLRRRLRLRLRLLRRLRLRRRRLRLLRRRRRLLLLLLLLLLRLRLRLLLLLLLRLLRRLLRLRRLRRRRLLLRRLRLLLLRLRRLRLLRLLRLLLRRRLLRRRLRLLRRRRRLRLLLRRRRLRRLRRRRLRRLLLLLRRRRRRRRLRRRLRLRRLLLRRRRLLLLLLRLRRRLLLLRLRRRLLRRLLLRRLRRLRRLLRLLLLLLLRRRLLRLLRLRRRLRLLRRRLRRRRRLLRLLRRRRLLRRRRRRLRRLLLRRRLLRLLLLLRLRLRLRLLRLRLLRRRRRRRRRRLLRRRLLRLLRLRRLRRLRLLRLLRLLLRLRLLLRRRLLRLLRRRLRLRLLRLRLRRRLLRRLLLRRLLLLLLLRLLRLRRLRLRLRRRRLRRLLRRRLLRLRRRLRRLRRRRRLRRRLLRLLRRRLRRRRLRRRLRLRLLRRLRRLLLLLLRLLRLRLRRRLRLLRRRRRRRRRLRLRRRRRLLLLLRLLLLRRRLRLLRRRLRRRLRRLLRLRRLRLLLRLLLRRLRLLRRRLRLRRRRRLLLRRRLRLRRRLLRRRRLLRLLLLRRRLRLLRRLLLRRRLLLLLRLRRRLLLLRLRLLRRLLLRLLLLRRRRLRLRRLLRLRLLLLRLRRLLRRLRLRRLRLRLRLLRLRLRRLLRLRLLLLLRRLRRRRLLLLLRRLLRRRRRLRRRLRRRRRRRLLRRRLRLRLRLRRLRLRLRRLLRRRLLRLLRLRLRRRLLRRLLLRLRRLLLRRRRRRRLRLLRLLRRRRRLLRRLLRLRLLRLRLLRRRLRLRRRRRLRRLLLLRRLRLLRRRLRRRLRLLRRLLRLRLLLRLRRRLRLLLRRLLLLRRLRLRRLRLRRLRLLRLRRLLRRLRRLLRRLRLLRRLLRRRLLRLRLRLLLLRRLRLRLRLRRRRLLLRRRRRLLRRLRLRRRRLLRRLLLLRLRRLRRLRRLLRLRLRLRLLLRRRRLRRLLRLRRLRLLRRLRLRLRLLLLLRRLRLRLRLRLLRRLLLRRRLLLLLLRLLLRRLRRLRRRLRLLRRLLRRLRRRRRRRLLRLLLRLRLLLLLRLLLLRRRLLLLRRLLRRLLRRRRLLLRLRRLRLRLRRLLLLLRRRLRLRLRLRLLRLLRLRLRRLRRRRRLRRLRRRRLLLRLRRRRLLRRLLLRLRLRLLRRRLLLRLLLLRRLRRLLRRRLLRRRRLRRRLRLRRRLRLLRRLLRLRLLLLRRLLRLLLRRLLLRLLLLLRRRRRRRLRRRRLLRLRRLRLRRLRLLLRRLRLRRRRRRLRLLLLLRRLLRRLRRLRRLRLLRLLRLRLLLRRLLLRLRRRLLRRRRRLRLLRLLRRRLRRLLRLRRRLRLLLRLRRLRLRRLLRLLRRRLRRLRLLRRLRRLRLLRRLLLLRLLRLLLLRRRRLRLRRRLLLLRRRLRLRLLRLLRLLLRRLRLRLRLRLLRRLLLLLRRRRRLLLLLRLRLRLRLLLRRLLLRRLLLRLRLLLRLLLLLLRLRLRLLLLRRLRRRRLRRLRRLRLLRRRLLLRRLLLLLLLRRLLLRRLRLRRLRRLRLRRLRLRLLLLLRLLLLRRLRLRRRLLLLRRRLLLLLRLLRRRRRLLRLRLRLRLLLRRRRRRLLRRLRLLLLRRRRRLRRLRRLRRLLLRLRRRLRRLRRLRLLLRLRLRLLRLRLRLRLLLLRLRRRLRRLLRLRRLLRLRLLRRRRLLRRRRRLRRLRRLLLLRRRLLLLRRRRLRLRLLRRRRLRLLLLRRRLRLLRRRRRRLLRRLRLLLLLRLRRRRLLLLRRRLRLLLLRLLLRLLLLRLLLLLLRRRLRLLLRLLLLRLRLRRRLRLRLRRLLLLLRLRLRRLRLRRLRLRLLRLRLRRLRLLRRLLLRRLRRLLLRRRLLLRLRLRRRRRRRRRRRLLLLRRRLLLRRLLLRLRRLRRLLRRLRLLLLLLLRLLRLLRLLLLLLLLLLRRLLRRRLLLLRRLRLLLLLLRRLLLRRLLRRLLLRLRRLLLLRLLLRLRLRLRLLRRLLRLLLLRLRRRRRRLRLLRRRRRRRRLLRRRRRRLRRRRLRLRRLLLRRRRLRRRLLRLRRRRLRRLLLLRRLRRRRLRRLRRLRLLRLRRRRRRLLLRRRLRLLRLLLLLLRLLLRRLRLRLRRRRRRLLRLRRLRRLRRLRLLRLRLRRRRRLLRLRLRRRLRLLLLRRLLLLRRRRLLLLLRRRLLRRLLLLRRRLRLRLRRRLRLLRLLLLRRRRLRLRRLLLRLLLLRLLRRRLRLLRLRLRRLRRRLRLRLRLLRRRRRRRLLRLLRLLLRRLRLLLRRRLRRRLLLLRRRLLRRLLLRRLRLRRRRLLLRRLLRRLRRRLLLRRRRLRLRRLRRLLRRLRLRLLLLRRLRRLLLRLLLRRRLRRLRRLLRLLLLRLRRRLLRLLLRRRLLRRRLRRRLRLLLLRRRRLLLRRLLRRRLRLLLRLLLRLRLLRLLLLRRRLLRRLLLLLRLRRRLLLLLRLLLLRRLLRRRRLRLRLLRRRRRLRRLRRLLRLLRLLRRLLRRLRRRLLRRRLRRRLLLLLRRRRLRRLLRRRRLLRRLRRRRRLRRLLRLRLRLLLRLRLRLRRLLRRLLLLRLLRLLRLRLRRRRLRRRLRLLRRRRLRLLRLRLLLRLLRLRLRLLRLLRRRRLLRRLLRRLRLLLRLLRRRLRRRLRLLRLLLLRLRLLRRLLLLRLRRRLLRLRRLRLLRRLLRRRRLLRRRLRRLRLRRLLRRLLLLRRRLLLLRLRRLRRRRRRRRRLLRRRRRLLLRRRLRLLLLLLRLLRLLRRLLLLLRLRRRLRRLLLRLLRLRLLLRLLLLRLLRLLLRLRRRLLLLLLLRRLLLLRLRRLLRLLLRLRRRRLRRLRLRLLRLRRLRLRLLLRLLLRRLRRLRRLLLRLLRRRLRRLLRRRRRRLLLRLRLRRLRRRRLLRLRRRRRRRLRRLRRLLRRLRLLLRLLLLLRRLLLLRRLRLRRRLLLRRLLLRRRRRLLLLLLLRRLLRLRLRLRLLLLLLRLRRLRLLRLLRRLLRRRLRLRRLRRLRLLRRLRRLRLRRRRLRRRLLRLRLLLLLLRRRRLRLRRRRLRLRRRLRRLLRLLRRRLRLLRLLRRLLLLLRRRRLRLRLLRLRLRRRRRRLLLRLRLLLRRLRLLLLRRLLLLRLRRLLRLRLLLLLLLLLRRRRLLLRRRRRRRRLRRLLRLRRLRRRLLRLLLLRLLRLRLLLLLRRRLRRRRRLRLLLRRRRLRLLLRLLRLRLLRLLLLRLLLRRLLRRLLRLLRRLLRLRLRLRRRLLRRRLRLRLRRRLRRRLRLRLRLRLLLRRRLRLLLLRRRRLLRLLLLRLRLRRRRRRRLRRRLLLRLLRLRRLLRRRRLRRLRLRRRLLLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRLRRLRRRLLLLRRLRRRLRRLLRLRLLRRRRRRRRLLRLRLLLLRLLRLRLRRLLRLRRLLRRRRLLLLRLRRLLRLRLLLLLLLRRRLRRLLRLLLLLLRRRRRLRLRRRLLLRLLRRLRRLRRRLLLRLLRRRLRRRRLRLLRRRLRRLLRLRRRRRRRLRLRLRLLLLRRLLRRRRLRRLLLLRRRRLRLLRLLLLRLRRLLLRRRLLLRRLRRRLLLRRRLRRLLLLLRLLRRRLLRRLLRLLRRLRLLLRLLRLRLLRLLRRLLLLRRRRLRRLRLRLRRLRRLRLRLRLRLLLRLLRRLLLLRLLLRLRLLRLLLLRLLLLRRRRLRRRLRRLRRRLLLRLLLLRRRLRRLLRRRRLRLRLLLLRRRRLRRLRRRLRRRRRRLLRLRLLLLRRLRRRRLRRRLRLRRRRLRLLLLRRLLLRLRRRRLLRLRRRRRRLRRLRRLLLLRRLRLLLRRLLRRRLLLRRLLLRLLRRLLRLLRRLLRRLLLRRRLLLRRLLLLRRLLLLLRRLRLLRLLRRRRRLRLLRLRRLLRRRRRLRLLRLRRLLRLLRLRRRRRRLLLLRLLLLLLLLRRRLRRRLRRRRRLLRLRLLRRRRLRLLLLRRLLLLRLRRRRRLLRRRRRRRRRRRLLLRRRRRLRRLRRRLRRLLRRLLLLLRRLRLLRLLRRLLRLLRRLLRLLRRRLRLRLRRRLRRLLRLRRLRLRRRRRRLRLLRLLRRRRLLRLRLRRLRLLLRLRRRRLLLRRRRRRRRRLRLRRRRRRLLLLRLRLRRLRRLRLRLLLRRLLRRRRRRLLLRLLRLRRRRLLRLLLRRRLRLRRLLRLRLRLRLLLRLRRRRRLLLRRRLLRLLRLRLLRRRRLLLLLRRRLRRLRRRLRRRRLLLRRLRRLLLLRRLRRRRRLRRLRLLRRRRLLLLRLRRLRRRRRLRLLLLRLRLRRRRRRRLLRRLLLRRRLLLRRLRRRRRRLRLLLLLRLRRRRRLLLRLRRLRLLRLLLRRRLLLRLRRRRLRLRLLRLLLLLRLLLLLLLLLLLRLLLLLRLLLRRRLLLLRRLRLRRLLLLLLLLLLLLLRLRRLLRRRLRRLRLRRLRRRLLRLLLRLLLRLRRLLRRLRRLRLLLLLLRRRLLLLRRRLRRLLLRLLLRLLRLRRLLLLRLLLRRLRRRRLLLLLRLRRRRLRRLLRLRRRLLRRLLRLLRRRLLRLRRRLRLLRLRLRLRLRRLRRRRLRRLRRLRRRLRRLLLRLLLLLRRLRLLRLLLRLLLLRLRLRRRLLRLLRRRRLLLRRRLRRLLLRRRRRRLRLRRLRLLLLLRRRLLRRLLRLLLLLLLLRRRRRLRLLRLLRLLLLLRRRRLLRLLLRRRRRLRLRLLLRLLRLRLLLRLLRRLLRLLRLLLRRRLRLLRLLRLLRLLLRLLLRLRLRRRRLLRRRRLRLRLRLLLRLRRRRRRRLLRRLLLLLRLRLLLLLRRLRLRLLLRRRLRLLLRRRRRLLLRRLRRLRLRLLRRLRLLRLLRLLRRLRLLLLLRLLLRLRRRLLLRLRLRLLRRRRRRRRLLRRRLRLRRLLRRRRLRLRLRLRLRRRRRLRLLRLRRLLRRLRLRLRRRLLLLRLLRRLLRRLLLRRLRRLRRLRLLRRRRRLRRRLRRLLLRLLLLRLRLRLLRLLLRRRLRRLLLRRRRLLRLRRRRRLRLRLLRLLRLLLRRRRLRLRRLLRRLLLLLLRRLRRRRRLRRLRRLLRLRLRLRLRRRLLRLRLRLRRRLRRLRLRLLLLRRLLLLLRLLRRLLRLRLLRRLRRRRRRRLRLLRLLRRRLLLLLLRLRLLRRLRRRLRRLRRLLRRLRLRLLLRLRLLLRLLLRLLLRLRLRLRLRRRLLRLRRLLRLLRRRLLRRRLRRLLRLLLRRLRLLLRLLLLRLLLLLRRRRLRRLLLRRRLRRLRLRRRLRLRRLRLLLRRRRLLRRLLLRLLRRLLRRLLLLLRLLLLRRLRRLRRLLLRRLLRRRRLRRRLLRLLLLRLLLLLRLLLLRLRLRRRLLRRRLRLLLRRRLLLRLLLLLRRLRLLRRLRRRLLRLLRRRRRRLLRLRRRLLLLRRLRRLLLRRRLRRRRLRLLRLLLLRLLLLRRRRRRRLRLRLRRRLRLRLRRLRLRLRRRRLLRLRLLLLRRLLLRRLLRLRRLRRLRRRLLRLRLLRRLRLLRRRLRRRLLLRLRLLRLRRLRLLRLLRLLRLRRLLLLLRLRLLRLRRLLLRRLRRLLRRLRRLRLRLRLLRRLLLRRRRRLLRLRRRLRLLLRRLLLRRRRLLRRLRLLLLLRLRLRLRLRRLLLLLRLRLRLLLLLLLLLRRLRRLRLLRRRLRLRLRRRRRRLLRRLLLRRRLLLRRRRLRRRLLRRRLLRRLRRLLLLLLLLLRLRRLLRRRRRRLLLLRLLLRLLLLRLLLLRLRLRRRRLRRRLLRRLLLRRLLRRLRLLRLRLLRRLRRRLLRRRRRLLRLLLLRLLRRRRLRLRLRLLLRLLRLLRLRLRRRLRRRRLRRLRRRRLLRRLRRRLRLRLRLRRRLRLRLRLLLLRRRLRLRLRRRRLLLLLLLLLLLLRLLRLRLLLLRRRLRLRLLLLLLRRRRLRLRLLRLLLRRLLLRLLLRLLLLLLLLLLRLRRLRRLRRRLLLLRLRRLRLLRRLLLRLRLLLRLLRRRLRRLRLRLRRRLRLLRLRLRRLLRRRRLLRLLLRRLRRRLRRLRRRRLLRLRLLLRRRLLRRRRLRRRLRRRLLLRLLLLRLLRRRRRLRLLLRRLLRLRLRLRRLLRLLRLLRLLRRRLLLRRLRLRRRLLRLLRRLRLRRLRRRLLLRRLRLLLRRRLLRRRLLRRLRRLLRLRLLRRLRLLLLLRRLRRLRLRLRLRLRRRRRLLLLRLLRLLLLRLLLLRLLLLRLRRLLLRRLLRLLRRRRLLRLRRRLLLRLRLLLRRRLRRRLLRRRLRRRLLLRRLRRRRLRRLLRRRRLRLLLRLRRLRLRLLLLLRLRLRRLRRRRLLLRRLRLLLLLRLRLRLRRLLLLLLLLLRRRRRRLRLRLRLLRLRRLLRRLRLLRLLLRLRLLRLRRLLRLLRLLRRLLLRRLLLRRLRLLRRRLRRLLLLRLLRRLLLLLRLRLRLRLLLLLLRRRRRLLLLRLLLRLRRLLRRRLRLRLRLLRLLLLRLLRLLLRLRRRLRRRLRRLRRRLRRRRRRRLLRRLLLLRLRRLRLRLRLRRLLRLRLRLLLLRLRRRRRLLRLRLRLLLRRRLRRLLRLRRRRRRLLLRLRRRLLLLLLRRLLLLRLRLRRLRLRLRRLRRLRRRLLRLRRRRLRLLRLLLRRLLLRRLRLRLRRLLLRRLRRLLLLLRRLRLRLRRLLLLLRLRRRRLRRLRLLLRRRLLRLLRRRLLLRLRRRRRLRLLLRLLLLLRRLLRLLRRLRLRLRRLRLLLRRRRRRRRLLRLRLLRRRLRLLRRLRLLLRRRRRLRLRLLLRRRRRLLLLLLLRRRLRRRLLRRLLRRLLLLLLLRRRLLRRRLLRRLLLLRLRRLRLLRLRRRLRRLRRRLRLRRLLRLLLRRLLRLLRLRLLLLLLLLRLRRRLRLLLLRRRLLLRRLRLRLLRRLLLLRRLRRRRLLLLRRLLRLLLLLLLLRRRLRRRLLLLLLRLLRLLRRRLRRLLRLRRLRLRLRRLLLLLLRLLRRRLRLRRLLLLLLLLRLRRLRRLLRRLRRLRLLRLLLLRRLRLRLLLRLLRRLLRRLLRRLLRLRRLRLLRLRRLRLRRRRLLRLLRLLLLRLRRRRRLLLLLRRRRRRLRRLLRLRRLRRRLLLRLLRRRRLRLLRLRRRRLRLLLLLRRLRRRRRLLRRRRRLRLRLLRRRLRRRLRLLRRRLRRLRRRLRRRRLLLLLRLRLLRRRRRRRLRLRLLRLRLLLRRRLRLLRLLRLLLRRLRRRRRRRLRRRLLLLLRRRRRRLLRRRRRLLRRRRLRLLLRLRLRLLLRLRLLRLRLRRRLLLLRRRRLLRLLRLLRLRLRLLLRRRRLLRLRLLLLRLRLLRLLLRRRLRLRLRLLLRRRRLLLRLLRLRLLLLLLRLRLLLLLRRRRLRRRLLLRRLLLRLRRLLLRLRLLLRLLRLRLLLRRLLRLLRRRRRRRRRLRRRRRRLLLLRRRRLRRRRRLRLRRLLLLLLRRLRRLRLLLRLRRRRRRRRRRRLLRLRLLRLRRLRLLLLRLRRRLLLRRRLRLLLRRRLRLLRLRRRLRRRRLLLLLLRLRLRRRLRRRLRLRLLRRLLLRRLRLLRRLLRRRLLRLRLLLLRLLLLRRLRLRLLRLLLLRRRLLRRRLLRLRRRRRLRLRRLRLLLRRLLRRRRRRLLRLLRLRLRLLLRRLRRLLLLRRRRLLRRRLLRLRLLRRRRLLRLLLLRRRRLRRLRRRLLLRRLLRLLRLLLRRLRRRRRLLRRRLLRLRLRRRRLLLLLLRLLRLRRRLRLRRRRLLLLLLRLRLRRLLRRRLLLRLLLRLLRLRRRLRRLRLRRLRLLLLRRRRRRRRLRLRRRRRRLLRLLRLRRLRLLRRRRLRRRRRLRRLRRLRLLLRRRRRLRLLRRLRLRLRLLRLLLRRLRLRRRLLLRLRLRLLLRLRLRLRLRRRLLRLLLLLLLLLLLLRLRRLLLRLRLRLLRRRRRRRLLLRRRLLLLRRRLLRRRRLLRRLRLLRLLLLLRLRLLLRLLLRRRLRRRLRRLLRRLLRRLLRLLRRRRRRLRLLLLLLRRRRLRRLRLLRLRRRLLLLLLRLRRRRLRRRLRRRRLRLRRRLLLLLLRRRLRRLRRRLLRLLLRLLLRLRRRRLLLLLLRLLRRLLRRRRRRRRRLRLRLLRLLLLLRRLRRLRRRLRLRLLRRLLLLLLRLLRRRRRLRLRRLLRRRRLLLLRRRLRLLRLLRRLRRLRRLRRRLLRLRRRRRLLRLRLRLLLRRRLLLRLLRLRRRLRLLRLLRLLRRLLLRRLRRLRLLLLRRLRRLRRRLLLLLLRRLLLRLLLLLRLRLRLLLLRRLRLLLLRRLRRRRRLLLLLLLRLLLLRLRRLRRRRLRLLRRLRRRRLLLRRLLLRLLLLRRRRRRLLRRRRRLRLLRRRLRRRRLLRRLRRLLLRLRLRLLRLRLLLLRLRLRRRRLLRLLLLLLLLLLRRRRLRLRLRLRLRLRLRLRRLRLLLRRLLLLLRLLLLRLLLLLRLRLLRLLRLLRRRRLRRRLLRLRLRRRLLLRLLLLLLLRLRLLRLRLRLRLRRLLRRRLLRLLRRRRRRRLRLLRRLLRLLLLRLRRRLLRLLLRLLLLRRLRRLRLRRLLRRLRRRLLRRRLLRLRRLLRLLRLLRRLRRRLRLLLLLLLLLLRLLRRLRLLLLLRLRLLRRLRLRRRLRLRLRRRRLRRRRLRLRLRLRLLRRLRRLRLRRLLRLRLRLRRRRLLRLRLRLLLRRRLLLRLLLRLRRRLLLRLLRRRRLLLRLRRLRRRRLLLLRRRRLRLRLRRRLLRRRLLLRRRLRRRLRLLRRLRLLRRRRLLRRLLRLRRRLRRLRLLRLRLRLRRLRLRLLRRLRLRRLRRRLRLRLLRLLLRRLRLLLLRLLRLLRRRRRRLLRRLRLRRLLRLRLLLRLLRLLLRLLLLRRRRLRLRLLLLRLLLLRLRRRRRRRLLRRRLRLRRLRRLLRLLRRRLRRLLLRRRRLRRRLRRLRRLRLRLLRRRRRLRRLRRLLLRLRLRLRLLLRRRRLLRRLRLLLRLRRRLLRRRRRLRRRLLRLRLLRLRLRRLLRRRLRRRRRRLRLRRLLLRLRLRRLRRRLLRLRLRRLRLRLLLLLLRRRRLLLLLRLLLLRLLLLRLLLRRRRLRRLLLLRRLRRLRLRLLLLRLLRRLRLLRLRLLLRRRRLLRLLRLLRRRRRLRRLLLRRRLLLLLRRRLLLRRLRRLLRLLLLLRLRLRRRRRRLRRRLLRLLRRRLLRRLRRLLRLLLRRRLRRRRLLRRRRLRLRRLRRRLLRRRRRLRLLRRLLRLLLRRRRLRLRLRLRLLLRRLRRRLLRLRRLLLLLRLLRLLLRRLLLRLLLLLLLLLRRRLLLLRRRLRRRRRRRRRLLRLRRRRLRRRLLLLLRLLLLRLRLRLRRLLRRLRRRRRRLRRLLRLRRRLRRLRLRRLLLRLLLLLLRRRLRLRRLRRRLRRLRRRLLLLRLLLLLLRLRRRLLLLRRLRRLLRLLLRRRLRRLRRLRRLLRRRRRLLLRRLLLLRLRRRLRRLLRLRLLRLRLLRRLRLRLRRLRLRLLLRLRLLLRRLLRLLRRLRRLRLRRLLRLRRLRLLRRRLLLLLRLRLRLLRLRRLRRLLLRRRRRRRLRRLRLLLRLRLRRLLLLRRRLLLLLRRRRRRRLRLRLRRRLLRRRRLRRRLRRRLRLLRRLRRLRLRLRRRLRLLLLLLLLLLLLRLLRLLLLLLRLRRRLRRLRLRRRLRLRRRLRLLRLRLLRLRLRRRRRLLRLRLRRLRRLRRLRRLLLLLRRRLRRRLLLLRRLRLLLRLRRLLLRRLLRRLLRLLRRRLRLLRRLLLLLRRRRLRLRLLLRLLLLLRLRRRLRRRLRRLRLRLRLRRLRLRRRRLRLRRRRLLRLRRRRRLLRLRLRLLLLLLRLLLRLRRLLLLRRLLLLLRLRLLRLLRLRRRLLRLRLRLRRLRRLLLRRLLRLRRLRRLRLRLLRRRRLLLLLRRRRLLRRLRLRLLRLRRRRLLLRLRLLLRRRRRRLRLLLRLRRRLRRRRRLRLRRRRRLLLLRLRLRRLRRRLLLLRRLLRLRLLRLLRRLLLLRRLRRRLRLLLLLRLRLLLLLLLLRRLRRLRRRRRLLRLLRRLLLLLRRLRRRLRRLLRLRRLLRLRRRRLLRRLRLRRLLLRRRLLRRRRRLLRRLLRRRRRLRLLRRRRRRLRRRLRLRLRLRRLLRLLRLRRLLLLLLLRRLLRLRLLRLLLRRLLRLLRRLRLLRLLLLRRRRLLLLLLLRRLRLLLLRLLRLLRLRRLLLRRLLLLLLLLRRLLRRLLRRLRLLLRLRRRRRLRRRRRRRLLRLRRRLLLRRLRRLRLLRLLRLLRLRRLRLRLRLLRRRLLLRLLRLLRRLRRRRLRRLLLLLLRRLRLLLLLLRRRRLLRRLRLRLLLRRRRRRRRRLLLLRLLLLRRLLRLRRLLRLLLRLRLLRLRRRRLLLLRRRRLRRLLLLLLLLLLRRLRRRLLRLRRRLRRRLLLLRLRLLLLRLLRRLRLLLLLRLLRRRRLRRLLRRLLRRRRRLLRLRLRRLLRLLRRLRLRLRRRRLRLLLRRLRRLRLRLLRLLLRLLRRRRLRLRRLLRLRLLLRRRLLRRLLRLRLRLRLRLRRLLRRRLRLRRRRRLRRRRRLRRLRLRLLLLRRRRLRRRRLRRLLLRRLRLLRRRLLRRLLLLRLRLLRLLLLLLLLLLRRRLLRLRRLLRLRLRLRRLRLRRRLRLRRRRRLRLRRLLRRLLLLRRLLRLLLLLRLLLLLLLRRRRRLRLRLRRLLRLLRRRLLRRRLRRRLRLLLRRLLLRLLLLLLLRRRRLRRLRRLRRLRLRRRLRRLLLLRRRLLRRRRRLRRRLRLRLLRRLLRLRRLRLLRLRLRRLLRRLRLLRLRRRLRLLRLRRLLRRLRRLRRLRLRLLLRLLLRRRRLRRRRLLRRRRLRLRLRRLLLRLLLRRLLLLRLRRRLLRRLLRRRRLRRLRRRLRRRRLRRRLLRLRRRRRLRLLLRRRLRRRRLRRLLRRRRLLLLRRRLLLLLRLRRLLLLRRRRRRLRLLLLRRLLRLLRRLRLLRLRRRRRRLRRLLRLLLRRRRRRLRRLLRLLLLRLLLLRRRRRRLRLLRLLRLRRLRLLLLLLRLLRRLLLRRRRRRRRLRRRRRRRRRRRLLLLRRRLLRRLLRRRLLLLLRLRRRRRLLRLRRLLRRRRRLRRRRRLLLLLLLRRLLRRLLRRLLLLLRLRLRRLLLLRLRRRLLLRRLLRLLRLLRRLLRLLLLLLRLLLLRLRLLLRLLRRLRRRLLRLRLLRRRLRLRLRRRLLRRRRRRRRLRLLLLRRLRRRLLRLRLLRLRRRRRLRRRLLRLLRRLRLRLRLLRLRLLLRLLLRRLLRRLLRRRLRRRRRRRLLRRLLLRLRLRRLRLRLRRRLRRRLLLRRRRRLRLRRRRLRRRLRRLRLRRLRLLRRRLRLLRRLLRRLRRLLLRLRLRRRLLLRLLLLRLRLRLLLRRRRRLRRRLLLRRRLRLRRRRRRLLLLRRRLRLRRLLRLLRLLRRLLLLLRRLRLRRLRRRLLLLRLLLRRLLLLLRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLLLLRLRLRRRRRLRLLLRRLRLLRRRRRLLLLLLLRRRRLRRRLLRRLRRRLLRLLRLLRRLLLLRRRRLRRLRRLRLRRLRRRRLLLRRLRRRRRRRLLLLLLRRLRLRRRRRLRRLLRLLLLLRRRRLRLRLLRLRLLLLRRLLRRLLRLLRLRRLLLRRLRLRLRRRRLRRRLLLLLLLRRLRLLLLRRLRRRRRRRRRLRRRRLLRRLLLRLLLLRRLRLLLLRLRRRRLLLLLRLRLRRRRLRLRLRRRLRRLRLRLRRRLRLRRRLLLRLRLLLLRLRRRLLRLRLLLRLRRRRRRLLLRRRLRRRLLRRRRLRRRLRLRRLLLRRLLLRLLRLRLRRLLRRRRRLLRLLRLLLRLRLRLRLLLLRLRRLRLLLLRRLRLLLRRRRLRRRRLLRRRRLLLLRRLRRRLLRLRRRRLLRRRRRLRLLRRLRLRRLLLRLLRRLRRRLLRRLRRRLLRRLLLRRRLLRRLLRRRLLRLRRLLRRRLRRLLLLRRRLLLRRRLLRRLLRLLLLLRRRRLLRLRLRRRRRLLRRLLLRRLLRRLLRLRRLRLLLLRLLLLRRLLLLRRRRRRRRRRRLLLRLLLLLLLRLLRRLLRRLRRRRRLLRLRRRRRLLLLRRLLLLLRLLLRLRLRRLLLLRLLRRLLRRLRRLLLRLRLRLRLLRLLRRRRLRRRLLLLLRRLLLRLRRRLLRRRLRRLRLLLLRLRLLRLRLRLRRRLLRRRRRRRRLLRLRRRLRLLLLRRLRLLRLRLRLRLRLLLLLLLRRRLRLLLRRLLRRRRLLRLLRRLRRLLLLRRRRRLLLLLRRRLLLRLLRRLRRLRRLRLRLLLLRRLRLLRLRRRLLLRRRRRRLRLRRLRLLRRLRRRLRRRLRLLRLLRLLRLRLLLLLLRLLLLRLLRLRRLLRRLRLLLLRRRLLRRRRRLRLRRLRRLRLRRRLLRRRRLLRLLLRLRLLRRRLLRLLLLLRLRRRRRLLRLLLLLRRRLRLRRRRRLRRRLLLLLRRRLLRLRLRLRRLLRRLRLRRRRRRRRRRRLLRRRRLRRRRRLRRLRRLLLRRLRRRRRRLRLLLLRLRRLRLRLLRRLRLRLRRRLLRLRRRRRRRRRLLLRRLLRLLRRRRRRRRLLLRRRLLLRRLRRRRLRLRLRLRRLLRRRRLRLLLRRLLRLRLRRRLLLLLLRLLLRRRLLLRLRLRRLRRLRLRRLRLRRRLRLLRLLLLRRLRRRLLRRLLRLLRLLLLRLLRRLLRRRRLLRLLLLRRRRLLRLLRLLLLLRRLRRLRLLRRRLRLLLLRLLRRLLRLRLRLRRRLLLLRLLRLRRRRRLLRRLRRRLRLLLLRRRRRLLRRRRRLLLLLRRLRLRRLRLLLLLLLLLLRRRRLRLRRRRLLRLRRRLRRLRLLRLRRLRRRRRLRRRLRRRLRLRLLRLLRLLLLLLLLLRRRRRRRLLLLLRRLLLRRRRRRRRRRRRRLLRRRLRRRLRLRLRRRLLRLRLRRLLRLLRLRRRRRLRLLLLRRLRRLRRLRLRRRLLRLRRLLLLRRLRRRLRRRRLLRRLLRLLLLLLLRLLLLRLLRRRLLLRLRRRLLLLLRRLRLLLLRRLLRLRLLRRRLRLRRLLRRLRRLLLLLLLRLRRLRRLLLLLLRLRRLRRLRLRRRLRRRRLRRLRRRLLRLRRRRLLLLLRRLRRRRRRRRRLRRLRLLRRRLLLLRLRLLLRLLRRRRRLRLRLLLLLRLLRLLRRLLRRLRLRRLRRRRRLRLLLLLRLLRLRRLLRRLLRRRRRLRRRLRLLRLLRLLRLLLLLLLRLRRRLRLLLRRRRRLLRLRRLRRRRLLLLRLLRRLRLLRLRRRRRLRRRLLLRRRRRRRLLLRLRLLLRRRLLLLRLRLLRLRRLLRRLLRRLRRRLLRLRRLLRRLRLLRLRRLLLLRLRLRLLLRLLLRLRLLLLRRLLRRRRRLRLLRRLLLRRLRRLRRRLLLRRLRLRLRRLLRLLRRRRLLLLLRLRLLRLLLRLLRLRLRRRRLRLRRLLRRLLLRRRLLLLRLRRRLLLRRLRRRRRRRLRRLLRLRLLLLRRRLLRLLLRRLLLLRLLLLRLLLLRRRRRLLRRLLLRLLRLRRRLLRRRLLLLRRLLRLRRRLLLRLRRLLLLLLLRLLRLRRLRRRRRRLLLRRRLRRLLLLLLLRLLRRLLRLRLLRLRLLRLRLLLLLLLLLRRLRRLRRLLRLLRLRRLLLLLRRRRLRRRRLRLLRRRLLLLLRRLLLLLRLRLRLRRLLRLRLLLLRRLRRLLLLLRRRLLLLLLLLRRRLRLRRRLRRLRRRLRLRLLRRRRRLRLRLRLRRRRRRRLLLLLLLLLRLLRLRLRLLLLRRRLLLLRRLLLRRRLLLLRRLRRRLLRRRLLLLLRRLRRRRRRLLLLLLLLLLLLRRRRLRRRLLRRRRRLRRRRRRLRLLRLLLLRLLRRRRLLRLRRLRRLRLLRLRRRLLRLLLLRLRRLRRLRLLRLLRLRLRLLRRRLLLRLRLLLLRLRRRRLLRLLLRRLLRRLRRRLLLLLRLRLRRLLRRRLRRRLRRLLLLLRLLLLLLLRRLRRRRRRRRLRLLLLRRRRRLLLLLLRRRRLLRLLRRLLLRRLRRLLLRRRRRRRLRRRLRLRLRRLRLLRLLRLLRRLRRLRLLLLRLLRRRRLRLRLRRRLLLLRRLRLRLRLRLRRRLLRLLLLRRLLLLRLRLRRLLRLLRRLLRLLLRRRLLRRRRRLRRRRRLRRRLLRLLLRRLRRRRLLLRLLLLLRLRLRLLLLRRLRLRLLLRLRRRRRLLRLLRRRRLLRRLLLLRRRRRLLRLRLLLLRLRRRLLLRRRRLLLRRLLLRRLRRLRRRRLLLRLLRRRRRRRLLRLLLLRLRLRRRLLLRLRLLRRRRRRLRRLLRLRLLRRRRRRLRRRRLRLLRRLRLLRLRRLRLRRRRRLLRRLRLLRLLLLLLLRLLLLRRLLRLLRLRRRRRLLLLLLRLRRRLLRLRLRRRRRRRLRLRRLLLLLLLRLRLLRLRRLLLRRRLRRLLRRRRRRLLLRLLRLRLLRRLLRLLRRLLRLLRLRRRRRLLRRRLLRLLRLLRLRLRRRLLLRRLLRRRRRLLRLLRRRLLRLLLRLLRLLLRRRLLRRRRRRLLLLLLRRRLRRLLRLLRRLLRLLRLRLRRLRLLRLLRLLRRLLLLRRLLRRLLLLRLRLRLLLLLRRLLRLRLLLLRLLRLRLRLRLRLLLRRRRLLLLLLRRLRRRRRLLRRRLLLRRRLLRRLLRRRLRRLLRLLLRLLRLRLLRLRRRRLRRLRLRRRLLRLLRLLLRRLLLLLLLRRLLLLRLLRRLLLRLRLLLRRRLLLRLLRLRRRLRRRRLLLLRRRRRLRLLRLLLLRRRRRLLLLRLRRLLLRLLRRLLLLLLLLRRLRRRLRLLRLLLRLRRLRLLLLRLRRLLLRLLLRLRRLLLRRLLLRLRLLRRLRRRLLLLLRLLLRRLLLLRLLRLRRRRLLLRLRLRLRLLRLLRRRRLRRLRRRRLLLRLLLRRRLLRRLRLRRRRLLRRLLRLLLRLRLLLRRRLRLLLRRRLRRRRRRRRRLRLRRLLRLRRRRLLLRRLRLRRRRLLLRRRRRRLRLLLRRRRRLRRRLRRRLLRRRLLLLLLLRRRRRRLRRLRLRLLRLLLLLLLRRLRLLRRRRRRLRLRRRLLLRRLLRRRRLRRRLRLRRLLRLRLRLLLLRLLRLRRRLRLRRRRRLRLLLRRLLRRRRRRRRRLRLRRLLLRRRRLLLLRLLRRLRRRRLLLLLRRRLLRRRLLLLLRLRRRLRLLLLLLRRRLRRLRLLLLRRLRRRRRLRRRLLRRLLLRLLLLRLLLLLRLRLRRLRLRLLLLLRRLLRLLLRLLRRLLLLRLRRRRRLRLLRRLRLLLLRLRRLLLRLRLRLRLRRLRRLRRRLLRLLLLLRLLLLLRRRLRRLLLRLRRLLLLLRRLRLLRLLLRLRLRLLRRLRLRRRRLRRRLLLRLRRRLRLLLRLRRRLLRLLLLRLLLRRLRRRRRLRRLRRLLLLLLLRLLLRLRLRLLLLRLRLLRLLLRRLRRRRRLRRRLRLLLLLLRLRLRLLRRLLRLLLRRLRLRRRLRRLLLRRRRLRRLRRRLRLRLLRRRRLLLLLLRRRLLLLRLRLLRRLRLRRLRRRRLLRLLRLRRLLLRLLLRRLLLLLRRLRLRLRRLRRRRRRRLLLRLRRRLLLRRRRLLRRLRRLRLRLLRLLRLRRRLRLRRRRLRRRLLRRLRRLRLLRLRLLRLLRLLRRLLLRLLLRRRLRRRRRRLLRLLLRLRRRRLLLLRLLRLLLLRLLLRLLLRLLLLRLRRLLRRLRLLLRRLRLLRLRLRRRLLRLRRRRRLRLLRLLRLRRLRLRRLRRLRRRLLRLRLLLRLLRRLLRRLLLRRLRLLRRRLLRLLRLLLRLLLRLLRLRLLLLRRRRRRLLLLRRLRRLRRRLRRRLRRRLRLLLRRLLLLRRRLRRLLRLRRLRLRLRLLLRRRLRRRRRLLRLLRLLLRRLLRLLRRRRRLRLLRLRRRLLLRLLLRLRLRRLLLLLRLLRLLLRLRRRLRRRRRLRLLLLRLRRLLRLLLRRLRLLLLRRLRLRLRLRLRRRRLLRRRRLRRLRRRLRRLRRLLRLLLRRLLRLRLLRRLLRRRRRRLRLRRLLLLRRLLRLRRLRRRRLLRRRLRLRRRLLLLLRRLLRLRLLRLLLRRLLRRRLLLLRLRLRRLRLLLLLRLRLRRLRRRLRRRLRLRRLLLLRRRLRLLLLRLRRLLRRRRRRLLLRLLLRLRLRLRLRLRRLLRLLLLLRRRLRLRLLLRRLRLRLLLRRRLRLRRLLRRRRLLRLLRRLLRLRLRRLLRRRRLRLRRLLLLLRLRLLRRRLLLRRLRLLRRRRRRLLLLRLLLLLLRLLRRLRLRLLLRRRRRRLLRLLRLRRRRRRLLLRRRRRRLRRLRRRLRLRLLRLLRLRRRLLLLRRRLLRLRRRRRLLRRRLRRRRRLRLRRLRLRRLRRLRRLLLRLLLRLRRLRRRRLRRLRRRLLLRLLLRLRRLRRLLLLRRRLLRRRLRLRRRLLLLRRLLLLRLRRRRLLLRLRLLRRLLRRLRRRLRLRLRRLLRRRRRLRRLRLLLRRLRLRRRRRRLRRLRLRLRLLRRRRLRLRRRRLRRRRRLRRRRRRLRLLRLRRRLRLRRRLLLRLRRRLRRRLLLRRLLRRLRRLRLLRRRRRLRRRLLRLRLRLRLRLLRRLLRLLLRRRLRLLLRLLRRRLRRRLRRRLRLRRRLLRRRRLRLRLLRLLRLRRLRRLLLRLLLRLLLRRLRLLRLRRRLRRLLRRLRRLRRRRRRRRLLLRRLLLLRLLRRLRRRRLLRLLLLRRLRRRRLLLLLLLLLLRRRLRLRRLRRLLRRRLLRRLRLRLRLRLLLRLRRRLRRRLRLLLLLLRLLRRLLLRLRRLRRLLRRRLRLLRLRLRRRRRLLLLRLRLLLLLRRLLRRRRRLRLLLLRLRLLLRLRRLLLRLRLLRRRRLLLRLLRLRLLLLLLRLLLRRRRRLRRRLLRRLLLRRRLRRLRRRRLLLRRRLLRRLLLLLLLLLLRLLRLLRLRRRRRRRRLRRRRLRLRLRRLLRLRRLRRRRRLRLRRLLLLLLRLLRLLLLRLRRLRLLRLLRRRLLLLLRRRLLLLRRRLRLRRLLLLRLRLLLRLLRLRLLRLLRLLLRRRLRRRLLLLRRLRRRRRLLRRLLLRLLLLLRLLLRRRRLLRRRLRLLRRLLLLLLLLLLRLRRRLLRRRLRRLRLLLLRRRLRLLRRLRLRRRRRRRLLRRLLRLRRRRRRRRLLRLRRLLLRRLRRLRLLRRRRLRLRRRRLRRLLRLRLLRLRRRLLLRRRLRRLRLRLLLLRLRLRRRLLLRRLRLLLLRRLLRLLRRLRRRRRLRRRLLLLLLRLRRLLRLRLLLRRLLRRRRRLRRRRLRRRLRRRRLLLRRLRRLRLLLRRLLRLLLLRRLLRRLRLRRLLLRLRRRLLLLRLLLRLLLRRLRLLRRRLLLRLRRRRLLRRRLRRLLRRRRRRLLRRRLRRLLLLRLLLLLLRRLRLRLLRLLLRRRRRLRRRRLRLLRLLLRRRRRLLRLLLLLRRLLRLLLRRLLLRLLRLRLLRRLRRLLLRRRLLRLLRRLLRLRRRLRRLLLRRRRLRRLRRRLRLLLLLLRLRRRLRRRRLRRLRLLRRLLRLLRRLLLRRLLLRLLRRRLRRLRLRRLLLRRLLRLRRLLLRRRRRLRRRLRLLLLRRRLRLLRLLRLLRLRLRRLRRLRLLRRRRRRLLLLLLRRLRLLLLLLRRLRLLRLLRRLRLLRRLLLRRLLRRRRRLRRRRRLLRLLLRLLRLRLLLRRRLLLLLRRRLLLRRRRLLRLRLLLLLLRRRLLRLLRRRLLRRRLLRRRRRRRRLLRRLRLLRLRRLLLLRLLLRLRLRRLRRLRLRRRLLLRRLRLRLLRLLRLLRRLRLRRRLRLRLRLRRRLRRRLLRRLRLLRRLLLLLLRLRLRRLLLRLRRLRRLRRLRLLLRLLRRLRLLLRRRLRRLLRLLLLLLLLRLLRRLLRLRRLLLRLRLRLRRRLRLLLLLLRLRRRLRRRLRRLRRRLRRLLLLRLRRRRLRRRLRRLLRLRLLRRRLRLLLRRLRLLLRRLLLRLRLRRRLRLLLRRLLLRLRRRLLLRLRRLLRRRLRRRRRLRRRLRRRLRRRRLRLLLLLLLRLLRLRRLLLRLRLRLLLLLRRRRRRRLLLLLLLLRRLRLRRLRLLLLLLRRRRRRLLRLLLRLLLRLRLRLRLRRRRRLLRRRLRLLRLLLLRRRLLLRRLRRLRRLRRRLRRLLLRRRRRRLLRRRRLLLLLLRRLLRLRRLLLRLLRRRLRLRLLLRLRRLLLLLRLLLLLLRLRLLLRRLLRLLRLLLRLRRRLLRLRLRLLRLLRRLLRLLLLLRRLLLRRRRLLRRLRRLRRRRLLLLLLRRLLRRRRLRLLLRLLRLRRRRRLRLLRRLLRLLRRLLLRLLLLLLRRLLLLRLLLRRRRLLLLLLLLLLLRLRLLRLRRRLLLRLRRRLRLLLRLRRRRLLRRLLRLLLRRLRRRRRRRLRRLRRRRRLLLLRRRLRRLLRRLRRLLRLLRRRLRLLLRRRLRLRRRRLRRRLLLLLLLRLRRLLLLRRRRLLLLRLLRRRRLRLRRRRRRRRLLRLRLLLRLLRLRRRLRRRRRRLRRLRRLLRRRRLLRRLLLRLLRRRLLRLLLLLRRLLLRLLRRRRRLLRRRLRRRLLRLRRRLLRLLRLRLRRRRRRRLRLLLLRLRLLRRRRRLRRRRLLRRLRRLRLRRRLRLRLRRRLLLRLRLLLLLLLLLLLRRLRLRLRLRLRLLLRRLRLLLLRRRRRRRRRLLRRRLRRRLRLLLLRLRLLRRRRRRRLRRLRRRLLRRRRLRLRLLRLRLLLLLRLRLRRLLRLLRRRRRLLLLLLLRRRLLRRLRRRRRRLLLLLRRRLRLLLRLLRLRRRRRLLRLLRRRRLRLLLRRRRRRRRRLLLRLRLLRLLRLLRLLRLLRLLRRRRLRLLRLLLLRLLLLRLRLRLLLRLLRRLRLRRLLLRLLRRRLRLRRLRLLLRLRRLRRRLRRLRLLRRLRLLLLRRLRLLLLLLRLLRLRLLRLLRRRLRLLLRLLRRLLRRLRRLRLLLLRLLRRLRRLLLRRRLLRLRRRRLLLRRLLLLRLLRRRRRLLRRLLRRLLRRRLLLLRRRRLRLRRRRLLRRRRRRLRLLLLLRLRRRRLLRRLRRLRRRLRLLLLLRLLRRRLRLRLRLLLLLLRLLRRLLRRRLRLRRLRRRLLRRRRLLRLLLLRRRRLRLLLRRLRRRRRLLRLLLRLRRLLLLLRLLLRRRLLLLRRLLRLLLLRRRRLLRRLLRRRRLRLLRRLLLLLRRRLLLLRRRRRRRLRRLRLLLRLRRRRLRLRRLRLRRLRLRLRLRRLLLLRRLLRLLRRRRLRLRRRRRLLLRLRRRRRRLRRLLLRRLLLRRLLLRLRLRLLLRLLLRLLLLLRLRRRLLLRLLLRRLRLRLRRRLLLLRLLLRLLRLLLRRRRRLRRLRRRRLLLRRLLRRLLLRLLLRLLLRLLRLRLLRLRLRRLLLLRLLRLLLLLLLRLLLLLLLRLLLLLRRLRRRLRRLRLLRLRRLLLRLRLLLLLLLRLLRLRLRLLLLLRRRLRRLLLRLRRLRLLLLLLRLLLLRRLRRRLLLLLRLRRRRRRRLRLRRLRRLLRLRRLLRRRRRLRRLRLLLLLRLLLRRRRRLLRRRRRRLLLLRLLRRLLLRLRLLRLRLLRRRRRLRLRRRRRLRRRRLRRLLLLRRLLRRRRRRLRLRLRLLLLLLLLRRRRLLLLRLRRRLLRRLLRLRRRLRRRLRRRRLLLLRLLLRLRRLRLRLLLLRLRLLLLLLLLLLRRLLRLLRRRRLLRRLRLLLRRRRRLRLLLLLRRLRLLLLRRRRRLLRLLRRLRRLLLLRLRLLLLLLRLLLLRLLRRLRRRRLRRRLLLRRLLRLLLRRLLRLRRLLLRRRLRRLLLLRRLLRLLRRRLRLLLLRRRLLLRLRLLLRRLLLRRLLRRLLLRLRLLRRLRLLLRLRLRLRRRRLRLLLRRRRLRRRLRLLLLLLRRRRLRRRLLRRLRLLRRLLRRRLLLRRLLLRRRRRLLLLRLRRLLLLLRLLLRLRRRLRRLLLRRRRRLLLRRLRRLRLLRLLRRRRLLRLRLLRRRLLLLRRLLLLLLLLRRRLLRLLLLLRLLRLRLLLRLRLLLLLLLRLLRLLRRRLLLLLLLRLRLRLLLRLRLLRRLLLLRLRLRRRRLLRLLRRRRLLLLRRLRLRLRRRRLRRRLRLLLLRRLLLRLLLLLLRLLLRRLLRRLLRRLLLRRLRLRLLLLRLLLRRRRLLLRRLRLLLLRLRRRRLRRRRLRLLLRRLLRLRLLLRLRRLRLRLLRLRLRRRRRRLRLRLLLRLLLLRLRRRLLRLLLRRLRRRLRLRLRLRRRRRRLLLRLRLRRRRLLLRRRLLLLLRRLRLRLRRRLLRLLRLLLLRRRLRLRLLRLLRLLLLRRRLLLLLRLLRRRLRRLLLLRLRLRRRLRRRRRRRLRRRLRRRLLRRLLLLRRRLLLLRLLRRRRLRLLLLRLRRLLLRRRLRRLRRLLLRLLLRRLRLRRRRLRRLRLLRRRRLRLLRRRLRLRRLRLRLRRRLRLLLLLRRLRLLLLLRLLLRRRRLRRLLLLLLRLLRRLLRLLRRLLLLRRRLLRLLLRLLRLLRRRLLLLRLLLLLRLRRRLRLRRLLLRRLRLLRRLRLRLLLRRLRRLRRLLLRLLLLLLLLLRRRRLRRLLRLRLRLRLRRRLRLLRRRRLLLRRRLLRLRRRLLLLLLLLLRLLRLLRRLRLRLLLLLRRRRRRRRRRLLRRLRRLLRLRLRLLLRRRRLLLRLLLRLRRRLLRRLRRLLLLRLLLLRRRRLRRLLRRLLLRRLRRLRRLLLRRLLLLRRRLLLRRLRLRLLRLRRRRRLLRRRLLLLRLRLLLLLLRRLRLLRLLLLLRLRLLRRRRLLRLLLRLLLRRLLLRRRRRLLRRRRRRRLLRRLRRRRRRRLRRLRRLRRRLRRRRLLRLRRLLLRLRRLRRRRLLLRLRRLRRLRLRRRRRRRLRLLLRLLRLLRLLLRLRRLRRLLLLRRLRLLLRLRRRRRLRRLLLLLRRRRRRRRLLLLLLRRLLLLLRLRLRRRRLRLLLRRLLRRLLRLLLLRRLLLRLRLRLLRRRRRRLRRRRRLRRLLLLRLLLRLLRLRLLLLLLRLLRRLLRLLLRRRLRRLRRLLRRRRLLLRRLLLRRLRRRLLLLLRRRRRLRRLLLLRRRRLRLLRLRLLRRRRLLRLLLLLLLLLRLLRLRRRLRRRRLRRRRLRRLLRLRRLLLLLRRRRRLLLLRRRRLLRLLLRLRLLRRRRLLRLLLLLLRRRLRRLLRLLRRRRRRRLRLRLLRLLRLRLLRRLLLLLRLRRRLRRLRLLLLRLRLLRRRLLLLLLRLRRLLLLRRRLLLLRRLLLLRRLLLLRRLLRLRLLRRRRRRLRRLRLRRLRRLRRLRLRLLLRLLRLLLLLLRLLLRRLLRRLLLRRRLRLLRRRLRRRRRLRLRRRLRLLRRLRLRLLLRRRLRRLRLLRLLLLRRLLRRRLLRLRLLLLLLLLLLLLLRRRLRRLLLRRRLRLRRRLLLRLLRLRRRRLRLRLRLRRLLRLRLLRLLRRLRRRLRLLRRRLLRLLLRLLRLRLRLRLRRRLRRRRLLRRLLLLLRLRRRLLRRRRRRRRLLLRLRLLRRRLRLLLLLRLLLLRRRRRRRLLLRLLRLRRRLRLRLLLLRLRRLRRLLLRRLLLRRLRLLLRRRLRLRRLLRLRLLRLLRRLRLRRRRLLLRRLRRLLRRRRRLLRRRLRRRRLLLLLRRLLLLRLLRRLLLRRRLLRRRRRLLRRRRLLLRRRLRRLRLRRRRRLRLLRLLRLLLLLLRRRLRLLLLRRRLRRRRRRLLRLRRLRRLRLRRLRLRRRRRRRRRLRRLLRLLRRLRRRRRLRRLLRLRLLLLLLLRLRRLRLRLRLRLLLRRRLLLRLLLRRRRLRLRLLRLLRLLLRLRRLLLRRRRRLLLLLLRLRLLLRRRRLLLLRRLLLLRRLRRRRLRRRLRRLRLLRRRRRRRRRLRRLLRRLLRRLLLRRLRRLRLLRRLRLRRRLLLLLLLRLLLRRRLLLLRLLLLLLLRRRRRRRRRLLLLLLLLRRRRLRLLRRRLLRLRRLLLLRLLRLRLRLLLRRRRLLRLRRLLRLRLLLLLRRRLRLLLLLLRRLRRRRLLLLRLRRLLRRRRLRLRRRRRRLLRLRRLRRRRLRLLRRLLLRLLRRRRLRLLRLLLLRLLLRLRRRRRRLRRRRRRRLLRLRLLRRLLLRRRRLLLLLLRRRRRRLRLLRRLLRLLRRRLLRRLRLLRLRLLLRRLRLRRRLRLLRLRRLRRLRLLLRLLLLRRRLLRRLRLRRLLLRLLLRRRLLLRLRLLLRLRRLLRRLRRLRRLLRLRLRLRLRRLLRRLLRLLLRLLLLRRLRLLLRLLLLLLLLLRRLLRRRRRLLLLRLRLLRRRLLLLRLRLRRLLRLRLLRRRRLLLLLRRLRLLRLLLRLLRRRRLRLLLRRLLLLLRRLRRLLRLRLRLLRLRRLLLRRLLLLRLLLLRRRLLLRLLLRLLRRRRRRRLRRLLLRRRRLLLRRRLLLLRRRRRRRRLRRLLLLLLRLLLLRRRRLLRLRRLRLRLLRRLRLLRRLLRLRRLLRRRRRRLRRLRLLLRLRRLRLLLRLRRLRRRLRLLLRRLRRRRRLLLLLRRRLRLRRLRRRLLRLRLRLRLRRLLLRLLRRRRLRRLLRRLRRLRLLRLRRRLLRRLRLRRRLRLLRLRRRLLRRLLRRLRRLRLLLLLRRRLLRRRLLLLLLLRLRLRRLLRLRLRRRRRRLLLRLLLRRLRLLLLLRLLLRLLRLLRLLRRLLRRRRLRRLRRRRLLRRLRRLRRLRLRRRLRLRRRLLLLLLRLRRLRRRLRLRRRRLRLLRLRRLLRLLRRLLRLRRRRRLLLRLRLRLRLRRLRRRLLLRRLLRRLLLLLLRRLLRRLRRLRLRRLRLLLRRLLRLRRLLRRRLRLRRRLRRRRRRRRLRRRRRRRRLRRRLLRLLRRLLLRLRRRRLRRLLRLLLRLRLRLLLLRRRLRLRRRLLLLLRLLRRLLRLLRLLRRLLLRRRLRRRRLRLLLRLLLLRRRRRLLLLLRRLLRRRRLRLLRLLLLRRRRLLRRLLRRRRLLLLLLRLRLRLLRLLRRLRRLRRLRLLLLRLRLRLRLRLRRLLRLRLRRLLRLLRRLLRLRRRLLLRLLLRLRLRLLRLLLLRLRRLLLRLLRLLLRLRRRLLRRLRLLRLRRLRLRLLRRRRLLRLRRLRLRLLLLRLRRLLLLLLLRRRRLLLLRLRLRLRLLRRRLRLRRLRRRLLRLLLRLRLRLRLRRLRLRRRRLLLRLRRLLLLRLRLRRLLRRRLLRRRLRLRLLLRLRLLRRLRLLRRRRLRRLLRRLLRLLRLRLLLLRLRLLRRLLLLLRLLLRRRLRLRRLRLLLRRLLRRLLRLLLLLRRLLLLLRRLLLLLLRRLRLLLRLLRRRRLLRLRLLRLRLRRRLRLLLLLRLLLRRLLLRRLRRRRLLLRLLLRLLLLRLRRRRRRLLLLLLRLRRLRLRLLRRRRRLLLLRLRRLLRLRRRRLLRRRRRLRRRLLLLRLLLLRLLRLLLRLLRLLLRRRLLLLRLLRRRLLLLLRRRRRLRLRRRRRRLRRRRRRLRRRRRLLLRLLLRRRRRLLLRLRRRRRRLLRRLLRRRLLRLLLLLLRLLRLLRRLRRRRRRRLRRRLLRRRLRRRRRLRRLRRRRLRLLRLRRLLRRLRLLRRRLLLRRLRRLRRLRRRLRLLLRLLRLRRRLLLLLRLRLLRLRLRLRRLLLLLLRLRRRLRRRRRLRLRRLLRLRLLRLLLRRRLRRLRLLRRRLRRRLLLRRLRLRRLRLRLRRLLLLLRLRRRLLLLLLRRRLLLRRLLRLRRLRLLLRRRLLLLLRRRLRLLRLLLRRLLLRLRLLRLRLLRRRRRLRLRRRLLRRRLRLRLLRLLLRLLRRRLRLRLLRRLRRRLLLRRRRRLRLLRRRRRRRLRLLLRLLRLRRRLLRLRRLRLLRLRRRLRLLLRRRLRRLRRLLRLLLRLLRLLLLLLRRLRLRLRLLRLLRRLLRLRRRRRRRLRRRLLLLLLRRLLLRLRLLRLRRLLRLLLRRRRRLLLLLRLLLLRLLLRRLRRLRRRLRRLRRLLRRLRRRRRLLRLRRRLRRRLLLRLLRRLLRLRRLRRRLLRRLRLLLLLLLRLRRRLLLLRRLRRLLRLRLLRRRRRLRLLRRLRRLLLRLLLLRRLRRRRLRLLRRLRLRRRRLLRRRRLRLRLLLRRRLLRLLRLLLLRLLRRLLRLLRLLRRLLRRLLRLLLLRRLLRRLLRLLRLLRLLRRLRLLRRLRLRRLRLRRLRLLRLRRLLLRRRRLLRRLRRLLRRLLRLRRLLLLRRRLRLRLLRRLRLLRLRLRLLRRLLRLLLRLRLLLLRRRLLRLLLRRLRLLRRLRLRLRRLRLLRRLRLRLRLRRRRLRLLRLRRRLLRRLLRRRLLRRLLLRRLLLLRRLLRLRRRLRRLRRRRLLRLLLLLLLRRLRRRLLLLRRRRRRRLRLLLLRLRLLRRRRLRLRLLRRRRLRRRRLRLLRLRRLRLLLRLLLLLRLRLRRLRLLLLLLLRRLLLLLLLLLRRLLRLRLRLLRRRLLLLRLLRLLLLLLRRLLLRRRLLLLLLRLLRLLLLRLRLLRLLRRLRLRLLLLLRRRRLLRRRLLRRLRRRRLLRRRRLLLLLRRRLRRRLRLLLRLRRLLRRRLLLRLRRLRLLLLRRLLLLLRRRLLLLLRLLRRLLLLRRRLLRLRRLLRLLRRRLRLRLLLLRLRLLLLRLRLLRLLLLRRRRLLLRLLRLRLLLLLRLRRRRRRLLLRLRLLLRLRLRLRLRLLRRLRLLLRLRRLLRLRRLLLLLRRLRLRLLLLRLLRRRLLLLRLRRLLLLLLLRRLRRLLLRLLLRLLRLRRLLRRRLLRLRLRLRRLRRLRRLRRLLLRLRRRRRRRRLLLRRLRLLLLLLRRRLRLLLLRLLRLRLRRRLRRRRRLRRLLRRLLLRRRRRLLLLRRLLLLRRRLRLLRRLLLRLRRRLLLRRRLRLLLRRLLLRLRLLRRRRRLLRLLLRLRRRRLRLRRLLLRRRRLLRLLRLRLRRLRLRRLLLLLLLLRRLLLRRRLRLLLRRLLLRLLLRLRLLRLRRRRLRRRLRLRLRRLRLLRRRLRRLRLRLRLRRRRRRLRLLLRLLLRRLLRLRLLLRRLRLLLLRRRLLLRRRLRRRLRRRRRRLLLLRRLRLRLLLLRLRLLLLRLRLRLLLRLLRLRLLLLLRLRLLRRRRRRLRRLRRRRLRRLLLLRLRRLLLRRRRRRLLRRRRRLLRRRLLRRRRLRLRRRLRRRRLRLLRRRLRRRLRLLRLRLRRRLRLRLRLRRRLRLRRLRRLRRRRLRRLRLRRLLLLRRRRLRRRRRRLLRLRLLLRRLLRRRLRRLRLRLLLLRRRLLRLRLLRRLLLLRLRRRLRLLLLLLLRRRLRRLLRRRLRLLRLRRLLLLRLLLLLLLLRRRRLLRLLRLRRRRRLLRRLLRLRLLRLLLRLRLLLRRRLLRRLRRRRRRLLLRLLLLLLRLRLLLRRRRLRLRLLRRLRLRRRLRRRRLLLRRRLLLRLRLRLLLLRLLLLRLLRLRLRRRRRLLRRLRRLRLLLRRLLRLRRRRLRLRRRLRRRLRRRLRRRRLRRRRRLRRLLRLRRLLLRRLRRLLRRLLRRLLLRLLRRRRLLRRLRLLLRRRLLRLRRRLLRRLRLLLRRRRRLRRRRRLLLLRLLLLRRLLRLLRRRLLRRLLRRLRRRRRRRLLRRRLLLLRRLRLLRRRRLLLRLLRRRLRRLLRLLLLLRLRRRRRRLLRRLRLLLLRLLRLLRRLLRLRLRRRLLLLRRRLRRLRLLRLRLRRLRRRRLRLLRLLRRRRLRLRRLLLRLRRRLLLLRLLRRLRLLRLLLRLLLLLLLRLLLLRLLRRRRRRRLLLLRRRLRLRLLRLLRRLLRRRRLRLRRRLLRRLLLLLRLLRRRLLRLRLRRRLRRLRLLLLLRRLLLLRRRLLRLRRLRLRRRLRLLLLRRLRRLLLRRLLRRRLLLLLLLLRRLLLLLRLRLLRLRRLRRRRLRRLLLRLRLLRLLLRLRLRLRRRRRRRRRRLLRLRLLLLLLLRLRLRLRLLRRRLLLRLRLRRRRRRRLRLRLLRRLLRLLRLLRLLRLRRRLRRLLRLLRRLLLRRLLLRLRLRRRRLLRRLRLRLLRLRRRLRRRLRLRLLLRRRRRRLRLLLRLRRRLLRLRRLLLRRRRLLLLLRRRLLRLLRRLRRRRLLLRLRRLLLRLRRRRRRLRLLRLLLLRRLRRRRRRRLRLRLRRLLRLLLRRLLRLRLLLLLLRRLLRLLLRLLLRRLRRRRRRRLRLRRLLLRLRLRLRRRLLRLLRLRLLRRRLRRLRLRLRRLRRRRRRLLLRRLRRLRLRLRRRLRRRLRLRLLLLRRRLLLRRLLLRRRRLRLLLRLLRLLLLLRLLLRRLRRRLLLLLLLRLLRLRRRRLRLLRRLRLLRRLLRRLLLRLLLRRRLRRLRRLLRLRLLLRLRLLLRLLRRRLRRLLLRLRLLLRRLRLRRRRRRRLRLLRRRRRRLLRRRLRLRRRLLRLLRLLRRRLRLRRLRLRRLLLLLRRRLRRLRRLLLLRLLRLLRRLRRLLLRRLLRLLRRLLRRRRLRLRRLLLRLRRRRRRLRRLRRRRLLLRLRRRRRLLRRRRRRLRLLLRRRLRRLLLRRLLLLRRRRLLLLLRLRLLLRLLLLRRRLLRRLRRRLRRLRRLLLRRRRLLLRRLRLLLLLLRLLRRRRRRLRLRLRRRRLLLRLRLLRRLLLRRRRLLLLLRLLRRLRLRLRLRRLRLRLLLLLLRLRRRRLLRRLLLRRRRLRRRRRLLLLRRRLLRRRRLRRLRRLLRLLRRRRLRRLLLRRLRRLLLRLLLRRLLRLLRRLLRLRLRRLRLRLLRLLLRRLLLRRLLRLRLLLLLLRRRLRLLRRRRLRRLRLLRRLLRRLLLRLLLRLRLRLLRRLLRLRRRRLLLLLLLLLLLLLLLLRLRLLRLRLLRRRLRLLRLLRLLRLLLRRLLLLRLRRRRLLRRRLRRRLLRLLRRRRLRLLLLRRRRLRRLLLRRRLRRLLLLRLRLRRRLLLLLRRLRRLLLLLLLRRLLRLLLRRRRLRRLLLLLRLRRLRLRRRRLRLRLRRRRLRRLRLLLLRRLRRLLLRRLRLRRRRLRRRLRRRRLLLRRLLLRRRRRRLLLLRRLRLRLRLRRLLRLLRRLRRRRRLLRRRLRRLRLRRRLRRLRRLRRRRLRLRLRRLRRRRRRRLRRLLRRLRLRLRRLRRLLRLLRRLLRLLRRLLLLLRRRRLLRRLLLRLLLLLRRLRLLLLRRLLLLLRRRLRLRLLLLLLRLLLLRLRRLRRLLLLLRLRRLRLLRLRLLLLRLLRLRLLRRLLLRLRLRLRRLRRRLRRLRLRLLLRRRLRRLLLRRLLLLRRRRRLRLLRLRLRRRLLRLLLLLRRLRLLLRLLLLRRRLLLLLLLRLRRRLLRLRLLLLLLLRLLLLRLLRRLLRLRLRLRRLLLLRRRRRLRLLRLRRLLLRRRLRLLLLRLRLLRLRLLRLRLRRRRLRRRRLRLRLLRLLLRRLRLLLLRRRLRRLLRLRLRLRRLRRRLRRLLRLRLLLLLLRRLRRRLRLRRLLRRRLRRRLRRRLRLLRLRLLLLLLRLLLRLRRRRRRLLRLLRLLLLLLLRRRLLLRLLRRRLRLRRRRRLRRLRLRLLRLRLLRRLRLRRLLRLRRRRRRRRRRRLLRRRRRLRLLLRLLRLLLRLLLLLRLLLLRRRRRRRLLLLRLLRRRLRLRRLLLLRRLRLRLRRRLRRRRLRRLRLLRLLLRRLRRLLLRLRLLLRLLLLRLRLRRRRRRRLLRRLLLRRLRRRRRLRRRLLLLLRLRRRLLLRLLRLRLRRLRRLRLRLRRLRRLRLLLLLRLLLLLLRRRLRLLRRRLLLLRRLRLRLRLLLRLRLLRRRRRRRLLLRRRLRLLRLLLLRLLRLLRLRRLLLLRLRLRLLRRRLLLLRLRLLLRLRRRRRRLRRRRRRLLRRLRRLLLLRRLLRRLRRRLLRLRRRRRLRLLRRRLRRLRLRLLRLRRLLLLRRRRRLRRRRRRRLRLLLLRRLLLRLRLRRLLLRRRRRRRLRRLLLRRLRLLRLRRLLLLLRRRRRLLLLRRLLRRLRLLRLLLRRLLRRLRRLLRRRLLLRLLRRRLLLRRLLRLLLRRRRRLRLLRLRLRRLRLLLRRLLLRLLRRLRLRLLLLRLRRRLRLLRLLLRRLLLLRRLRRRLLLRLLRRRLRLLRLLLRRRRRRRLRRRLLRRRLLLLRRRRLRRLRRRLRRRRRRLLRRRRLLRLRLRRRRLLRRRRRRRRLLRRLLLRRRLLRLLRRRRRRLLRRRRRRRRRRLRRLLLRLRLLLRRRLRRRLLLRRLLLLLLRRLRLRLRRLRRRLRLRLLRLLRRLRLLRRLLLLRRRLRLRRRLRRRRRLRRLRLRRRRRRRRRLLLRLLRRRLLRLRLRRRRRRLRLLRLRLLLLLLRRRRRRRLRRRLLLLRLRRLLRRRLRLLLLLRLLRLRLRRLRRRLRLRLRRRRRRRRLRRRRLRLLRLRLRRRRLRRLLRLLLRLLRLLLLLRRLLRLRRLLLRRRLRRRRRRLLRRLRLLLLLRRLRLRRRRRLLRLLRLLRRRRLLRLRLRRLRLLLRLRLLLRLLRRRRLRLRRLRLRLLRRRLRLLRLRLRRRRRRRRRLLLRRRLRRRLRRLLLRRRRLRRLRLRRLLRRLRLRLRRLLRLLLRLRLLLLLLLRLRRLLRLRLRRLLLRLLLLRLRLRLLLRRRRRRLRLRLRRRRLLRRRLRLLRLLRRLRRRRRLRRLRLLRLLRLRLLLLRRLRRRRRLLRRLLLRRLRRRRRRRLLLRLRLRRRLRLLRLLRRRRRLRLRLRLLRLRRRRRLRRLRRRRRRRRLLLLRLLRRLRLRRRRRLLLRLRLLLLLLRLLLLRRLRRLLRLLRRLLRRRRLLRRRLRLRRRLRRLLLLLLLLLLLRRLLRLLRRRLLRLRLRLRLLRRLLRRLLRLLLLRLLRRRLRLLLRLLRRRLLLLLRRLLRLRLRLLLRLLRRRRLLLRRLLLRRLLLRRLLLRLRLRLRRRRRLLRRRRLRLRRRRRLLRRRRRLRRRRLRLLRLLLRLRLRRRRRRRRLLRRRLLRLLRRLLLLLLLLLLRRLLLLLLLRLLRLLLLLRRRLLLRLLRLLLLLRRLLRLLLLRRRLRLLRLRRLRLLLLLLLRLLRRLRRLRRLLRRLRRRRRLRRRRLLRLLLLLRRLRLLRLLLRRRRLLRLLLLLRRRRRRLLLRLLRLLLRLLLLLLRRRLRLLLLLRLRRRLLRRRLRLRLRRRLLLLLRRLLLRLRLLLRLRRRRRLRLLRLRRLLRRLRLLLLLRRLRLRLLLRRRLRLLLLRRRRLLLRRLLRLRLRRLRRLRLLRRLLLRRRLLLLLLRRLRLRRRRLLRLLRRLRRLRRRLRRLRLLRRLLLLRRLLLRLRRRLRLRRRLRRLRLLRRLRRRRLLRRLRLRLRLRLLLLRLLRRLRRRRLLLRLLRRRRRRLLLLRLRLRLRRRRLLRRLLLLRLRLRLRLLLRLLRLRRLLLRRRRLLRRRRRRRLRLLLRRLLLLLRRRRLRRLRLLRRRLLLRLLRLRRRLRRLLRLRRLLLLRLRRLLRRRLLRRRLRLRRRRRRLRLRLLLRLRRRRLLRLLRRLLLLRLLLRLLRLLRRRLRLLRLLRRRLLLLRLLRRLRLRLRRLLRRLLLLLLRLRRRRLRRLRRLLRLLLRLLRRRRLLRLRRLLRLRLRRLLRLLLRRLLRLRLRRLLRLLLLRLRLRLRLRLRRLLLLRLRRRLRRLRLRRRLRLLLLRLRLRRLLLRRLLLRLRLRRLLLLRLLLRLRRRLLRLLRRLRLRRLRRLRRLLLRLLLRRRRRRRRLLLRLRLRRRRLRRLRLLRLRLRRRRLRRLRRLLLLRRRLLRRLLLRRLLRLLRLLRRRLLRLLLRRRRRLLLLLRRLLLLLRLRRRRRRLRRRRRLRRLLRRRLLRRRLLLLLRRRRLLRRRRRLLRLRLRLLLLLLLRRRRLLLRRLRRRRLLLRRRLLLRRLLRLLLRLLRLLLLLRLRLLRLRLRRRLLLLLRLLRRLRLRLLLLLRLLLLRRLLLLLRLRLRRRRRRLLRRLRRLLRLLRRLRLRLRLLRLLLLLRRRRRLRRRRRLRRRRRLLLLRRRRRRLRLRRLLLLLLRRRLLLRRRLLRLRLLRLLLLLLRLRLRLLLRLLLLRRLLRLRLRLRRRRLLRLLLLRRLLRLRLRRLRRRLRRLRRRRRLRRRLLRRRLRRRLRLLLRRLLRRRRLLRLLLLLRLRRLLLLRLRLLRRRLRRRLRRRLLLRLLLRRRRLLLLRLRRRLRRRLLRRRRRLLRLLLLLLLLRRRLRRLLRLLLLLRRLLLLRLLRRLRRLRLRRLRLRRLLRRLRRRLRLRRLRRLRLRRRLRLLRLRLLLLRLLLLRRLLRLRLLLLLRLRLLRLRLRLRRLLLRLRRLLLLLRRRRLLLLRLRLRLRRLLLRLLLLLLLLLLLLRLRLRLRRLLLRRRLLLRRLLLRRLRRLRLRRRLLLRRLLRRRRLLRRRLLRLLRLLLLRLRRLLRRRRLLRLRLLRRLRRRRRLRRRRLLRLRLLRRLRRRRRRRRRLLRRRLLLLRLLLLRLLRRRRRRRLLLLRLLRRLLLRRRLLRLLRLRRLLLRRLLLRLRRLLLLLLRRLLLLRRRRLRRLLLLLRLRLLLLRRLLRRRLRRRLLRRRRLRLLRRLRLLLRRLLLLRLRLRLRRRLLRRRRLLLLRRLRLLLLLLLLRRLLLLRRRRLLRRLLLRLRRRLLRLRLRRRLLLRLRLLRLRRLRRRLLRLLRLRRLRLRLLLRRRRRRLRLRRRLLLLRRLLLLRLRLLRRRRLRLLRLRRLRLLLRRLRLLLLLRLRLRLLRRLLLLRLLLRRLRLRRRRRLRLLLRRLLLLRLRLLRRLLRLLLRRLRRLLLRLRLLRRLRRRLLRLRLLRRLRRRRLRLLLLRLLRRRLLLLLLRRRLRRLLLRLRRRRRLLRRRRLLRLLRRLLRRLLLLLRLLLLLLRRLLRLLLLLRLRLRLRLRLLRRRRRRRLRLRRLRRRLLLLLRRLRLLLRLRRLRRLLLRLRLLLLRRRRRLLRLRLRLLRRLRLRRLLRRRRRRRRLLLLLRLRLLLRLRLLLLLRRLLRRLLRLRRLRLRRRLLRRLRLRLLRLRLLRLLLLRLLLRRRRLRLLRLLLRLLLLRLLRRLRRRLRLRLLRLRLLLRRRLLLRRRRLLRRRLLRLRRRRLLLRLRLLLRLLLLLLLRLLRRRRLLLLRRLRRRLLRRLLLLRRRRLRRRRLLLLRLLLRRRLLLRRRRRRLRRRLRRLRLLLRLRRRLRLRRLRRRRLLRLLLRLLRRLRLLLLRLLRRLLRRLLLLLRRRLRRRLLRLLRLLRRRRLRLRRRRLRRLRRRLLLLLLRLLRLRRLRLLLLLRLRLLLRRRLRRLRLRLRRRRLRLLRRLLLRRLLRRRRRRLRRRLLRRRLLLRLLRLRLRRRLLRRRLRLLLLLRRLLRRLLLLRRRLLLLRRRRLLLRRLLRRRLRLLRLRLRLRLLRRLRLRRRLRRLRRLRLLRRLLLRLRRLRLLRRRLRLLRLLLLRRLLRLRLLLRLRLLRLRLRLLRRLLLRRLRLLRLRRRRRLLLLLRRRRRRRRRLLLLRRLLLRRLLRLRLRRRLRLRLLRRRRLRLRLLLRRLRRLLRLLRRLRRRRRRRLRRRLRRRLRLRRRRLRLLRRRLRRLLLLLLRRLLRLRRRLRRLLLLRLLRLRLLLRRRRRLLRLLRRLLRRLLRRLRRRLRRRLLLLLRRLRRRRRRLRLLLLLRLLLRLLLRLRLRLLLLLRLRRRLLRRLLLLLRRRRLLRLLLLLRLLRRLLLRRLRRRRLRLRRLRRRLLLLLLLLRRRLRLRLLLRLLRLLRRLLRLRLLLRRLRLRRLLLLRRRLLLRRRLLRRLRLRRLLLLLRRRLLRLRLRLRLLRRLRLRLLRLRLRLLRRRRRRLRLLLRLLLLLRRRLRRLRLLRRLRLLLLRLLLLRRLLRLRLLRRRRRLRLRLRLRLLRLRRLRRRLLRLLRRRLRRRLLRRRLLRRLRLLRLRRRLRRRRLRRLLLRLRRLRRLLLRLRLRLLRLLLRRRLLLLRRLLLLRRLLLRLRLLRLRRRRRRRLLLLRLRLLLRRLLRRRLLRLRRLRRLLLRLLLRLRRRLLRRRLRLLRRLLLRLRRLLLRLLRRLRLLLRLRRLRRRLRRLLRLLRRRLLRLLLLRLRRLRRLRRRRRLRRLLLLLLRLLRRRRRRRRLRRRRRLRRRRRRRRLRLLLLRLLRLRRRLRRRRLRLRLLRLRRLLRRLLRRLRLLLRLLRLLRLLRRLRRLLLRRLRLLLLRRLRLRRLLRRRRLRRRRRRRLRLRLLRLRRRRLRLLRRRRLRRLRLLLLLRRLLRLRRLRLLRRRLRLLRLLRLRRLLRRRLLLLRRLLLLLRRRRRRLLRRRLLRLLRRRLRRLLRLLLRLLLLLRRLLRLRRRRRRLRRLRRRLLRLRRLRLLRRRRRRLRRLLLRLLLLRLRRLLLLLLRLRLLRRLRRLLRRLLRRLLLLLRRRRRLLRLLRRLLRLRRLRLRLLLRLRRLRRRLRLRLRRRRLRRLLRRRLRLRRLRLLLLLLRRRRRRLRLRLLLRLLRLLLRRLRLRLRRLLLRLLRRRLRRRRRRRRRLLLRRLRLLLLLLRLRRLRRLRRLRLRRLLLLLLRRRRLRLLLLRRRRLRRRRRRLLLRLRLRLRRLLRLRLLLLRLRRLLLLLRRRRRRRRRRLRLRLRRRRRRRLRRLLRRLRLLRLLLLRRRLLRLRRRRLRLLRLRRLRRLRRRLLLRRLLLRLRRLLLLLRLRRRLLLLRLLRLLLLRLLRRRRRLLLLLLLLRLLLRLRLLRRRLLLLRRRRRRLRLLLRRRRLRLLLRRLLRRRLLRLLRLLRRLRRRRRRRLLLRRLRRLRLLLRLRRLLLRLLLLLRRLRRLLLLRRLLLLLLRLLRRRLLLRRLRRRRRLRLRLRLRRLRLRRLLLLLLLLLLRRLLLRRLRRLRLLRLLRLRRLRRLRRRLRLRRRLLLRRLRRLLLRLRLRRLRLRLLLRRLLRRRLLRRRRRRRLRRLRLLRLRLRLLLLRLLRRLLLRRLRLLLRLLRLLLLLRLLLRRLRRLLLRLLLLRLLLRLRLRRLLRLLRRRRRRLRRLRLRLLLRLRRLLLLLLLLLRLRLLLLLRRRRRLRRRRLLLRLRRLLLRLLLRLLRRLRLLRLRRRLRRRLLRLRRLLLRLRLLLLLRRRLLLRLRLLLRRLLLLRRLRRRRLLLRLRRLLRRRLLLRRRRRLRLLLRRRRLRLRRLLRRRLRRRRLLLLRLRLLRRLRLRRRRLRLLRRLLRLRLLRLRLRLRRLRLRLLRRLRLRRRRRLLRLLLLRRRRRLLRRLLLLLRLLLRLLLLLLLRRLLLRLRLRLRLLRLRLRLLRRLLLRRLRRLRLRLLLRRLLRRRLRLLRRRLLLLLLLRLRRLRRLLLLLRRLLRRLRLRRLRLRRLLLRLRLLLLLRLLRRRRLLRLRRLLLRLLLRLRRLLRRLRLRRRLRLLLRLRRRLLRRRRLLRLRLLRLRLLRLRRLRLLRRLLRLLRRLLRLRRLLRRLLLRRLRLRLRRRRLLRLRLRLRLLLLRRRLLLLLRRLLRLRLLLLRRLLRRRRLRLLRLLRLLRRLRLRLRLRRRLLLLRLLRRLRLLRLRRLLRLRLRLRRRRRLLRLRLRLRLRRLLRRRLLLRRRRRRLRRRLLRLLRLLLRLRRLLRRLLRLLLLLLLRRLRRRLRLRRRRRLRRRRLLLRRRRLLRRLLRRLLLLRRRLRLLRLRLRLLRRRRRLLLRLRLRLRLRRLRRLRLRLLRLLLLLRLLRLLLLRRRLRLLLLRRLLRRRLRLRLRRLLLRRRLRRRRLLRLLRRLLLRRLLLLRLLLRLRLLLRLRRLLRRLRLRRRRLLRRLRRRLLRRRLRRRRRLLLLLLLRLLLLRRLRLLRLRLLRLRRRLLRLRLLLLLLRLRRRRRLLRRLLRLLRLLRLRRLRRLRLRRRLLRRRLRLLLRRLLLLLRLRRLRRLLLRLLRRLRLLLRLRRRLRLLRLRLLRRLRRLLLRLLRLRRLLRLLRLRRLLRRRRLRRLRRRRLLLLRLRLLLRRRRLLLRLRLRRLRRLRRRLLRLRLRLRLRRLLRRRRRLLLLLRRRRRLRLRLRLRRRLLRRRLLRRRLRLRRRLRRRRRRLRLRLRRRRLLRLLLLRLLRLLRLRRLLLRRRLLRRRRRRRLLRRRLLRLRLLRLLRLRLLRLRLRRRRRLRRRRLLRLRLLLRRRRLLLRRRRRLRRLLLLLRRLRLRLRLRRRLLLLLLRRLLRLRRRRLLLLLRLLRLLRLLRRRLRLLLRLLRLLRLRRRLRLRLRRLRLRLRLRRRRLRLLLRLLRRLRLLRRLRLRRLLLLRRLLLLLRLLRLLRRRRLLLRRRRLLLLRLRLRRLLLLRLRRRRLLLRLRRLLLLLLRRLLRLRRRRRLRLLLLRRRRLLLRLRRRRLRRRLRRRRLRRRRRRLLLRLRRRLRRRRLRLRLLLRLRLRLLRRRRRLRLRLLRLRLLRLRLRRLRLRLLRLRRLLRRRLLRLLRRRLLLRRRLRLRLLLLLLLLLLLRRRRLLLRRRLLRRRLRLLRLLRRLLRLRRRRRRRLRRLRRLRRRRRRRRRRLLRRLLLRRRRLLRLRRRRRRLLRRRLLRRLLRRRLRLLRRRRLRRRLRLRLRLRRLLRRLRRRRLRLLLLLLRLRRLLLLLLLLRRLLLLLLRLLLLRLRLLRRRLLLLRLLLRRLRLLLLRLLRRRRLLRLLLLRLLRLLRLRRLRLLLLLLRRRLLLRLRRLRRRRRRLRRRLLRLRLRLLLLLLRRLRLLRLLRLLRLRRLRLRLLLLLRRLRLRLLLRLRRRRLLRRRRLLLLRRRRRLLLRRLLRRRRLLLRLRLRLLLRLRRLRRRRLLLLRLRLLRRRLRRRRLRRLLLRLRRLRLRLLRLLLRLRLRLRRLLLLLLLRRLRRLRRRLLRLRRRLLLRLLLRRRRLLLRRLLRRRLLRLRLLLLRRRLLRRLLRLLLRRRLLLLRLRLLRLLRRLLRLRLRRRRLLRLLRRRLRRRLLLRLLRLLRRLRRRRLRLLLRRLRRRLLLRRLLLRLLLRLRRRRLLLLRRRLLRRLLLRLRRRLRRRLRLRRLRRRRLLLRRLLRRRRRLRLLLRRRRRLRRRRLLRRLLLLRLRLRRLLLLLRLLRLLRRLRRLRRLLRRLLRLLLRRLLLRLLLRRRRRLLLLRLLRRLLLLRRLLRLLLLLRLLRRLRLRLRRRLRLRLRLLRRLLRRRRLRRLRRLRLRLLLLRLLLRLRRLLLLRLRRLRLRRRLRRLRLRLRRLRRLLLLRRLLRRLLRLRRRLRRLLLRLLLRLRRLRRRRLRLRRLLRRRRLRLLLRRLRLLRLRRLLRRLLLLRRLLLRLLRLRLLRRLLRRRRLLLRRRRLRLLRLLLLLLLLLRRLLLLLRRRLLLRLRRRRRRLRRLRRLLRRRRRLRLLLRLLRRRLRRLRLRRRLRRRRLRRLRRRLRLLLRRRRRRRLLRRRRLRLLRRLRRRLRLLLLRLLRLRLRRLRLLRLRLRRRLRRRLLRLLRLLRRRLRRLLLRLLRRLLLLLLRRRLRLRLLRLLLLRRLRLLLLLLLRLLRLLRRLLRLRRRLRRRRRLLRRRRLLRLRLLLRRRLLRRRLLLLLRRRRRRRLLRRLRLRLRLRRRRRRLRLLRLRRLRRLLRRLLLRLRLLRLLRLRRLLRLLRLRLLLLRLLLRRLRLRRRRRRLLLLRLRLLLLRLRLLLRLLRRLRRLLLRLRRLRRLLRRRRRLLLLRLRLRRLRLRLLLLLLRRRLRLRRRLLRLRRRRLLRRRRLRLLRRLRLRRRRRRRRRLLLLRRRLLLLLLLLRLLRRLRLLRLLLRRLRRRRLRRLRLRRRRRLLLRLLLLLRLRRRLLLLRLRRRLRRLRLRRLRRRRLRRRLLRRLLRRLRRLLRRLRLRLRLLLRRLLLRLRLRLLLRLLLRLRLRLRLRRRLLLRLRRRRLLLLRRLRRRRLRLRLLLLLLLRLLLRRRLRRLRLLRRLLLLRLLRLRLLLRRRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLRLLRLLLRRRRLLRLLLRLLRRLRLRRLLLLLLLLRRLRLRRRRLRRLRLRLLRRLRLLRRLLLLRRRRLRLLRRLRLRRRRRRRLLLRLLRRLRRRRRRLLLLLRLRLLLRRRLRRLLRLLRLLLRRRLRRLLLRLLLLRLRRLLLRLLRRLRLLLLLLLRLRLRLRRRRLLRRLLLLRLLRRRRLLLLRLRRLRRRRLRLLRRRLLLRRRLLRLLLRRRLLLRLLRRRRRLRRLLLRRLLRRLRRLLRLRRRLRRLRLRRLRRLLRRRRLLLLRLLRLRLRLLRLLRLRLRLRLRRRLRRLLRRRRLRRRLRLRRLRRRRLRRRRLLLLRLLLRLLRLLLRRRLRRRRLLLRLLRRLLLLRLRLRRRRLLLLRLLRLLLRLLLLLLRRLRLRRRRLLRLLLLRLLLRLRLLLLRLRRRRLLRRRLRLLLLRRLRLLLLLLRLLRLLRRRRLLRLRRRLLRRLLLRRRLLRRRLRRLLRRLRRLLRRLLRRRLLLRRRLLRRRRLLRRRRRLLRLRRLRRLLLLLRLRRLRLLRRLLLLLRLRRLRLLRRLRRLRLLLLLLRRRRLRRRRRRRRLLLRLLLRLLLLLRRLRLRRLLLLRLRRRRLLRRRRLRLLLLLRRLLLLLLLLLLLRRRLLLLLRLLRLLLRLLRRLLRRRRRLLRLRRLRRLLRRLRRLLRRLRRLLLRLRLRLLLRLLRRLRLLRLRLLLLLLRLRRLRRLLLLRRLRLRLLRLRRRLRLLLLRRRLLLLLLLLLRLRLLLLLLRRRRLRLRLLRLLRLRLRRRLLRRLLLLLLRRRLRRLRLLLLRRLRRRLLLRLRLLRRLRLRLRLRRRLRLLLLLRRRLLLRRLRRLRLRRLLLLRRRRRLLLRLLRLLLRLLLLRRRLLRLLRRRRLLRLLLLLRLLRLRRLLLLRRRRLRLLRLLLLLRLRRRRLRLRLLLLLLLRRLLRRRLLLRRRLLRLLLLLLRLRRRRRLRLLLLLRRRLRLLRLRRLRRRLLLRRRLRLLLLRLRLRRLRRRRRLRRRRRRRRRRRLRRRRRLRRRLLLRRRRLLRLRLLRRRRRRRRRRRRRLRLLRRLLLRLLRLRLLRLLLRRLRRRLRRRLRLLRRLLRLLRLRRRRRRLLLRRRRLLLRLLRRRLRRRLRRLRLLRRRRLRRRLLRLLLLRRRRRLRLLLLRLLRRLRLLLRRLLRRLRRLLLRRLRLLLRLRRLRLRLRLRLLRLLLLRLLRLLRLLLRLLRRRLRRRRRLLRLRRLRRRLRRRRLRLRLLLRRLRRLLLLRRRLLLRLLRRRLLLLLLRLRLLRLRRRRRLLLRRLLRRLRRRRRRRRLLLLLRLRRLRRLRRRRRLLLLRRLRRRLLLLLRLRLRRRLRRLRLRRRLRRLLRRLRRLRRRLLLRLRRLRRLRRLRRRLRRRLRLRLLLLRRLLLLRLRLRLRRRLRLLLLLLLRRLLRRRRRLRLRRRRRLLRLRLRRRLLLRLRRRLLLLLRRRLLRLLRLRLRRLLRLRRLRRLRRLLRLRRRRRLRRRLRLLLRRRLRLRLRRLLLLLLLLRRLLLRLRLLRRLLLLRLRLRLRLRLLLLLRLRRLRLLRRLLRLRLRLLLRRRRLRRLLRRLLRRRLLRLLRLLRLRRLLLLLRLLLRLLRRRLRRRRLRLRLRRLRRRLLLRLLRRRLLLLRRLRLLLLLRLRLRRLRRLRRRLLLLRLRLLRRLLRRRRRRLLRLLLLLRLLRLLRRLRLRLRLRLLLRRLRLRLRLLLRLLRLRLRRRRLLRRRRRLRRLLRRLRLRRLLRLLLLLLLRLRRLRRLLLRRRRRRLRLRRLLRLLLRLLRLLRRLLRLRLRRRLRLRRRLRRRLRRRLRLRLRLRLLLRRLRLLRRLRRLLLRRLLLRLLRRLRRRLLRLRRRLRRRRLRRRRRLLLLRLLRRRLLLRLLRLRLLLRLRLLRLRRRLLLLRRLLRRRLRRLLRRLLRRRRRLRRRRLLRLLRLLRRRLLRRLLLLRLLLRRLRRRRLRRRRRLRRRRLRLRLLLRRLLLRLRRRLLLRRRLRRRRRLLRLRRLLRLLLRRLRRLLLLLLRRLRLLLRRRRLLRLLRRRLLLRLLLLRLRRLRRRRLRRRRLLLLLLLRLRLRLLLRLRLRLLRLRLRLLLLRRLRLRRRRLLRRRLLRRLRLLRLLRLLLRRLRLRRLLRLRRLLLRLLLRRRLRLRRLRLLRLRRLRRLRRLRLLRRRRRLRLRRLRLLRRRLLRLLRRLLRLLRLRLRLRRLLRRRLLLLLRRLRLLLRLRRRLLRRRLLLLRRLLRLRRRRRLRLRLRLRLLRRRRRLRLRLRRRRRRRRRLLRLLRLRRLLLRLRLRLLLLLLRRLLRRRLLLRRRLLLLRLLLRRLLLRRLLRLLRRRRRRRRRLRLLRRLLLLLLRRRRLRRRLRRRRLRRRRLRLRLLLLRLLLRRLLRRRLLRRLLRLRRLRLRRLLRLLLRRLLLLLRRLRRRRLRRLLLLRLRLRLRRRLRRLRRLRLRLLLRLLLLRLLRLLLLRRLLRLLLRLRLRLRLLLRLRLRLRRRRLLLRLRLRLLLLRRRRRRRRRRRRLRRLRLRRRRLLLRLRLRRRRRRLLLLRLRLRRLRRRLLRRRLRRRLRRRRRRRRRRLRLLRLLRLLLRRRRLRLLRLRRLLRRRLRLRRRLRRLLLRLLRLRLRLLLRLRRLRLRLLRRLLLLRRLRRRLLRLLLRLLRLLLLRRLRLRRRLLLRRLLLLRLLLRLLLRRRLRRRRLRRLLLLLRLRRRLLRRLRLRLRLLRRLRRLRRLRRLLLRRRLLRLRLLLRRLRRLLRLRLLRLLLRRRLLRLRRRLLLRRLLLRRLLRLLRRLRLRRLLRLRRRRRLLRLLRLRLRLRLRLLLLLRRRRLRRLRRRRLRRRRLRRRRLRLLRRRLLRRLRRLLLLRRLRLLLRRRLRLRRRLLLRLLLRRLLLRLLLRRRLLRLLLLRLLRRLLLLRLRRRLRLLRLRLRRRRRLRLRLLRLLLLRRRLLRLRRRRRLRLRLRLLRRRRRRRRRLLLLLLRLRLRLRRLRLLRRLLRLRRLRRRLRLRRLRLLRRLRRLRRLLRRRLLRRRLLRLRRLLLRLLRRRRLRRLLRRRRRLRLRLRLRRRRRRLLLLLRRRRLRRRLRLLRRLLLRLRLRLRRLRRRRLRRLRRRLRLLLRLLLRLLRLLLRLLLLLLLRRLLRRRRLRLLRLRLRLRLLRRLRLRLRRRRLRLLLLLRRLRLRLRRRLLLRLLRRLRLLLLLLRRRLRLLLRRRRRRLLRRRRLRLRLLRLRLRLLRLLRLLLRRLRLLLLRLRRLRRRLLRRRLLRLRLRLLRRRLLRLLRRRRRLLRLRLRLLRRRRRLRLLLLRLLRLRRRLLLRRLRRLLLRRRLRLLLLLRLRRRLRRRRRLLRRLRRLLRLRLRLLRLRRRLLLLLLLLRRLRLRRLLLRLRRLLRLRRRLLLLLRLRLRRRLLLLLRRRRRRRLLLRLLLRRLLRRLLRRRRRRRLLLRRLLLRRLLRRRRLRLLRLRRLRLLLRLLRLLLRLRLLRRLRRRLLRRLRRLRLRRRRRRRRLRLLLRLRRRRLLLRRRLLRLRLRRLLRRRRLLRLLLLRRRRLLRRLRRRRRRRRLLLRLLLRRRRRRLRRLRRLLLRLLRRLRLLRLRLRLLRRRRRRLRRLLLRLRLLRRRRRRRRLRLLRLLRRLLRLLRLRRLRRRRLLRLRLRRRLRRLLRRLLRRLLRRLRLLRLRRLRLLRLRLLLLRRLRRLRRRRLRLLLLLRRRRRLLLLLLRLLRRLRLLRLLLRRRLRRLLLLRLRRLRLLLLRLRRRRRLLRLLLLLRRLLLLLRLRLRRLLLRLLLRLRRLLLRLLRLLLRLLLLRRRRRLRLRRLLLLLLLRLRLRRLRLRRRLLLRLRRLRRLRRRLLRLLLLLLLRLLLRRRRRLLLLLLRRLLLLLRRLLLLRLRRRLRLRLRRRLRLRRLRLRLLLRRRRLLLLRRLRRLRRLRLRLRRRLLLLRRLRLRRRRLRLRRLRRRLLLRLRLRLRRRLLLLRRRLRRLRLRRRRRRLRLRRRRRLLLLRLLLRRRLLRRRLRLLRRRLRLRRRLRRLRLRRRLLRRLRRLLLLLLLLLRLLLLLLRRRRLLLLRLLLLLRLRLLRRRRRRLLRLLRLRRRLRLLLLLLLLLLLRRLRLRRLRLLRLRRRRLRLLLRRRLLLRLRRRLLLRLRRLRLLLRLLLLRRRRRRLRLRLLLRLLLRLRLRRLLRRRLLRLRRLLRRLLLRRLRLRRRRLRRRRLLRLRLRRLRRRRLLLRRLLLRRLRLLLLLRLRLLRLRRRLLRRLLLLLLRRLRRLRLRLRRRLLRLLRRRRLLLLRRLLLRRLRLRRLLLLRRLRRRRLLLLRLLRLLLRRRLLRRLRRLRRRLLRLLLLLRRLLLRRLRLRLLLLRRRRRRLRRLRLLLRLRLLLLRRRRRRLRLRLLRRLLLRRRLRRRLRRLRLLLRLLRLRLLRLRRRRLLLLLLLLRLRLLLLLLRRLRRLRLLRLRRLLLLRLLLLLRLLRLLRLRRRLLLLLRLRRLLRLRLRLRRLRRRLLRLRLLLRRRLRLRLRRRLRLRLRLRLLLRRLRRRRRRRRRRRRLRLLRRRLRLRLRRLLLLLLLRRRLLLRRRRLLLRRLLLLRRLLRLRRLRRRRRLRLRRRLRRRLLLRLLLRLLRRLLRRLLRRLRRLLLLLLRLRRRRRRLLLLRLLRLRRLRLLLRRRRRRLRLLLLRLLLRLLLLRLRLLLRRRRRRLLLRLLRLLLRRLRRRLRRRLRLLLLRRRRRRLRRLLRRLLLLLLLLLRLRLRRLRRRRRLLRLLRLLLRLRLRRLLRRRRRRLRRLLLLLRLRLLRRLLLLRRRRLLLRLRRLRRLLRLLRLLRLLLRRLRLLLLLRRLRLRLRRRLLLRRRLRRLRLLLRLRRLRRLRRLLRRRLLRLLRLRRRRLLRLLRLLLRRRRRRLLRRRLRRRRRLRLRLRRRRLLRLRRRRLLRLLLLLRRRRRRRLRRRRLRLLRLLLLRLRRLLRLLLLRRRLLRRRLRRRRLLLLLLRRLLLLLRLRRLLLRLLLLRRLLRLLRRRLRLRLRRLRLRRRRLRLRLLLLRRLRRRRRRRRRRLLLLRLRLRLRLRLRLRLRLLRLRRRLLRRRRRLRRRRLRRRRRLRLRRLRRLRRLLLLRLLLRRLRLRLLLRRRLRRRRRRRLRLRRLRLRLRLRLLRRLLLRRLRRLLLLLLLRLRRLLRRLRRRRLRLLLRRLRRRLRRRRLLRLLRLRLLRRLLRLLLRRLLLRRLRLLRRLRRLRRLLRLLLRLRRRRRRRRRRLRRLLRLRRRRRLRLRRLLRLRLLLRLRLRLLLLRLLLLRLRLRLRLRRLLRLLRLRLLRRLRLRLRLLLLRRLRLRLRRRLLLRRRLRRRLRLLLRRRLRRLLLLRRRLRLLRLLLLRRRRLLLLRLRLRLLLRRLLLRRRLLLRLLLRLRRLLRLRRLLLLRRLLRRLRLLLRLLRLRRLRLRLRLLRLRLRRLLRLRLLRLLLRLRLRRLRRRLLRLRRRRLRRLRRLLLLLLRRLLRLRLLRRLRLRRRLRRLRRRLRRRRLLLLRLRLRRRRLRRRRLRLLLLLLLRRLLLRLRLLRLLRRLRRLLLRLLRRRLLLLRLLLRLLRLLRLRLRRLLLLLRLLRLLRRRLRLRLRLRRRLLLLRRLLRLRRRLRLLLRRLLLLLRLLLRRLRLRRLRLRLLRRLLLRLLLLLLRLRLLRRRLRLRLLRLLLRRLRLRLLRLRLRRRRRRLLLLRRRRRLRRRRLRRRRLRRRLLLLRLLRRRRLLRLLRLRLRRRRLRRLLRLRRLRLRRRLLLLRRLRRLRRLLLLLRLLRRRLLLRRRRRLLLRRRLLRLLRRLRRRRRLRLRLLLLLLRLLLRRLRRLLLRRLLRLLRRLRRRLLLRLLLLRRLLLLRLRLLRLLLRRLLLLLRLRRLLRRLRRRLLLLRLRLRLRLRRRLLRLLLRRLRLLRRRRRLRRLRRRLLRRRLRRRRRRRRRLLLRRRRLLLRLLLLLLLLLRRLRLLLLRLLLRRRRRLRRRRLRLRLRLLRRLLRLLLLLLRLLRRLRLLLRLLRLRLLRRRLRRRRRRLLLRLRLLRLLLRLLRLLLRRRRLRRRRRRLRLLLRRRRLLRLLRRLRRRLLLRLLRLLRLLRRLLLLLRRRLLRRRRLRLLLRLLRRLRLRRLRLRRLLRLRLRLLRLRLRRRLRLRRRLLRRLRRLLRLLRLRLLRRLRLLRLRRLLLRRRRRLRLRLRRLRLLRLLRRRLLLLLLLRLLRLRRRLRLRLLRRRRLLLRRRRRLLLLLLLRLRLRLLLRRLLLLRLLLRLLLRLRRLLRLLRLRLRLLLRLRRRRRRRRRRRRLRRLRRRRRRLRLLLRLLRLRLLLRLRLLLRLRRLRLRRLRLRLLLLLRRLRLRLLRLLRLLRLLRRRRRLLLRLLLRRRRLLRLRRRLRLLRRRLLRRLLRRLRRLLLRLRRLLRRRRRLLLLRLRLRRRLRRRRRLRLLLRLLLRLLRLRLRLRLLRLRLLLLRLRLLLLRRLRLLLLLRRLRLRLRRRRRRLRRRLRLLRRRRLLRRRRRLRLRRLRRLRLLLRRLRLRLRLLRLLRRRLLRRLRLLRLLRLRLRRLLLLRRRRRLLLLRRLLRLRLRRLRLLLLRRRLRLRRRLLLLLLRLRRRLRLLLRLLLLLRLRLLLLLRRRRLRLRLLRLLLRRRRLLRRLRLRRLRRLLRRRRLLRLLLRLRRRRRLRLRRRRRRRRLLRLLRLLLLLRRLRRLLRRRRRLLRLLLRLLRRLRLLRRLRLLLLRRLLRLRLLRRRLLLRRLLLLLRRLLRRLLLLLRLRRLLLLLLRLLLRLRLRLRLLRRLRRLRLLRRRRRRRLLRRLRLRRLRRRLLRRLRRLLRLRRLRRRRLLLLRRRRRRRLLRLRRRRLRRLRRLRLLRRRLLRRRRRRRRLLRRLLRRLLRLRRRLRLLLLLRLLLLLLLRRLRLLLRRRLLRLLRLRRLRRLRRLRLLRLRLRLRRLLLRRRLRRLRRLLRLLLLRLLRRRRRRLLRLRRRRRRLLLLRRLLRLRLRRRLLLLLLLLLRRRRLRRRRLLRRLRLLRRLRRRLRLRRLRLLLLRRRRLLLLRLLRRRRRRRRRRLLRLLLRRLRLLLRLLLRRRRLRLRRRRLRRLLRLRRRRRLRRLLLLRLLRRLLRRLLLLLRRLRLRLLRRLRRLLRLRLRLLLLRLRRRLLRLLRLRLRRLRRRLRRLLLLRLRLLRRLRLRRRLLLRRLLRRLRLRLRLRLRLLRRLLLRLRLLLLLRLLLLLRLLRLRLRRRRLLLLRLLLLRLLRRRLLRLRRLLLRRLLRRRRLRLRRLRRRRRRRRRRLLLRRLRLLRRLRLRLRLLRLRLLLRLRLLLLLRLRLLRRLLRRRRLLRRLRRRRRLRRRRRRRLLLLLRLRLRLLRRLRRLLLRRLLLRLLLRLRRRLLRRRLRRRRRRRLLLLRLLRLLRLLRLRLLLRLLRRRRLLLRRLLLLLRLLLRLRLRRLLRRLRLLRLRRLRLRLLRRLLRLRRLRLLLRLRRLRLLRRLLRLLRLLRLRLRRRLRRRLLLLRLLLLRRLLLLRLRLRLLRRRLRRRLLRRRRLRLLLRRLLRRLLLLRLLRLLLRLLLLRLLLRRLRLLLLLRLRRRLLLRLLLLRLLRRLLLLRRRRLLLRRRRRLRLLRRRRLLLLLLRLRRRRLLRRLRRLLRLRRLRLLLLLLRLLRRLRRRLLLLLLRLLRRLRRRRLRRRRLLLLLLRLRRLRRLRLLRLRRRRRRLRRLLRRRLLLLLLLLRLLLLLLLLLLLRRRRLLLRRLLRRLLLRRRRRLRLLLLLRRLRLLRRLLLLLRLLLLLRRRRRRRLLRRLLRRLLRRRRRLRLRLLRRRRLRLLLRRRLLRRLRRLRRLLRRLRRRRRRLRRRRLRLRRRLRRLLRLLLRRLRLRRLLLRLRLRLLLRRLLLLLLLLRLRRRRLLRLLLRRLRLRRLRLLLLLRLLLRRLRRLLRLRLRLRRLRLRRRLRRRLLRRLLRRLLLRLLLLLLLRRLLRRRLRLRLLRLRLRLLLRLLLRRRLLLLLRLRLLLLRLLLRLLRLRLLRLRRLLLRLRRLLRRLLRLLRRRLRLRLLLRRRLRRRRLRLRLRRRLLLLLRLLLRRRLLLRLRLLLLLLRRRRLLLRLRLLRRLRRLRRLLRRRRRLLRLRLLRLLLRRRRLRRRLLRRRRRLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRRRRLRLRLLLLLRLRRRLLRLRRLLLLLRRRRRRRLLLLRLLLRRLLRLLLRRLRRLRRLLRRRRLLLLRLLRLLRLRLLRLLLLRRRLLRLLLLLLLRRRRRRLLRLRLLLLLRLLRRLRRRRRLLLLRLRLRRLRLRRRRLLRRLLRRLRRLRLLRRRLLRLRLRLLLLRLLLRRRRRRRLLRLRRRRLLRLLLLLLLLLRLLLLRRLLRRRLRRRRLLRLRRRRLRLLLLRRRRRLRLRLLLLRLRLRLLLRLLRLRLRLLLRLRLLLRRRLRLRRRRLRLLLRRLRLRRRLRLLLLLLRRRLLLRLLLRRLLLLRLLLRLRLLRRRLLRRRLRRLRLRLLRRLLLLLRRLRRLRRRLRLRLRLRRRRLRLLRLRRRRLLRLRRRLLLLRLLLLRRLLLLRRRRLLRLLLRRLRLLLLRRLLLLLRLRRLLRLRLLRRRLRRLLRLLLRRLLRLLLRRLLRRRLLLRRLLRRLLLRRLRLLRRLLLRLLRRRRLLLRRRLLLRRLLRRLRRRRRLLLLRRLRLRLLLLLRRLLRRRLLRRLLRRLRLLRLRRRRLRRRRLLRRRRLLLLLLLLLLLRRRLRRRRRRRLRRLLRRLLRLLLLLRRLRLLLLLRRRRLLRRRRRLRRRLRLRLLRRRRLRRLLRRLLRLLRRRLRLRLRLRRLRRLLLLRLLLRRRRRLLRRRLRLLLRRLLLRLLRLRRRRLRLRRLRLRLRLLLRRLLLLLLLLRRLRLLLRLRRRRLLRLRRLRLRLRLRLRRRRRRRLLLRLRRRLLRRLLLLRRLRRLLRLLRRRRLLLLLRRRRRLLLRRRLRRLLRLLRLLRLRLRRRRLLRLRRLRLLLRRRLLLLLLRLRLLRLRRLLRLLLRLLLRLRRLRRLRRLRLRRRRRRLRRRRLRRLRLLRRLLRLRRRRLLLRRLLLLLRLRLLRLLRLRLLLRRLLLLRRLRRRLRLRRLLLRRLRRRRRLRLLLLLRRLRRRRRLLLRLRLLLLLRLLLRRRRRLLLRRLRLRLRLLRRLLRLRLLLLLLLLLLLRRLLLLRLLLLLRLLRLLRRRLLRLLLLLLRLRRRRLRLLRLRLRRLLRLRLRLLLRRLRLLLLLLLLLRRRLLRRLRRLLLLLLLLRRRLLLRRRLLRLLLLRLRLRLRLLRRLLLLRLRRRLLRRLRLRLLLRRRRRRLRRRLLLRRRLRLRLLRLLRLRLLRLRLLLRLRRLRRRRLLRLLLRRLLRRLRRLRRRRLRRLLRRLLLLRRLRRRRLLLLRRLRRLRRRRRLLRLLRLRRLLLRLRRRRLRRLLRRLRLRLRLLLRRRRLRRLRLLLLLRRLLRLLLRLRRRRLLLLLRRLLLLLRRRRRLLRLRLLRLRRRRRRRRRRLLLLRLRLLLLRRLRLLLRLLRLRRLRLLRLLLLLRLLLRLLLRLRLRRLRRLRRRRRRRRRLLLLLLLRRRRRLLRRRLLLLLLLLLLLLLRRLLLRLLLRLRLRLLLRRLRLRLLRRLRRLRLLLLLRLRRRRLLRLLRLLRLRLLLRRLRLLRRRRLLRLLLRLLLLRRLLRRLRRRRRRRLRRRRLRRLLLRRRLRLLLRRRRRLLRLRRRRLLRRLRLRRLLLRLRLLRRLLRLLRRRRRRRLRLLRLLRRRRRRLRLLRLLRLRLLLRLLLLRLLRLLLRRLRLLLLRRRRRLLRLLLLLLLLLRLLRLRRLLLRRRRLRLRRRLRRLLLLLRLRLRRRRRLRRLRRLLRRLLRLRLLRLLLLLRLRRRRRLRRLRLLRRLLRRLLLLLRLLLRLRRLRRLRRLRRRRRRRLRLLLRLRRRLLLLLRRLRLLRLLLLRRRRLRRLLRLRRLRLLLLLRLLLRRRLLLLLLLRRRLRLRRRLLLRRRRLRLRRLRLLRRLLRRLLRLLLRRLRLLRRLLRLRRLRLLRRRRLRLRLRRRLRRRLRLRRRRLLRRLLLLLRLRRLLRRRLLRLLRLLLRRRLLRLRLRLLRRLRRLLLLRRRRRLRLRRLRRRLRRLRLRLLLLRLRLLRRLLRRRLLLRRRRLRLLLRRRLLRLLLLLLLRLLRRLRLRRRRLLLRRLRRRLLRRRRLRRRRLRRRRLLLLLRRLLRRRLRRLRLLLRRLLLRRRRLLRRLRLLLRRRLRLLRRRRRRRLRRLRLLRLLLLLLRRRLLLRLLRRRRRRRLRRLLRRLRLRRLRLRRLRLRRRRRRRRRLLRLLRLLRRLRRLRLLRRRRRLLLLRLLLLRLRRLLLRRRRRLLRRRRRLRLRLRLLRRLRLRRRRLLRLLRRRRRLLLRRRRRRRRLLLRLRLLLRLLRLLLRLRLRRLLLLLRLRLRLRLLLLLLLRRRRRRRRRLRRLRLRLRRRRLLLRRRRLLRRRLLLRRRRLLRLLLRRLLLRRRRRLLRLLLLLLRRRRRRRRRRRRLLLLRLLLRRLLLLLRLLLLLLRLRRLRRRRLRRLLLLRRLRLLRLLRLRRLRLLLRRLRRRRLRLLRLLRLRRLRRLRLRLRRLLLRRRLRLRRRRLRLLLLRRLRRRLLRRLLRLLLRRRRRLRLRLLRRLLLRLLLRLLRRRRRLRRRRRRRLLRLLLLLLLLRLRRRRLLLLLRRRRRRLLLLRRLRRLLRRRLLRLLRRRLLLLLLLRLLLRLRLRLLRLRRLRRLRRLLRLLRLRRRRLRRLLLLRLRLRLLLRRRRLLRLRLRLRLRLLLRRLRRRRLLRRRRLRLRLLRRLRRLLRRLRRRLLLRRLLLLLRLLLLLRLLLRRLRRRLLRLLLLRRRLRRRRRLRLRLRRRRLLRLRLRRRLRLLLLLRRLRRLLLLRRLLRRRRLLLLLRRLRLRRRRLRLLLRRRLLLLRRRLLRRRLLRLLRLLLLRRRLRRLLLLLLLRRLRRRRLRLRLLLRRRLRLRRLLLLLLRLLRRLRLRRLLLLLLRLLLLRLRRLLRLRRLRLLRLRLLLLLRRLLRLRRLRRRRRRRLRRRRLLRRLRRLRLLLLLRRRRRRLRLLLRRLRLRLLLLLLLRLRLLRRRRRRRLRLRRLRLLRRRLLLRLLRRLLLLLLRRRLRRLRLRRLLRRLRRLLRRLRRLRLLLLLRRLLLRRLRRLRRLRLRLLLRRRLLRRLLLLLRRLRRLLLRRLRRRLRRLRRRLLLRRLLLLLLRRRRRRLLLRLLRRLRRLLRRLRRLRLRLLRLRRLRRLRRLLRRRRLLRRLLRRRRLRLRLRRRRRLLRRLRLRRRRLRRLRLRLRLRLRRRLLLLRRRRRRLLRLLLLLRRLLLRRRLLLRRLLRRLLLRLLRRLRRRLRRLRLRRLRLLLLRLLRLRLLLRRLRRLRRRLLRRRRRRRLLRRRRLRRLLRRRLRLRRRLLLRRRLRRLRLLLRLLLLRRRRLLLLLRLRRLRRRRLLLLLRRRRLRLLRRRLRRLLRRRRRRRRLLRLLLRLRRLRRRLRLLRLRRRRLRLLRRRLRRRLRLLRRRLLRRRLRLRRLLRLLLRRRRRLRRRLLRRRRLRRLRLLLLRRRLRLRLRLRRLRRLLLLRLLRLLLLRRRLRRRLLLRRLLRLRLLLLRRLLRRLRRRLRLRRRLLLRLRRRLLLRLLLLLLLLLRLRLLRRLRLLLLRRRLLRLRLLLLRRRLLLLLLRLRRRLLLLLRLLLRLLLRRLLLRRRRRRRLLLLLLRLLRLRLRRLRRRRRRRLLRLRRLLLLLLRLRLLLRRRLLRRLLLLRLLLRLRLLRRLRLRLRRRRLRRLRLLLRLRLLLLLRLRRRLLRRLLLLLLLLLRLRLLRRRLLLLRRRRLRRLLRLLLLRRRRRLLLRRLLLRRRRRLRLLLRLRRRRRRLLLRLLRLRRRRLLRLLLLLRLLLRRLLRRRLRRRRLRRRRRLRLRLLRLRLRRRRRLLRRLRRRLRRLLRRRRLRLLLLLRLRRLLRLRRRRLRLLRRRLRLRLRLRLLRLLRLLLRRLRRRRRLRRRRRLLLRLLRRRLRLLRRRRRLLRLRRLRRRLRLRLRRLLRLRLLLLRLLLRRRLRLLLRLRRRLRLLLRRLRRRRLRRRLLRLLLLLRLLRLLRRRRRRRLRRRLRLRLRRRRLRLRRLRRRLLRLLLLLRLLLRLRRRRRRLRLRLRRLLRRLRRRLLRLRLLLRLLRRRLLLLRLLRLLLRLRLRRLLLLRRRRRRLLLRRRRLRLRRLLRLRLLRLLLLRRLRRLRLLRRRLRRRLLRRRRRLLRLRLRLLRLLLLLLLRRRLRLLLRRRLLLLRRLLRLLRLRLRRLRRLRLLLRLRLLLLRLLLRRLLRLLRLRRLRLRRLRRLRRLLRRRLRRRLLLRLLLLLLRRLRRRLRLLLLRRRRLRRLRRRRLRRRLRRRLRRRRLRLLRRLLRLRRRLLRLRRLRLRLLLRRLRLLLLLRLRRLRRLRLLRLRLLRLLRLLLRRLRLRRRLRRLLRRLLRRRLLRLRRLLLRRLRRLRRRLRRRLRRLRLRRRRLLLLLLRRRRLLRLLRLLLRLLLRLLLRLRRRLLRRRRLLLRLLRRLRLLRLRLRLRRRLLLRLLLLLRRLRRLRRRLLRRLRRLLLLLRLRRLRLLLRRRLRRRLRLRLLRRRRRLRRLRRRLRLLLRLLLLLRLRRRRLRLLRRLRRRLLRLRRRRLLRLRLRLRLRLLLLRRLLLLRLLRLLLRLLRLLRRLRRRLLRRLRLRRLLRRLLLLLLRLRLLRRRRLLRRLRLLRLLLLRRLLLRLRLLLRRRRRLLRRLRLRRLRRRLLRRLLLRRRRLRLRLLRLRRRRRLRLRLLRLLLRLLLRLRLLRRRRLLLRLRRRRLRLLRRLLLLLLRRRLRRRLRLRLRLRLRLLRRLRRRRRLLLRLRLRRRLLRLRLRRRLLLRLRLLRRLLLLRRLRRLLRRLRLRLLRRLLLLRLRLLRRRRRLRLRRLLLRRRLLRLRRLLLLLLRRRRLRRRRRRLRRLLRLRLRRRLLLLLLRRLRRLRLLLLLLRRRLLLLLLRLLRLLLRLRLRRLRRLRLLLRRRRLLLRRLRLLLLLRRLLLRLLLLLRLRLLRLRLLRLLRLLRRRLRRRLRLLRLLLLRLLRLLLRRRLRRRLRLLRLLRRRRLLLRRLLLRLRLLLRRRRLLRRRRLRLLLLRRRLRLRRLLRRLLRLLLRLRLRLLRRLLLLLRLLRLRRRLLRLRLLLLLLRLLRLRLRLRRLLLLRLRLLLLRLLLLLRLLLLLLRLRRLRLLLRLRLLLRRRLRLLLRLLLRRRLLRRLLRLLRLRRLLLLLRLLLRRLRLRLRLRLRRLLRRLRRRLLLRLRRRLRRLLLRLLLRLLLRLRLLLRRLLLLRLRLRRLRRLRLLRLLRRRLRRRLRRRLLRLRRLRLLLRLLRRLLRLLRLLLLLLLLRRRLLRRRRLRRLLRLLLLRRLRRRRLLRLLLLRRRRRRRRRRLLLRLRLLRLLRRLLLRRLLRLRLRLRLRRRLRLLLRLLLRLRRRRRRLRRLLRRRLRLLRLLRRLLLRLRRLRLRLLLLLRRRRLRLRRRRRLLRRLLLLLRLRRRRLRLRRRLRLLRRRLRLRRLLLLRRRLRRLRLRRRRRRLRRRLLLLLRLLLRRLLRRRLLLRLLRLLLLRRRLLLRRLLRRRRRRRRRRLRRLRRLRLLLLLLLLRLLLLRLRLRLLRRLRLLRLLLLLRLRLLRRRRRRLRRLRRRRLRLLRLRRLRRLLLRRRRRLLLRRRRLLLRLRLLRRRRLRLRRRLRRLRLRRLRRLRRRLLLRLLLRRRRLLRLLLLLRRLLRRRLRRRRRLRRRLLLLRRLLLRLRRLLRRRRRRRRRRLRLLLRRLLLRLLRLRRRRLLLRLRRLLRLRLLLLLLLRRLLRRLRLLLLLLLLRRLRLLRRRLLRLLRLRRLLLLRLRLLLLRLLRRLRLRRLRLLLRRRLLLRLLRLRLRRRRLRLRLLLRRRLLRLRRRRLLRRLRRLLRLLLLLRLLLRRRRRRLRLLRRLRLRRRLLRRLLLLLRLLLLRLLLRLLLLRRRLLRLLRLRRRLLRRLRRRRLLRRLLRLRLLRRRLRLLLRRRRLRRRLRRRLLRLRRLLLRRRLRLLLLRRLLLRLLRRLLLLLLRRLLLRLLRRRRLRRRRRRLLRLRLRRLRRRLLLLLRLLLLRLRRLRRRLLLLLRRLRRRRRLLRRLRRRLLRRRLRRLRLRRLLRLLRRRLLLRRLRRLLRRLRLLLRLLRRRLLLLRLLRLLLRLRRRRRRLRLLLRLLLLRLLRLRRLLRRLRRLLRRRLLRRRLRRLLLRLLRLRLLRRRLLRRLRLLRRRLLLLLRLLLRLRRRRLLLRLRRLRRLRRLRLRLLRLLRLRRLLLLLLRRRRRRLLRLRRRRRRLLRLRRLRRLLRLRRLLRRRLLRRLLLLLRLLLLLRRLRRRLRRLRLRRRLLLRRRRRLLLRRRLLLLRRLRLRRRRRRLLLRRLRRLLLRRLLLRRLLLLLLLLRRLLRLRRLRLLRRRRLRRRLRLRLLRLLRLRLLLRRRLLRLRLRRLRRLRRLLRLRLLLRLRLRLRLLLRLLLRRLLRLRRLLRRRRRRLRLRLLRRRLRLLRLLRLLRLRRRLRRLLRLRRRLLLRLLRRLRRRRRRRRLRRLLRRLRLLRRRLRLRLRLLLRLRRRRRRLRLLLRLLLRLLRLLLRLLRRRRLRLLLLRLLLRLLRRLRLRRLLLRLRRRLLRLRRRLLRRRLRLRLLLRLRRRLLRRRLRLLLRRRLRLLRRLLLRLLLLLRLLLRLLLRLLLLRLRRRRRRRLRRLRLLRRRLRLRLRRRRRLLLLLLLRRRRRRRRLLRLRLLRLRRRRRRLLLLLLRRLRRRLRRRLRLRLRLRLLLLLRRLLLRLRRLRRRRLLLRRRLLRLLRLLRLLLRLLRRRLLLLLLRRLLLLRRRRRRLLRRLRLLRRRLRRLLLRLRLRRRLRLLRRRRRLRRRRRRLRLRRRLLRRLRRLRRRLRLLLRRLRLRLRRLRRLLRRLRRRRRLLRRRLLLLRRLLRLLRLLLLRRRRRRLLRRLLLLRLRRRLRRLRLLLLLRLRRLLRRLRRLLRRRLRRRRRRLLRRRRLRRRLLLLRRRRRRRRRRRLRLRRLRLLLRRRLRLLLRLRRRLRLLLLRRLLRRLRRRLLRLLLLLLLRLLRLLLLLRRRRLLLRLLRRLLRLLRRLRRLLLRLRRRLLLRLRLLLLRLLLRRRRRRRLRLLRRRRLLLLRRRRLRRLLLLRLRLLLLLLLLRRLRLRRRLRRLRLLLRLLLLLLRLLRLLRRLLLLRRLLRRRLRRLLLRRLRRRRRLLRRRLRRLLLLLRRLLLRLLLRRLRLLLRRLRRLRLRLLLLLLLRLRRRRLRLRRLLLLLRLLLLRRLLRLLRLRLLLRLRLRLLLRRRLRLRRRRRRRRRRRLLRLRLRLRLRLRRRLLRLRRRRLLLLLLLLLRRLLLRLLLRLRRRRLRLRRLLLLLLLRLLRLLLRRLLLLRLRLRRLRLRRRRRLRLRLLRRLRRLLLLLRRRRRRRLLLRRLLRLLLLLLRRRRRLLLRLRRRLRRLRLLLLLRRLRRLLLLRLRRRLLLLLLLLLRRRLRLRRLRRLRRLRRLRRLRRLLLLRLRRLRRRRLRRRRLRLRLRRRLRRLLRLRLLRRRLRRLLLRLRLLRLRRRLRLLRLLLRLLRLRRLLRLRRRRLLRLRRRRRRLRRLRLRRLRRLLLRLRRRLRRLLRRLLRLLRLRRRRLRRLLRLLRRRLLLRRLRLLLLRRRLLRRRRLRRLLLLLRRLLRRLLRRLLLRRRRLLLLRLRLLLLRRLLLLLLRLRRRRRLRLLLLRRLLRLLRLLLRLRRRRRLRRLLLRLRLRLRRRRRRLRRLLRRLLLRLRLLRLLLRRLLLLRRLRRRRLLLLRLRRRLLRLLLLLRRLRRRLRLLRRRRRLRRRLLLRRRRLLRRLRRRRLLLLRRLLRRLLLLRLRRLLRRRRRLLLRRRRLLLLLLLRLLRLRRRLRLLLLRLRLLRLRLLRLRLRLRLLRRRRLLRRLRRLLLLRLRLLLLLRRRLRLLLLLLRLLRRRLLRRRLLRRRLRLRLRRRLRRRLRRRRRLRLLLRRRLRRRLLRLRLRLLLRRRRLRRRLRRLRRRLLLLLRLLRLLLLRRRLLRRLLRRRLRRRLRRRLRRLRLRRLRLRLLRRRRLRRLRRRRRRRLRRRRRRRLRRRRRLLRLLLRLLRLRRLRLLRRRLRLRRRRRRRLRRLRLRLRRRRRLLLRLLRRRLRLLRLRRRRRRLRRRRLLRLLLRRRRRLRLLLLLLLRLRLLRLLRRLRLLRRLLLLLRLLRLRRRRRLRRRLLLLLRRLLLLLLRRRRLRRLLRRRLRLRRLRLRRLLLLLRLRLLLLLRLLLLRLLRRRRLLRRLLLLLLRLRLRLRRRRRRRRLLLLRRRRLRLLLRRLLRRLRLLLRLLLRLLLLRRRRLRRRLRLLRLRLRRRRLRLRRRRRRRRRRLLRRLRRLLLLRRLLRLRRRLLLLLRLRRRRRLLRLRRRRLLLLLRRLRRLLRLLRRRRLRLRRRRRRLRRRRLRRLLRLLLLRLLLRRRLLRRLRRRLLRRLRLLRRRLLLRLLRRRRLLRRLRRLLLRLRRRRLLLRRRLRLRRRLLRRRLLRRLLRRRLRLRRLLRLRRRLRLRLRLLLLRLRRRLLLLRLLLRLRRRRRRLLLLRLLLRRLLRLRRLLRRLLLRRRLLRRRLLLLLRRRRLRLLRRRRRLRRRLRLLLRLLRRRLLLLLRRRLLRLLRLRRLRRLLLLRRLRLRRLLLRRRRLLRRRRRRRRLLLRRLRRRRRLRRLRLRRRLRLRRRRRRRLRRLRRLLLRRRRRRRLRLRLRRRLRLRRLLRRRRLRLRLLLLRRLRRLLLLRRRRLLRLRLRLLLLRLLLRLRRRRLLRRRLRRRRRRLRRRLLRRLLRRLLRRRLLRLRLRRRRLRRRLLLLRRRLLRLRRRRLRLLLLRLLLLRLRRRLLRRLRLRRRLRLLRLRLRRLRLRLLLLLLRLRLRRRLRRRRLRLLLRRLRRRLLRLLLRLRLRLRLLLLLLRRRLRLRLLLLRRRLLLRRRRRLLRLRLRLLLRRLRRLRRRRLLLRLRLRRLRRLRRRRLLLRRRRRLRRLLLRLLRRRRLRLRLLLRLLLLLLLRLLLRLLLRRLLRRRRLLLRRRRLRRLLLLRLRRRRLRLLRRRLLLRLLRLLRRRLRRRLLRLRLLLLRLLRLRRLLLLRLRRLLLRLRLLRLRLRLLLRLRRRRRLLRLRRRRRLRRRLLLLRLLRRRRRRLRRLLRRLRRLLRRRRLLLRRLRRRLRRLRRLLLRRRRLRRRRRLRLLLRLRLLRRRLLRLRRLLRLRLRRRLLRLLRLLRRRLRRRRRRRRRLLLLRLLRRLRLRLRLRLLLRLRRLLLLRRRLLLRRLRLLLRRRRRRRRRLRRLRRLLRLRLRRRRRLLLLLLLLLLRRLLRLLRRLRLRLRRRLLLLRRRLRRRLRLLLRRLLRLLRRRRLRRRRLLLLRLLRRLLRRRLLRLLRLLRRRLLRRRRLLLRRRLLRLRLRRLRLLLLLRRLLLRRRRLRLRRRRRRLLRLRRLRRRRRLRLRRLLLLRRLRRRLRRRLLRRRLLLLLRRLLLLLLLRRLLRLLLLLLLRLLRLLRLLLRLLLLRRLRLLRRRLRLLRLLLLRRRLRLLRLLRLRLLLLLLLRLRRRLRRLRRLRRRLRLLRLLRRRRLLRLRRRLRLLLLLRLLRRRRRLLLLLLLLRRRRRRLLRRRRRLRLRLLLLRLRRRLLRRLLRRLRRRRLLRRRLRLRLRRLLLLLLRLLLLLRLLRRRRLRRRLRRLRLRRRRRRLRRLLRRLRRRLLLRLLRLLRRLLLLRRRLLRRRLLRLLLRRRRRLLLLLRLLRRRRLLLLRLRRLRLRRLLLLRRLRRRRRRRRRLRRLRLLLRLLLLRLLLLRLLRRLRLLRRRRRLLLLLRRRRLLLLRRLRRRLRLRRLLLLRRLRRRRRRLLLRLLRRLRRLLLLLLLRLRLRRLRRLRLRRLLRRRRRLRLLLRLLRLRRRRLRLRRLLLRRRRRRLRLLRRRRLLLRRRRLLRRRRLLRRRRLLRRLRLRRLLLLLLRLLRLRLLRLLRLLRLRLRRRLRRLRRRRRRLRRRLLRRLLRRRLLLRLRRLLLRLLLLLRLRLLLRLRRLLRLRLRRRLLLRLLRLRRLRRRRLLRRLLLRRLRLRRRRRRRRRRRRRLLLRLLRRRLLLRLRLLLRRRLRRLRLLLLRLRLRLRLLRRLRLRRLRRLLRLLLRLRRLLLRRLRRRLRRLRLRLRLRLLLRLLLLRRLLRRRRRLRLLLRRLLLLLLLLRRRLRLRRLLLRLRRRRRLRRRRLLLLLLLRRRLRRLRLLLRLRLRRRRLRLLRLLRRRLLRRRLLRLRRRLLLRLRLLRRLRLRRLRRLLRLRLLLLRRRLLRLLRRLLLLLRRLLLRLLLLRRRRRLLRRRRLRRLLRRRLLLRRLLLLLRRLLLLRRRLLLRLLRLRLLLLLRLRRLRRLRRRRRRLLLRLRRRRLLLRLLLLLLRRLRLLRLLRLRLLRLRLLLLLLLLLRLLRRLRRLLRLLLLLRLLRRLRLRRRRRRRLRLLRLRLRLRLRRRLLLRRRLRRRLLLLRLRLRRLRRLRRRLRLLRRRLLLLLRRRRRRLRLRRRLLLLRRRRLLRRRRLLRLLLLRLLLRLLRLRRLLLLLLLLLRLLRRLLRRLLRRRLLRLLRLRRLLRLRLLLRRRRRRRLRRRLLLRRRRLRRRRRRRLLLLLLLLLRRRRRRRRLLLLRLRRLLLRRLRLLRRRRLRRLRLRLRRRLLLLRRLRLLRRLRLRRRRRLLLRLRRRRRRLLRLLLLRRRRLRLLRRLLLLRLRLLLLLLRRLRLLRLLLLRLRRLLRRRLRRLLLLRLRRLRRRRLRRRLRLLLLLLRLLLLLLLRRLRLRRLLRRRLLLLRRRRRRLLLLLLRLRRLLRRLRRLLLRRLLRLRRLRLRRRLLRLRLLLRLRRLRLLRLLRLRRRLRRRRLLLRRLLRLRLLRRRLRRRLLLRRRLRLRRRLRLLRRLLRLLRLLRRLRLRLRLRLLRRLLRRLRRRLRRRRLLRLRRRLRRRRRRRRRLLRRLLLLLRRRRLRLRRLLLRRRRLRLRLLRRLRLRRLLLLRRRRRLLRLRRLRRRLRRLLLLRLRRRLLRRRRRLLRLLRRLRLRLRRLRLLRRRLLRRRRLRRRRLLLRRRLRRRLRRLLLLLLLRLLRRRLLLLRRRLLLRRRRLLLLLLLLRLLRRRRRRLRRRRLLLLRRLRLLRLRLRRLLRLRRLLRRLRLLRRLLLLLLRLLRLRRRLRLLRLRRRLRLLRLLLRLRRRLLRLLLLLRRRRRLLLRLRLLRLLLRRLRLRLRLRLLRRRLRRLLLLRLLRRLLRLLRLRRLRLLLRRLLRLRLLLRLRRLRLLLRRLLRRLLRLLRLRRRRRLLLRRLLLRRRRRRRLRLRLLRRLRLRLLLLLLRRRLRRRLLRLRRRRRLRRRLRRLRRLRRLLRRLLLLRLLRLLLLRRLLRLLRLLRLRLLLRLRLLLRRRRRRLRLLRLLLRLRLLLLRLRRLRLLRRLRRLLRRLRLLLLLRRRLRLRLRLRLLRLLLRRRLLRRLLRRRRRRLLRRLLRLLRLRLLRLRRRLLRRLRLLRRLLLRLRLLLRLLLLLLLLRLLLLLLLLRLLLRRLRRLLRRRLRLLLLRLLRRLRRRLRLRLRRRRLLLRLRLLLRRRRRLRRLLRRLRRLRRLLRRRLLLRLLLLRLRRRLRRRRLLLLLRRRRRLLRRLLLLRLRRLRRRRLLLLRRLLRRLLLLRRRRRRLRLRLRRLRRLLRLLRLLRLRRRRLRLRLRLRLRLLRRLRLRLLRRLRRLLRRLRLLLRRRLRRRLRLRLRRLRRRRLRLLRRRLRRLRRRLRLLLRRLLRLRRLRLLRLRLRRLLLLRRLRLLRLRLRRRRLRLLRRRRRRRLLLLRRRRLRLRLRLRRLLLRLRLLRLLLRRLRRRLRLRLRLRLLRLRLLLLRRRLRLLRRRRLRLRLLRRLLLRRLLLRLRLRRRLRLRRLLRLRRLLLLRLLRRLLRRLRRLRLRRRRLRLRRLLRRRRRLRRRLLLRLRLLRLRRRLLRRLLRRLRRRRRLLRRRRRLLRRRRRRLLRLRRRLRRLLLLRRLRLRRLRLRLLLRLRRRRRLRRRLLRRRLLRLLLLRRRLRRRLRRRRLRLLLLLLRRRRRRLRLLRLRLRRLLLLLRRRRLRLLRRLRLLLLRRLLLLLRLLLRRRRLRRRRLRRLRRRLRRLRRRLLLRRRRLRRLLLRRRRRLLLLLRLRLLLLLLRLLLLLLRLLLLLRRRLRRRLLLLLRRRLRLLLLLLRRLLRRLLLRRLRRRRRRLRRLRRLLRLLLLLLLRLLLRRLLLRLLLLLRLLRLLLLRLRRLRLLRRLLRLRRLLLRRRLLRLLRLLRLLLRLRRRLRRLRLLLRRRRRLRLRRLRLRLRLLRRRRRRLRLLLRLLLLLRLRLLRRLRLRRLRRRLLLRLLRLRRLLLRLLLRRRLLRLRLLRLRLRLLRRRRRLRLLLRRRRRRLLLRRRLLRRLRLLRLRRRLLLRRRRRLLLRLRRLRRRLLRRRLRLRRLRLRRLLLLLRLRLLLRRLLLRLRLRRLRRRLRRLLLRLRLRRLLRLLLRRRLLLLLRLRRLLLLLLLRLRRRLRRLRLLLRRLRLLRLRRLRLLLRLRRRLLLRLLRLLRRLRRRLRRLRRRRRRLLRLRLRLRRLRRLLRRLRLLLLLLLRLLLRRRRRRLLRRRLRLRRLRLLRRLRRRLLLLLRRRRRLRRRRLRRRLLRLLRLLLRLLRLLRRLLRLLLLLRRLRLLLRLLLRRRLRRLLRRLRLLRLLLRRLLRLRRRRRRRLRLLLRRRRLLRLLRRLRLRRLLLLLRLRRLLRLLRRRLRRRRLLRLLLLRLRRLLRLRLLLLRRLLLLRLRLRRRLLLRRLRRLRRRRLRRLLRRLRRLRRLLRRLLRRLRRRRLLRRLLRRLRRLRRLRRLLRLRRLLRLRLLRLRLLRLRRLRLLRRRLLLLRRLLRLLRRLLRRLRLLRRRRLLLRLRLRRLLRLRRLRLRLRRLLRRLRRRLRLRRRRLLLRRLRRRLLRLRRLLRLRLRLLRLRRLLRLRLRLRLLLLRLRRLRLLLRRLLRRLLLRRLLRRRLLRRRRLLRRLRLLLRLLRLLLLRRLRRRRRRRLLRLLLRRRRLLLLLLLRLRRRRLRLRRLLLLRLRLRRLLLLRLLLLRLRRLRLLRLRRRLRRRRRLRLRLLRLRRRRRRRLLRRRRRRRRRLLRRLRLRLRRLLLRRRRLRRLRRRRRRLLRRRLLLRRRRRRLRRLRRRRLRLRRLRRLLRLRLRRRRRLLLLRRLLLRRLLRLLLLRRLLLLRRRRRLLLRLLLRLRRRLRLLRRLLLRRRLRLLRLRRRRLLRRRRRLLLRRRRRLRRLLRRRRLLLRRLRLLRRLRRLLLRLRLRRRRLRLRRRRLRLRRLRRRRLLLLRRRLRRLRLRRRRRLRLLLLLLRRRLRLRRRLRLRLRLRLRRLLRLRRRLRLLRRLRLLRRRRRLLRLRLRRRRLRRLLLRRRRLRLLRRRRRRRLLRLLRRRLRRRLRRLRLLRRLLLRRLRLRLRLLRLLRLLRLLRRRLRLLLLLLLLRRRLLRLRRRRRRLLLRLRRRRLRRLRLRLLLRLLLLLRLLRRLLRRRLLLLLRRRRLLRRRRLLLRLRRLLRRRLRLLLRRRLLLRLRRRLLRRRLRLRRLLLLLRRLRRRLRLLLLRLRLLRRRLLLLRRLRRLRLRLLRLRLLRRRRRRRRLLRRRLLLRLRRRLLRRRLRRRLRLRRLRLLLLRLLLRLRLRLLRLRRLLLRLLRLRLRLRLLLLLLRLRRRLRRRLLRRLRLRRRLLRLRRRRLLLRRRLLLRLLLRLLLLLLRRRRLLRLRLRRRRLRLRRRRLRLRLRRRLRRLRLRRRRRLRLRRLLLLLLRLLRLLLLRLLRRRRLRLLRRRLLLLLLRRLLLLLRRLLLRRLLLLRLRLLLRLLLLRLRRLLLRLLLRLRRLRLRLLLRLRLRLRLLLRLRLLRLLRLLLLRLLRLRLLRRRRLLLLRLLLLLLRRLRLRRRLLRRLLLRLLRLRLRRRRLLLRRLRLRRLLRRRRLRLLLRLRRRRRRRLLLRLLRRLLLRLRRLRLLRRRRLRRRRRRRRLLLLRRLRRLRLLLLLRRLLRRLRLRRLRRRLRLRRRLLLRRLLRLLLLLLRRRLRRRRRRLRLRRRLLLLRLRLRRLLRLRLLLRLLLLRRRLLLRRRLRLRLRRRRLRRRRLRRLRLRLLLLLRRLLRLLRLRRRLLRRLRLLLLRLRLLLRLLLRLLLRLLLLRLLLLLRLLRRLRLLRRRLLRLLRRLLRRLLRRRLRRLLLLRRLLRLRRRLLLRRLRLLLRRLLRLRRRLLLLLRLLLLLRRRRLRRRRLLRRLRRLLLRRLLRRLLRLLLLLLLRRLLLRRRRLLRLRRLLLLRRRLRRLLLRLLRRLRRRRRLRLLLLLLRRLLRLRRRRLRRLRRLLRRLRLRLLLRRRRLLLRLLRLRRLRLRLLRLLLLRLRRLRRLLLLRLRLLRRRLRLLLRRRRLRRLLRLRRLRRRLRRRRRRRLRRRRLRRLLLLLLLRRRRLLLRLRLRRLRRLLRRLLLLRLRLLLRRLLRRRRRLRRLLLRRLRLRLLLRLLRLRRRRRLLRRRRLLLRRLRLLRLRLLLRLRRRRLLRLLRRRLLRRLLLRRRRRRRRLLRRRRRLRLRRLRLLRLLLLRLLRRRLRLRRLRRRLRLRLRLLLLLLLLLLRRLRLRRRRRRRLRLRLRLRRLLLRRRLRLRLLLLLLLRLRLRRLLRRLRRLRRLRRLRLLLRLLRRLRRLLRRRLLRRRLRLRLLLLRRLLRLRLRRLRLLLRLLLRLRLRRRLLLLLLRLRRRLRLLLRRLRLLRRRLLLLRRRRRLLLRRLRRLLRLLLLRRRLRLLRRRLRLLLLLLRLRRLRRRRLLRLLLLLLLRLRLRLLRRLRRRLLRRLRLRRRRRRLLRRLRRRLRRRLLRLLLLLLLRLRLLRRRLRLRLRLLLRRLRRLRLRRLLLRLLRLRLRLLRLLLLLLRRRLLRLLRLRLRLLLRLLLRLRLRRRRLLLRRRLLRRRLLLLRLRRRLRRLRRRRRLRRRLLRLLLRRRRRRRLRRLRLLLLRLRRLLRLRRLLRRLLRRRLRRRLLLRLLRLLRRLRLRRRLRLRRRLRRLLLRLLRRRLRLRRRLLRLRLLLLLLLRLRRLLLLLLRRLLLRLRLLLRRLRRLRRLLLRLRLLRLRLLRRRRRLLLRLLRLLRRRRLRRLRRLLRLLRRRLLRRLRRLLRRLLLLRLRLLRRRLRLLLLLLRLLRLLLLRRRLRLLLLLRRLLLLLLRLRRRLLLRLLRRRLLRRRRLLLLRRRRRLRLRRRLRRRRLLLRRLLRLLLRLLRLLRRRLLLLRRRLLRLRRRRRRLRRLLLLLLRLRLRLLLLRRRLRLRRLLRRRLLLLRRRRRLRRLLRLRLRLRLLRLRLRRRRRRLRLLLLRRLLRRRLLLLRLLLLLRRRRLLLRRLLLLRLLRLLRRLRRLLLLRLLRRRLLRLLRRRLRRRLLRRLRRLLRRLRLRLLRLRLRRLRRRLLRRRLLRRLRLRRRRRRLLLRLRRLLLLRLLRLRRLLRRLLRRRLRRRLRLRLRRLLRRLRLLLLRRRRRRRRRRRRRRRRLRLRRLRLRRLLLRLRRLRRLRRLRRRLLRRRRLRLLLLRRLLLRLLLRRLRRLLLLRLRRRRLLLLRLLRRRLLLRLLRRRRLRLRLLLRRRRRLLRLLRRRRRRRLLRRLRRRLLLLRLLRRRRRLRLLRLRLLLLRLRLRLLLLRLLRLRRRRLLRLLRRRLLRLRLLLLRLLLRLLLLRRRLLRRRLLLLLLRRRRLLRLRLRLRLLRRLRRLLRLLLLLRRLLLRLLRLRLLLRLLRLLRLLLLRLRLRLLRLLLLLLLRLLRRLLRLRLRLLRLLRRLRRLLRRLRRLLRRRRRLLLLRRLLRRRLRRRRRLLRLRRRRLLRRRRRLLLRLRLRRRRRRLRRRRLRLLRLLRRRRRLRLLRLRRLRLRRRRLRRLRLRRLLRRRLRLRLRLLRLLLRLLRLRLRRRLLLRLLRRRLLRRRRLLLLLRLRRLRLRLLLRRLRRRRRLLRLRRRLRRRRLLLRRRRRRRLRLLLRRLRLRRRRRRRLRRRRLRRLLRRLRLRLRLLRRRRLLLLLRLRRLRLLRRRLLLRLRRRRLRLRRLRLRRLRLRLLLLRLLLLRLRLRRLRRRLLRLRRRRLLLRLLRRLRLRLRLLRLLLRLLRRLRLRRRRRRLLRLLLRLRLLRRLLLRLLLRLLLRLRRLRLRRRRRRLRRRLRLLLLLLRRLRRLRRRRRRRLLLRRRLRRLLLRLRLLLLLRLLRLRLRRLRLRRLLRLRLLRRLRLLLLLLLLLLLRRLLLLLRLRRRLRRLRRRLRRRRRLRRRRLLLLLLLRRRRLRRLLLRLRLLRRRRLLRLRLRLLLRLLLLRLLRLRRLRRRLLRLLRRRLRLRRRLRRRRLRLRLLLLLLLRRLLRRRLLRLLLLLRLLLRRRRRLRLLLRRRLRRLRLRLLRLLRLRLRLLRLLRLRRRRRLRRRRRRLLLRLRRLLLRRRRLLRLRLRLRRRLRLRRLLLLLLLRRRLLLRLRRLRRRRLRRLRRLRLLRRRRLRLRLRRLLLRRRRLRLRRRLRLLLLLLRLLLLLLRRLLRLLRRRRLLRRLLRLLLRRLRLLLLLRLRRLLLRLLRLRLRRLRLLRRRRLLLLLRLLLLLLLRLRRRRLLRRRLRLRLLRRRLLLLLLLRLLRRRLLRLRRLRLLRRRRRLLLLLRRRRLLRRLLRLRRLRRRLLRRLLRLLRRLLLRRRLRRLLLRRRLLRRLRRRLLLLLRLRRLRLRLLRLRRRLLRRRLRRLLRLRLRRRRLRLLLRLRRLRRRLLRRRRLLRLLLRRRLRRLLLRLRRLRRRLLLLLLLRLLLRRLLLRRRRLLLLRLLRLLLRLLLLLLRRLLLLRRLRLRLLLLRRLLLLLLLLRRLLRRRLLLRRLRRLLLLLLRRLLLLLLLLLLRLLRRRLRLRRRLLLRLLLRRRLLRRRRRRLLRLRLRLLRLLLRLRLRRLRRLLRLRRLLRRRRLLLRLRLLLRLLLLLRLLRLRLLLLLLLLLRRRLRRLLLRRLRLRLLLLLLRLRRLRLRRRRRRLLLLLLLRLLLRRRRLRLLRRLLLRLRRRRRLRRLRLRLLRLLLRLRLRLLLLLLLLRLLLLRLRRLRLRLLLLRLLRRLRRRLRRLRRRRRLLRRLRLLRRRLLLRLLLLLLRRLLRLRRRRRLLRLRLLLLLRRLRRLRRLLLLRRLRLRLLRLRRRLRLRRRLRRLLLLRLRLLRLRLRRLLLRLRRLRLRLLLLLLLLLRRRLLLRLLLRLLRRRLLLLRLLRLRLLRRLLRLRLRLLRRLRRRLRLRRRRRRRLRLLRRLRLRLLRRRLRRRRLRLRLRRRLLLLLLRLRLRLLLLRRLLLRLRRLRRLLRLLLLLRLLRLRRLRRLRLRRRRLLRLLLLLRRLLRRRLLRLLLLLLLRRRLRLRLLLRLRRLRRLLLLLRLRLRLRRLRLLLLLRLLRLLLLLLLLRRRRLRRLLRLRLLLLLRRRLRLRRRRRRLRRRRLLRLLRRLRRLLRRLLLLRRLLLRLRLLLRLLRRRRRRRRRRRLLRRLRRLLLRRLRLRLRLRRLLRRLLRRLRRRRLRRLLLRLRRRLRRLLLRRRRRLLRRLRLRLRRRLRRLLLLRRRLLRRRLLRRRLLRRRLRLRLRLLLLLRRLLLLRLRLLLLLRRLLLLLRLLLLRLRRLRRRLRLRLLLLLLLLRRLLLRRLRRLLRRRRRRRRRRLLRRRRRRRLRRLRRRRRLLLRRRLRRLRRRRRLLRRLRRRRLLLRLRRLRLLRLRRRRRRRLRRLLRLLRLLRRLLRLLLLLRLLLLRRLRRRRRLLRLRRLRRRLLLLRRLRRRRRLLLLLLRRRLRRLRRRLRRRRRRLLLRLRRRRRLRLLLRRLLLRLRLRLLLRRRRRLLRRRLRLRRRLRLLLLLRLRRLRLLRRLLRLRRRRRLLRLRLRRRLLLRLRRRRLLLLRRRLLRRLRLRLLRLLRLRRLLRRRLLLRRRRRRLLRLRLLLLRRLRRLLRLLRLLLRLLRLRRLLRRRRLLRRRLRLLLRLRLLLRLLRLRRLLRLLLLRRLLRLRLRLRLRRRRLRRLLRLLLLRRRLRRLLLLLLRRRRLRLRLRLLLLRRLLRRRRLRLRLRLRRRLRRLRLLRRRLLLLRRLLLLLLLRLRRRLLRRRRRLLLLRLLRLRRLLLRRRLRRLRLLLRLLRRLRLLRRRRLRLLRRLLLRRLLLRLRLLLLLLRLRLRRRLRLLLLRRLRRLLRRRRLRRRLRRLRRLLLRLRRLRRLLLRRRRLRRLLRLRLRLLRRLLRRRRRRLRLLLLRLLRLLRRLRRRLRRLLLLRRLRLLRRLRLRLLRRLRRRLLRRLRLRLLRRLRRRRLRLRLRLRLRLLRRRRLRLLLRLLRLRLLLRLRRRRLRLRLLRRRLLRRRLRLRLLRRRRLRRRLRLLLRRLRRLLRLRLLRLLRLLRRRLRRRLLLLLLLLRRRLRLRLLLLRLLRLRRLRLRLLLLRLLRLLRRRRLLLRRLLRRRLLRRLRRLRRLLLRRLRRRLLLLLRRRRRLLRRRRRLRLLLLLLRLLLLLRLLRRLLLRRLLLRRRRRLLLLRRLLLLLRRLRLRLRRRRRRRLLLLRRRLLRLLLLRRRLLLRRRLLRRLRRRLRRLRRRRRLRLRRLRLRLLLRRRRRLRRLLRLRLRRRRRLRRRRLLRRRRRLRLRLLLLLLRRLLRLLRRLRRLLRLRLRLRRLRRRRRLLLLLRLLLLLRLLLLLRRRRLLLLLLRLRLLRRRRRRLLLRRRLLLRRLRLRRLRRRRRRLRLRLRRRLRRRRLLRRLRLRLRLLLLRRLRRRRLLRRLRLRLLRLLLRLLRLLLLLRLLLRRLLLRLLLRLRRRLLRRLLLLRRLRRRRRLRLLRRRRLRLRRLLLRLLLRLLLRRRLRRRLLLLRRRRLRLLLRLLLRRLLLLLRRLRRRRRRRRLLLRLLRRLRRRRRLLRRRRLRRLLRLLRLRLLRLRLLRRLLRLLLRLRLLRLLRLRLLLRLRRLRLRRRRLRRRRLLRRLRLRRRRRLRLRRLRLRLRLLRRRLRLLRRRRRLLLLRRRRLRLRLRLLRRRLRRRRRRRRRRRRLRLRLRLLRRRLLLRRRLLRRRLLRLLRLRLLLRRRLLRRLLLLRRLLLRRLRRLRRRRLRLLRRLLLLRRLRLRRLLRLLLLLRLLLLRRLRLRRLLRLLLLLLLLLRRLLLRRRRLRRRRLRRLLLLLLLRRRRLRRLLRRRLLLRRLRRLRLLRRRLLRRRLRLLRRRRRRLLRRRRLLLLRLLRRRRRLRLRRRRLLRRLLLRLLLRRLLLLRLRRLLRLRRRLLRRRRLRLRLRLLLRRLLLLRRRRLLRLRRRRRRRRLLRRRRLLLLRRLLRRRLRLLLRRLRLRLLLRRRLRLRRLRLLRLLLRRLRRLRLLRLRLRRRLLLLLLRLRLLLRRRRLLRRRRLRLRRLLLLRLRRLRLLRLRRRLLRLRRRRRLRLRLRRLLRRRRLRRRLLRLRLLLLLRLRRRLLRRRRLRLRRLLRRLRRRLLRLLRRRLRLRRLLRLLLRRLRLRRLLRLLLLRLRRRRLRRLLLRRRRRRLLLRLLRRRLRLLLLLRRLLLLRRLRRLLRRLLRRRRRLRRRRRRLLRRLRRRRRLRLRLRLRLRRLLLLLLLRLRLLRLLLRRRRRLLRLRRRLRLLRLLRRRLRLRRRRLLLLLRRLRLRLRRLLRLRLLRRLLLLLLLLRRRRRLRLRRRLRLRRRRRLLRRLLRRLRLLRLRLLLRRLLRLRLRRLRLRRLRRRRLRRRLLLLRLRRLRRRLRRRRLRRLLRLLLRLRLRRLRLRRRLLLRRRLLLLRRLLLRRLRLLLLRRRLRLRRRLRRRRRRRLRRLLLLRRRRLLRLLLRRLLRRRRLLLLRLLLLRRRRLRRRLLLRRRLLLLLLRLLLRLLRLRRRLRLLLRLRLLRLLLLRRLRRRLRRLLRLRRRRLRRLLRRLLRRRRRLLLRLLLRRLRRLRRLLLLRLRLLLLRLLRLLLRRRRRRLRRLRLLRLRRRRRLRLRRRLLLRLLRLRLRLLLLRLRRLLRRRLLRRLLLLLLRLLLRRLLLRRRLRRLRLRLLLRRLLLRLRRRRRLLRRLLRRRRLLLRRRRLLLLRRRLLRRLLLRLRRLRLRLRLRRLLRLRLLLRLLRLLRLRRLLRRRLRLLRLRRLLLRLRRLRRRRLLRRLRLRRRLRLRRLRLRLRRLLRRRLLRLRRLRLLLLLRRRRRLLLLLLLLLRRRRLLRRRLLRRLRLRLLLRLRLRRLLLLRLRLRRRLLRLLRRLRRLLRLLLLLLLRLLLRLLLRLRLLLLRLRRLLLRLLRRRRRRLLRRLRLLLRLLRRRRLRRLRLRRRLLLLLRRLRRLLRRLLRRLLRLLLRLLLRRRRRLLRLLLLLLRLRRRRRLRRRLRRRLRLRLRRRRRLRLLLRRLLRRRRRLLLLRRLRRRRRLRRLLRRRLLRLLLLRLRLLRLLLRRRRRRRRLLLRLRLRRRLRRLRRLLRRLRLRRRLLRLRLLRRRRLLLRRRLLLRRLLRLRLLRRRRRLLLRRLRLRLRLRRLLRLRLRRLRLRLRRLLLLLLRLRRRLRRRRRLLLRLLRLRRLLRLRRRRLRRRRLLRRLRLRRLLLLLRLRLRLRLRRLRLLRLLLRRLRRLLLRLLLRRLLLRRLLRLRRLRLLLRLLLLRLLRRRLRLLRLLRRRLRLRLRRLRRRLLLRRRRLLRRRRLLRRRLRLRRLRLLLLLLLRRRRLRLRRRLLRRLLLRRLRLLRLLRRRLRRRLRLLLRRLLLRLRRLLRRRLRLLRRRLRRLLRLRRRLRLLRLLLRLLRRLRRLLLRRLRRRRLRLLRLLRLLLLLRLLRRRRRRLRRLLLLLLLLRLLLLLRLLLLLLLLRLRRRRLRRLRLLLRLLLLRLRLRRLRLLRRLLRRLLRLRRRLRRLRRLRRLLRLLRRRLLRLRRRRLLRLRLLRRLLLLRLLLLLLLRLRLRRLRLLLLRLRRLLLLRLLRLRRRRRLLRRLRLLRLRRLLLRLRRLRRLRLLRRLLLRRRRLLRRRRRLLLLLLRRLLLRRLRRLLLRLLRRLRRRLRRRRRLLRRLRLLLLLLRLLRLLLRRLRLLRLRRLLLLLLRLLRRRLRRRRLRLLRRRRRRLRLRRLLRLLRRLLRRLLRRRRRLLLLLRRLRRLLRRLRLLRLRLRRRLRLLRLLLRLRLRLLLLRLLRRLLLRLRLLRLRRRRRRLLLLLLRLRLRRRLRRLRRRLLRLRLRLLRRRLRRLLLRLLLLLLLLLRRRLLRLRRRRRRLRLLRLLRLLRLRLLRRRRRRLLLLRLRRRRLLLLRLLLLLLRRRLRLRLRLLRRLRLRRRRLRLLRRRRRLLLLLLLLLLRLRLRLLLLLLLRLLRRLLRLRRLRRRRLLLRRLRLLLLRLRRLRLLRLLRLLLRRRLLRRRLRLLRRRRRLRLLLRRRRLRRLRRRRLRRLLLLLRRRRRRRRLRRRLRLRRLLLRRRRLLLLLLRLRRRLLLLRLRRRLLRRLLLRRLRRLRRLLRLLLLLLLRRRLLRLLRLRRRLRLLRRRLRRRRRLLRLLRRRRLLRRRRRRLRRLLLRRRLLRLLLLLRLRLRLRLLRLRLLRRRRRRRRRRLLRRRLLRLLRLRRLRRLRLLRLLRLLLRLRLLLRRRLLRLLRRRLRLRLLRLRLRRRLLRRLLLRRLLLLLLLRLLRLRRLRLRLRRRRLRRLLRRRLLRLRRRLRRLRRRRRLRRRLLRLLRRRLRRRRLRRRLRLRLLRRLRRLLLLLLRLLRLRLRRRLRLLRRRRRRRRRLRLRRRRRLLLLLRLLLLRRRLRLLRRRLRRRLRRLLRLRRLRLLLRLLLRRLRLLRRRLRLRRRRRLLLRRRLRLRRRLLRRRRLLRLLLLRRRLRLLRRLLLRRRLLLLLRLRRRLLLLRLRLLRRLLLRLLLLRRRRLRLRRLLRLRLLLLRLRRLLRRLRLRRLRLRLRLLRLRLRRLLRLRLLLLLRRLRRRRLLLLLRRLLRRRRRLRRRLRRRRRRRLLRRRLRLRLRLRRLRLRLRRLLRRRLLRLLRLRLRRRLLRRLLLRLRRLLLRRRRRRRLRLLRLLRRRRRLLRRLLRLRLLRLRLLRRRLRLRRRRRLRRLLLLRRLRLLRRRLRRRLRLLRRLLRLRLLLRLRRRLRLLLRRLLLLRRLRLRRLRLRRLRLLRLRRLLRRLRRLLRRLRLLRRLLRRRLLRLRLRLLLLRRLRLRLRLRRRRLLLRRRRRLLRRLRLRRRRLLRRLLLLRLRRLRRLRRLLRLRLRLRLLLRRRRLRRLLRLRRLRLLRRLRLRLRLLLLLRRLRLRLRLRLLRRLLLRRRLLLLLLRLLLRRLRRLRRRLRLLRRLLRRLRRRRRRRLLRLLLRLRLLLLLRLLLLRRRLLLLRRLLRRLLRRRRLLLRLRRLRLRLRRLLLLLRRRLRLRLRLRLLRLLRLRLRRLRRRRRLRRLRRRRLLLRLRRRRLLRRLLLRLRLRLLRRRLLLRLLLLRRLRRLLRRRLLRRRRLRRRLRLRRRLRLLRRLLRLRLLLLRRLLRLLLRRLLLRLLLLLRRRRRRRLRRRRLLRLRRLRLRRLRLLLRRLRLRRRRRRLRLLLLLRRLLRRLRRLRRLRLLRLLRLRLLLRRLLLRLRRRLLRRRRRLRLLRLLRRRLRRLLRLRRRLRLLLRLRRLRLRRLLRLLRRRLRRLRLLRRLRRLRLLRRLLLLRLLRLLLLRRRRLRLRRRLLLLRRRLRLRLLRLLRLLLRRLRLRLRLRLLRRLLLLLRRRRRLLLLLRLRLRLRLLLRRLLLRRLLLRLRLLLRLLLLLLRLRLRLLLLRRLRRRRLRRLRRLRLLRRRLLLRRLLLLLLLRRLLLRRLRLRRLRRLRLRRLRLRLLLLLRLLLLRRLRLRRRLLLLRRRLLLLLRLLRRRRRLLRLRLRLRLLLRRRRRRLLRRLRLLLLRRRRRLRRLRRLRRLLLRLRRRLRRLRRLRLLLRLRLRLLRLRLRLRLLLLRLRRRLRRLLRLRRLLRLRLLRRRRLLRRRRRLRRLRRLLLLRRRLLLLRRRRLRLRLLRRRRLRLLLLRRRLRLLRRRRRRLLRRLRLLLLLRLRRRRLLLLRRRLRLLLLRLLLRLLLLRLLLLLLRRRLRLLLRLLLLRLRLRRRLRLRLRRLLLLLRLRLRRLRLRRLRLRLLRLRLRRLRLLRRLLLRRLRRLLLRRRLLLRLRLRRRRRRRRRRRLLLLRRRLLLRRLLLRLRRLRRLLRRLRLLLLLLLRLLRLLRLLLLLLLLLLRRLLRRRLLLLRRLRLLLLLLRRLLLRRLLRRLLLRLRRLLLLRLLLRLRLRLRLLRRLLRLLLLRLRRRRRRLRLLRRRRRRRRLLRRRRRRLRRRRLRLRRLLLRRRRLRRRLLRLRRRRLRRLLLLRRLRRRRLRRLRRLRLLRLRRRRRRLLLRRRLRLLRLLLLLLRLLLRRLRLRLRRRRRRLLRLRRLRRLRRLRLLRLRLRRRRRLLRLRLRRRLRLLLLRRLLLLRRRRLLLLLRRRLLRRLLLLRRRLRLRLRRRLRLLRLLLLRRRRLRLRRLLLRLLLLRLLRRRLRLLRLRLRRLRRRLRLRLRLLRRRRRRRLLRLLRLLLRRLRLLLRRRLRRRLLLLRRRLLRRLLLRRLRLRRRRLLLRRLLRRLRRRLLLRRRRLRLRRLRRLLRRLRLRLLLLRRLRRLLLRLLLRRRLRRLRRLLRLLLLRLRRRLLRLLLRRRLLRRRLRRRLRLLLLRRRRLLLRRLLRRRLRLLLRLLLRLRLLRLLLLRRRLLRRLLLLLRLRRRLLLLLRLLLLRRLLRRRRLRLRLLRRRRRLRRLRRLLRLLRLLRRLLRRLRRRLLRRRLRRRLLLLLRRRRLRRLLRRRRLLRRLRRRRRLRRLLRLRLRLLLRLRLRLRRLLRRLLLLRLLRLLRLRLRRRRLRRRLRLLRRRRLRLLRLRLLLRLLRLRLRLLRLLRRRRLLRRLLRRLRLLLRLLRRRLRRRLRLLRLLLLRLRLLRRLLLLRLRRRLLRLRRLRLLRRLLRRRRLLRRRLRRLRLRRLLRRLLLLRRRLLLLRLRRLRRRRRRRRRLLRRRRRLLLRRRLRLLLLLLRLLRLLRRLLLLLRLRRRLRRLLLRLLRLRLLLRLLLLRLLRLLLRLRRRLLLLLLLRRLLLLRLRRLLRLLLRLRRRRLRRLRLRLLRLRRLRLRLLLRLLLRRLRRLRRLLLRLLRRRLRRLLRRRRRRLLLRLRLRRLRRRRLLRLRRRRRRRLRRLRRLLRRLRLLLRLLLLLRRLLLLRRLRLRRRLLLRRLLLRRRRRLLLLLLLRRLLRLRLRLRLLLLLLRLRRLRLLRLLRRLLRRRLRLRRLRRLRLLRRLRRLRLRRRRLRRRLLRLRLLLLLLRRRRLRLRRRRLRLRRRLRRLLRLLRRRLRLLRLLRRLLLLLRRRRLRLRLLRLRLRRRRRRLLLRLRLLLRRLRLLLLRRLLLLRLRRLLRLRLLLLLLLLLRRRRLLLRRRRRRRRLRRLLRLRRLRRRLLRLLLLRLLRLRLLLLLRRRLRRRRRLRLLLRRRRLRLLLRLLRLRLLRLLLLRLLLRRLLRRLLRLLRRLLRLRLRLRRRLLRRRLRLRLRRRLRRRLRLRLRLRLLLRRRLRLLLLRRRRLLRLLLLRLRLRRRRRRRLRRRLLLRLLRLRRLLRRRRLRRLRLRRRLLLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRLRRLRRRLLLLRRLRRRLRRLLRLRLLRRRRRRRRLLRLRLLLLRLLRLRLRRLLRLRRLLRRRRLLLLRLRRLLRLRLLLLLLLRRRLRRLLRLLLLLLRRRRRLRLRRRLLLRLLRRLRRLRRRLLLRLLRRRLRRRRLRLLRRRLRRLLRLRRRRRRRLRLRLRLLLLRRLLRRRRLRRLLLLRRRRLRLLRLLLLRLRRLLLRRRLLLRRLRRRLLLRRRLRRLLLLLRLLRRRLLRRLLRLLRRLRLLLRLLRLRLLRLLRRLLLLRRRRLRRLRLRLRRLRRLRLRLRLRLLLRLLRRLLLLRLLLRLRLLRLLLLRLLLLRRRRLRRRLRRLRRRLLLRLLLLRRRLRRLLRRRRLRLRLLLLRRRRLRRLRRRLRRRRRRLLRLRLLLLRRLRRRRLRRRLRLRRRRLRLLLLRRLLLRLRRRRLLRLRRRRRRLRRLRRLLLLRRLRLLLRRLLRRRLLLRRLLLRLLRRLLRLLRRLLRRLLLRRRLLLRRLLLLRRLLLLLRRLRLLRLLRRRRRLRLLRLRRLLRRRRRLRLLRLRRLLRLLRLRRRRRRLLLLRLLLLLLLLRRRLRRRLRRRRRLLRLRLLRRRRLRLLLLRRLLLLRLRRRRRLLRRRRRRRRRRRLLLRRRRRLRRLRRRLRRLLRRLLLLLRRLRLLRLLRRLLRLLRRLLRLLRRRLRLRLRRRLRRLLRLRRLRLRRRRRRLRLLRLLRRRRLLRLRLRRLRLLLRLRRRRLLLRRRRRRRRRLRLRRRRRRLLLLRLRLRRLRRLRLRLLLRRLLRRRRRRLLLRLLRLRRRRLLRLLLRRRLRLRRLLRLRLRLRLLLRLRRRRRLLLRRRLLRLLRLRLLRRRRLLLLLRRRLRRLRRRLRRRRLLLRRLRRLLLLRRLRRRRRLRRLRLLRRRRLLLLRLRRLRRRRRLRLLLLRLRLRRRRRRRLLRRLLLRRRLLLRRLRRRRRRLRLLLLLRLRRRRRLLLRLRRLRLLRLLLRRRLLLRLRRRRLRLRLLRLLLLLRLLLLLLLLLLLRLLLLLRLLLRRRLLLLRRLRLRRLLLLLLLLLLLLLRLRRLLRRRLRRLRLRRLRRRLLRLLLRLLLRLRRLLRRLRRLRLLLLLLRRRLLLLRRRLRRLLLRLLLRLLRLRRLLLLRLLLRRLRRRRLLLLLRLRRRRLRRLLRLRRRLLRRLLRLLRRRLLRLRRRLRLLRLRLRLRLRRLRRRRLRRLRRLRRRLRRLLLRLLLLLRRLRLLRLLLRLLLLRLRLRRRLLRLLRRRRLLLRRRLRRLLLRRRRRRLRLRRLRLLLLLRRRLLRRLLRLLLLLLLLRRRRRLRLLRLLRLLLLLRRRRLLRLLLRRRRRLRLRLLLRLLRLRLLLRLLRRLLRLLRLLLRRRLRLLRLLRLLRLLLRLLLRLRLRRRRLLRRRRLRLRLRLLLRLRRRRRRRLLRRLLLLLRLRLLLLLRRLRLRLLLRRRLRLLLRRRRRLLLRRLRRLRLRLLRRLRLLRLLRLLRRLRLLLLLRLLLRLRRRLLLRLRLRLLRRRRRRRRLLRRRLRLRRLLRRRRLRLRLRLRLRRRRRLRLLRLRRLLRRLRLRLRRRLLLLRLLRRLLRRLLLRRLRRLRRLRLLRRRRRLRRRLRRLLLRLLLLRLRLRLLRLLLRRRLRRLLLRRRRLLRLRRRRRLRLRLLRLLRLLLRRRRLRLRRLLRRLLLLLLRRLRRRRRLRRLRRLLRLRLRLRLRRRLLRLRLRLRRRLRRLRLRLLLLRRLLLLLRLLRRLLRLRLLRRLRRRRRRRLRLLRLLRRRLLLLLLRLRLLRRLRRRLRRLRRLLRRLRLRLLLRLRLLLRLLLRLLLRLRLRLRLRRRLLRLRRLLRLLRRRLLRRRLRRLLRLLLRRLRLLLRLLLLRLLLLLRRRRLRRLLLRRRLRRLRLRRRLRLRRLRLLLRRRRLLRRLLLRLLRRLLRRLLLLLRLLLLRRLRRLRRLLLRRLLRRRRLRRRLLRLLLLRLLLLLRLLLLRLRLRRRLLRRRLRLLLRRRLLLRLLLLLRRLRLLRRLRRRLLRLLRRRRRRLLRLRRRLLLLRRLRRLLLRRRLRRRRLRLLRLLLLRLLLLRRRRRRRLRLRLRRRLRLRLRRLRLRLRRRRLLRLRLLLLRRLLLRRLLRLRRLRRLRRRLLRLRLLRRLRLLRRRLRRRLLLRLRLLRLRRLRLLRLLRLLRLRRLLLLLRLRLLRLRRLLLRRLRRLLRRLRRLRLRLRLLRRLLLRRRRRLLRLRRRLRLLLRRLLLRRRRLLRRLRLLLLLRLRLRLRLRRLLLLLRLRLRLLLLLLLLLRRLRRLRLLRRRLRLRLRRRRRRLLRRLLLRRRLLLRRRRLRRRLLRRRLLRRLRRLLLLLLLLLRLRRLLRRRRRRLLLLRLLLRLLLLRLLLLRLRLRRRRLRRRLLRRLLLRRLLRRLRLLRLRLLRRLRRRLLRRRRRLLRLLLLRLLRRRRLRLRLRLLLRLLRLLRLRLRRRLRRRRLRRLRRRRLLRRLRRRLRLRLRLRRRLRLRLRLLLLRRRLRLRLRRRRLLLLLLLLLLLLRLLRLRLLLLRRRLRLRLLLLLLRRRRLRLRLLRLLLRRLLLRLLLRLLLLLLLLLLRLRRLRRLRRRLLLLRLRRLRLLRRLLLRLRLLLRLLRRRLRRLRLRLRRRLRLLRLRLRRLLRRRRLLRLLLRRLRRRLRRLRRRRLLRLRLLLRRRLLRRRRLRRRLRRRLLLRLLLLRLLRRRRRLRLLLRRLLRLRLRLRRLLRLLRLLRLLRRRLLLRRLRLRRRLLRLLRRLRLRRLRRRLLLRRLRLLLRRRLLRRRLLRRLRRLLRLRLLRRLRLLLLLRRLRRLRLRLRLRLRRRRRLLLLRLLRLLLLRLLLLRLLLLRLRRLLLRRLLRLLRRRRLLRLRRRLLLRLRLLLRRRLRRRLLRRRLRRRLLLRRLRRRRLRRLLRRRRLRLLLRLRRLRLRLLLLLRLRLRRLRRRRLLLRRLRLLLLLRLRLRLRRLLLLLLLLLRRRRRRLRLRLRLLRLRRLLRRLRLLRLLLRLRLLRLRRLLRLLRLLRRLLLRRLLLRRLRLLRRRLRRLLLLRLLRRLLLLLRLRLRLRLLLLLLRRRRRLLLLRLLLRLRRLLRRRLRLRLRLLRLLLLRLLRLLLRLRRRLRRRLRRLRRRLRRRRRRRLLRRLLLLRLRRLRLRLRLRRLLRLRLRLLLLRLRRRRRLLRLRLRLLLRRRLRRLLRLRRRRRRLLLRLRRRLLLLLLRRLLLLRLRLRRLRLRLRRLRRLRRRLLRLRRRRLRLLRLLLRRLLLRRLRLRLRRLLLRRLRRLLLLLRRLRLRLRRLLLLLRLRRRRLRRLRLLLRRRLLRLLRRRLLLRLRRRRRLRLLLRLLLLLRRLLRLLRRLRLRLRRLRLLLRRRRRRRRLLRLRLLRRRLRLLRRLRLLLRRRRRLRLRLLLRRRRRLLLLLLLRRRLRRRLLRRLLRRLLLLLLLRRRLLRRRLLRRLLLLRLRRLRLLRLRRRLRRLRRRLRLRRLLRLLLRRLLRLLRLRLLLLLLLLRLRRRLRLLLLRRRLLLRRLRLRLLRRLLLLRRLRRRRLLLLRRLLRLLLLLLLLRRRLRRRLLLLLLRLLRLLRRRLRRLLRLRRLRLRLRRLLLLLLRLLRRRLRLRRLLLLLLLLRLRRLRRLLRRLRRLRLLRLLLLRRLRLRLLLRLLRRLLRRLLRRLLRLRRLRLLRLRRLRLRRRRLLRLLRLLLLRLRRRRRLLLLLRRRRRRLRRLLRLRRLRRRLLLRLLRRRRLRLLRLRRRRLRLLLLLRRLRRRRRLLRRRRRLRLRLLRRRLRRRLRLLRRRLRRLRRRLRRRRLLLLLRLRLLRRRRRRRLRLRLLRLRLLLRRRLRLLRLLRLLLRRLRRRRRRRLRRRLLLLLRRRRRRLLRRRRRLLRRRRLRLLLRLRLRLLLRLRLLRLRLRRRLLLLRRRRLLRLLRLLRLRLRLLLRRRRLLRLRLLLLRLRLLRLLLRRRLRLRLRLLLRRRRLLLRLLRLRLLLLLLRLRLLLLLRRRRLRRRLLLRRLLLRLRRLLLRLRLLLRLLRLRLLLRRLLRLLRRRRRRRRRLRRRRRRLLLLRRRRLRRRRRLRLRRLLLLLLRRLRRLRLLLRLRRRRRRRRRRRLLRLRLLRLRRLRLLLLRLRRRLLLRRRLRLLLRRRLRLLRLRRRLRRRRLLLLLLRLRLRRRLRRRLRLRLLRRLLLRRLRLLRRLLRRRLLRLRLLLLRLLLLRRLRLRLLRLLLLRRRLLRRRLLRLRRRRRLRLRRLRLLLRRLLRRRRRRLLRLLRLRLRLLLRRLRRLLLLRRRRLLRRRLLRLRLLRRRRLLRLLLLRRRRLRRLRRRLLLRRLLRLLRLLLRRLRRRRRLLRRRLLRLRLRRRRLLLLLLRLLRLRRRLRLRRRRLLLLLLRLRLRRLLRRRLLLRLLLRLLRLRRRLRRLRLRRLRLLLLRRRRRRRRLRLRRRRRRLLRLLRLRRLRLLRRRRLRRRRRLRRLRRLRLLLRRRRRLRLLRRLRLRLRLLRLLLRRLRLRRRLLLRLRLRLLLRLRLRLRLRRRLLRLLLLLLLLLLLLRLRRLLLRLRLRLLRRRRRRRLLLRRRLLLLRRRLLRRRRLLRRLRLLRLLLLLRLRLLLRLLLRRRLRRRLRRLLRRLLRRLLRLLRRRRRRLRLLLLLLRRRRLRRLRLLRLRRRLLLLLLRLRRRRLRRRLRRRRLRLRRRLLLLLLRRRLRRLRRRLLRLLLRLLLRLRRRRLLLLLLRLLRRLLRRRRRRRRRLRLRLLRLLLLLRRLRRLRRRLRLRLLRRLLLLLLRLLRRRRRLRLRRLLRRRRLLLLRRRLRLLRLLRRLRRLRRLRRRLLRLRRRRRLLRLRLRLLLRRRLLLRLLRLRRRLRLLRLLRLLRRLLLRRLRRLRLLLLRRLRRLRRRLLLLLLRRLLLRLLLLLRLRLRLLLLRRLRLLLLRRLRRRRRLLLLLLLRLLLLRLRRLRRRRLRLLRRLRRRRLLLRRLLLRLLLLRRRRRRLLRRRRRLRLLRRRLRRRRLLRRLRRLLLRLRLRLLRLRLLLLRLRLRRRRLLRLLLLLLLLLLRRRRLRLRLRLRLRLRLRLRRLRLLLRRLLLLLRLLLLRLLLLLRLRLLRLLRLLRRRRLRRRLLRLRLRRRLLLRLLLLLLLRLRLLRLRLRLRLRRLLRRRLLRLLRRRRRRRLRLLRRLLRLLLLRLRRRLLRLLLRLLLLRRLRRLRLRRLLRRLRRRLLRRRLLRLRRLLRLLRLLRRLRRRLRLLLLLLLLLLRLLRRLRLLLLLRLRLLRRLRLRRRLRLRLRRRRLRRRRLRLRLRLRLLRRLRRLRLRRLLRLRLRLRRRRLLRLRLRLLLRRRLLLRLLLRLRRRLLLRLLRRRRLLLRLRRLRRRRLLLLRRRRLRLRLRRRLLRRRLLLRRRLRRRLRLLRRLRLLRRRRLLRRLLRLRRRLRRLRLLRLRLRLRRLRLRLLRRLRLRRLRRRLRLRLLRLLLRRLRLLLLRLLRLLRRRRRRLLRRLRLRRLLRLRLLLRLLRLLLRLLLLRRRRLRLRLLLLRLLLLRLRRRRRRRLLRRRLRLRRLRRLLRLLRRRLRRLLLRRRRLRRRLRRLRRLRLRLLRRRRRLRRLRRLLLRLRLRLRLLLRRRRLLRRLRLLLRLRRRLLRRRRRLRRRLLRLRLLRLRLRRLLRRRLRRRRRRLRLRRLLLRLRLRRLRRRLLRLRLRRLRLRLLLLLLRRRRLLLLLRLLLLRLLLLRLLLRRRRLRRLLLLRRLRRLRLRLLLLRLLRRLRLLRLRLLLRRRRLLRLLRLLRRRRRLRRLLLRRRLLLLLRRRLLLRRLRRLLRLLLLLRLRLRRRRRRLRRRLLRLLRRRLLRRLRRLLRLLLRRRLRRRRLLRRRRLRLRRLRRRLLRRRRRLRLLRRLLRLLLRRRRLRLRLRLRLLLRRLRRRLLRLRRLLLLLRLLRLLLRRLLLRLLLLLLLLLRRRLLLLRRRLRRRRRRRRRLLRLRRRRLRRRLLLLLRLLLLRLRLRLRRLLRRLRRRRRRLRRLLRLRRRLRRLRLRRLLLRLLLLLLRRRLRLRRLRRRLRRLRRRLLLLRLLLLLLRLRRRLLLLRRLRRLLRLLLRRRLRRLRRLRRLLRRRRRLLLRRLLLLRLRRRLRRLLRLRLLRLRLLRRLRLRLRRLRLRLLLRLRLLLRRLLRLLRRLRRLRLRRLLRLRRLRLLRRRLLLLLRLRLRLLRLRRLRRLLLRRRRRRRLRRLRLLLRLRLRRLLLLRRRLLLLLRRRRRRRLRLRLRRRLLRRRRLRRRLRRRLRLLRRLRRLRLRLRRRLRLLLLLLLLLLLLRLLRLLLLLLRLRRRLRRLRLRRRLRLRRRLRLLRLRLLRLRLRRRRRLLRLRLRRLRRLRRLRRLLLLLRRRLRRRLLLLRRLRLLLRLRRLLLRRLLRRLLRLLRRRLRLLRRLLLLLRRRRLRLRLLLRLLLLLRLRRRLRRRLRRLRLRLRLRRLRLRRRRLRLRRRRLLRLRRRRRLLRLRLRLLLLLLRLLLRLRRLLLLRRLLLLLRLRLLRLLRLRRRLLRLRLRLRRLRRLLLRRLLRLRRLRRLRLRLLRRRRLLLLLRRRRLLRRLRLRLLRLRRRRLLLRLRLLLRRRRRRLRLLLRLRRRLRRRRRLRLRRRRRLLLLRLRLRRLRRRLLLLRRLLRLRLLRLLRRLLLLRRLRRRLRLLLLLRLRLLLLLLLLRRLRRLRRRRRLLRLLRRLLLLLRRLRRRLRRLLRLRRLLRLRRRRLLRRLRLRRLLLRRRLLRRRRRLLRRLLRRRRRLRLLRRRRRRLRRRLRLRLRLRRLLRLLRLRRLLLLLLLRRLLRLRLLRLLLRRLLRLLRRLRLLRLLLLRRRRLLLLLLLRRLRLLLLRLLRLLRLRRLLLRRLLLLLLLLRRLLRRLLRRLRLLLRLRRRRRLRRRRRRRLLRLRRRLLLRRLRRLRLLRLLRLLRLRRLRLRLRLLRRRLLLRLLRLLRRLRRRRLRRLLLLLLRRLRLLLLLLRRRRLLRRLRLRLLLRRRRRRRRRLLLLRLLLLRRLLRLRRLLRLLLRLRLLRLRRRRLLLLRRRRLRRLLLLLLLLLLRRLRRRLLRLRRRLRRRLLLLRLRLLLLRLLRRLRLLLLLRLLRRRRLRRLLRRLLRRRRRLLRLRLRRLLRLLRRLRLRLRRRRLRLLLRRLRRLRLRLLRLLLRLLRRRRLRLRRLLRLRLLLRRRLLRRLLRLRLRLRLRLRRLLRRRLRLRRRRRLRRRRRLRRLRLRLLLLRRRRLRRRRLRRLLLRRLRLLRRRLLRRLLLLRLRLLRLLLLLLLLLLRRRLLRLRRLLRLRLRLRRLRLRRRLRLRRRRRLRLRRLLRRLLLLRRLLRLLLLLRLLLLLLLRRRRRLRLRLRRLLRLLRRRLLRRRLRRRLRLLLRRLLLRLLLLLLLRRRRLRRLRRLRRLRLRRRLRRLLLLRRRLLRRRRRLRRRLRLRLLRRLLRLRRLRLLRLRLRRLLRRLRLLRLRRRLRLLRLRRLLRRLRRLRRLRLRLLLRLLLRRRRLRRRRLLRRRRLRLRLRRLLLRLLLRRLLLLRLRRRLLRRLLRRRRLRRLRRRLRRRRLRRRLLRLRRRRRLRLLLRRRLRRRRLRRLLRRRRLLLLRRRLLLLLRLRRLLLLRRRRRRLRLLLLRRLLRLLRRLRLLRLRRRRRRLRRLLRLLLRRRRRRLRRLLRLLLLRLLLLRRRRRRLRLLRLLRLRRLRLLLLLLRLLRRLLLRRRRRRRRLRRRRRRRRRRRLLLLRRRLLRRLLRRRLLLLLRLRRRRRLLRLRRLLRRRRRLRRRRRLLLLLLLRRLLRRLLRRLLLLLRLRLRRLLLLRLRRRLLLRRLLRLLRLLRRLLRLLLLLLRLLLLRLRLLLRLLRRLRRRLLRLRLLRRRLRLRLRRRLLRRRRRRRRLRLLLLRRLRRRLLRLRLLRLRRRRRLRRRLLRLLRRLRLRLRLLRLRLLLRLLLRRLLRRLLRRRLRRRRRRRLLRRLLLRLRLRRLRLRLRRRLRRRLLLRRRRRLRLRRRRLRRRLRRLRLRRLRLLRRRLRLLRRLLRRLRRLLLRLRLRRRLLLRLLLLRLRLRLLLRRRRRLRRRLLLRRRLRLRRRRRRLLLLRRRLRLRRLLRLLRLLRRLLLLLRRLRLRRLRRRLLLLRLLLRRLLLLLRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLLLLRLRLRRRRRLRLLLRRLRLLRRRRRLLLLLLLRRRRLRRRLLRRLRRRLLRLLRLLRRLLLLRRRRLRRLRRLRLRRLRRRRLLLRRLRRRRRRRLLLLLLRRLRLRRRRRLRRLLRLLLLLRRRRLRLRLLRLRLLLLRRLLRRLLRLLRLRRLLLRRLRLRLRRRRLRRRLLLLLLLRRLRLLLLRRLRRRRRRRRRLRRRRLLRRLLLRLLLLRRLRLLLLRLRRRRLLLLLRLRLRRRRLRLRLRRRLRRLRLRLRRRLRLRRRLLLRLRLLLLRLRRRLLRLRLLLRLRRRRRRLLLRRRLRRRLLRRRRLRRRLRLRRLLLRRLLLRLLRLRLRRLLRRRRRLLRLLRLLLRLRLRLRLLLLRLRRLRLLLLRRLRLLLRRRRLRRRRLLRRRRLLLLRRLRRRLLRLRRRRLLRRRRRLRLLRRLRLRRLLLRLLRRLRRRLLRRLRRRLLRRLLLRRRLLRRLLRRRLLRLRRLLRRRLRRLLLLRRRLLLRRRLLRRLLRLLLLLRRRRLLRLRLRRRRRLLRRLLLRRLLRRLLRLRRLRLLLLRLLLLRRLLLLRRRRRRRRRRRLLLRLLLLLLLRLLRRLLRRLRRRRRLLRLRRRRRLLLLRRLLLLLRLLLRLRLRRLLLLRLLRRLLRRLRRLLLRLRLRLRLLRLLRRRRLRRRLLLLLRRLLLRLRRRLLRRRLRRLRLLLLRLRLLRLRLRLRRRLLRRRRRRRRLLRLRRRLRLLLLRRLRLLRLRLRLRLRLLLLLLLRRRLRLLLRRLLRRRRLLRLLRRLRRLLLLRRRRRLLLLLRRRLLLRLLRRLRRLRRLRLRLLLLRRLRLLRLRRRLLLRRRRRRLRLRRLRLLRRLRRRLRRRLRLLRLLRLLRLRLLLLLLRLLLLRLLRLRRLLRRLRLLLLRRRLLRRRRRLRLRRLRRLRLRRRLLRRRRLLRLLLRLRLLRRRLLRLLLLLRLRRRRRLLRLLLLLRRRLRLRRRRRLRRRLLLLLRRRLLRLRLRLRRLLRRLRLRRRRRRRRRRRLLRRRRLRRRRRLRRLRRLLLRRLRRRRRRLRLLLLRLRRLRLRLLRRLRLRLRRRLLRLRRRRRRRRRLLLRRLLRLLRRRRRRRRLLLRRRLLLRRLRRRRLRLRLRLRRLLRRRRLRLLLRRLLRLRLRRRLLLLLLRLLLRRRLLLRLRLRRLRRLRLRRLRLRRRLRLLRLLLLRRLRRRLLRRLLRLLRLLLLRLLRRLLRRRRLLRLLLLRRRRLLRLLRLLLLLRRLRRLRLLRRRLRLLLLRLLRRLLRLRLRLRRRLLLLRLLRLRRRRRLLRRLRRRLRLLLLRRRRRLLRRRRRLLLLLRRLRLRRLRLLLLLLLLLLRRRRLRLRRRRLLRLRRRLRRLRLLRLRRLRRRRRLRRRLRRRLRLRLLRLLRLLLLLLLLLRRRRRRRLLLLLRRLLLRRRRRRRRRRRRRLLRRRLRRRLRLRLRRRLLRLRLRRLLRLLRLRRRRRLRLLLLRRLRRLRRLRLRRRLLRLRRLLLLRRLRRRLRRRRLLRRLLRLLLLLLLRLLLLRLLRRRLLLRLRRRLLLLLRRLRLLLLRRLLRLRLLRRRLRLRRLLRRLRRLLLLLLLRLRRLRRLLLLLLRLRRLRRLRLRRRLRRRRLRRLRRRLLRLRRRRLLLLLRRLRRRRRRRRRLRRLRLLRRRLLLLRLRLLLRLLRRRRRLRLRLLLLLRLLRLLRRLLRRLRLRRLRRRRRLRLLLLLRLLRLRRLLRRLLRRRRRLRRRLRLLRLLRLLRLLLLLLLRLRRRLRLLLRRRRRLLRLRRLRRRRLLLLRLLRRLRLLRLRRRRRLRRRLLLRRRRRRRLLLRLRLLLRRRLLLLRLRLLRLRRLLRRLLRRLRRRLLRLRRLLRRLRLLRLRRLLLLRLRLRLLLRLLLRLRLLLLRRLLRRRRRLRLLRRLLLRRLRRLRRRLLLRRLRLRLRRLLRLLRRRRLLLLLRLRLLRLLLRLLRLRLRRRRLRLRRLLRRLLLRRRLLLLRLRRRLLLRRLRRRRRRRLRRLLRLRLLLLRRRLLRLLLRRLLLLRLLLLRLLLLRRRRRLLRRLLLRLLRLRRRLLRRRLLLLRRLLRLRRRLLLRLRRLLLLLLLRLLRLRRLRRRRRRLLLRRRLRRLLLLLLLRLLRRLLRLRLLRLRLLRLRLLLLLLLLLRRLRRLRRLLRLLRLRRLLLLLRRRRLRRRRLRLLRRRLLLLLRRLLLLLRLRLRLRRLLRLRLLLLRRLRRLLLLLRRRLLLLLLLLRRRLRLRRRLRRLRRRLRLRLLRRRRRLRLRLRLRRRRRRRLLLLLLLLLRLLRLRLRLLLLRRRLLLLRRLLLRRRLLLLRRLRRRLLRRRLLLLLRRLRRRRRRLLLLLLLLLLLLRRRRLRRRLLRRRRRLRRRRRRLRLLRLLLLRLLRRRRLLRLRRLRRLRLLRLRRRLLRLLLLRLRRLRRLRLLRLLRLRLRLLRRRLLLRLRLLLLRLRRRRLLRLLLRRLLRRLRRRLLLLLRLRLRRLLRRRLRRRLRRLLLLLRLLLLLLLRRLRRRRRRRRLRLLLLRRRRRLLLLLLRRRRLLRLLRRLLLRRLRRLLLRRRRRRRLRRRLRLRLRRLRLLRLLRLLRRLRRLRLLLLRLLRRRRLRLRLRRRLLLLRRLRLRLRLRLRRRLLRLLLLRRLLLLRLRLRRLLRLLRRLLRLLLRRRLLRRRRRLRRRRRLRRRLLRLLLRRLRRRRLLLRLLLLLRLRLRLLLLRRLRLRLLLRLRRRRRLLRLLRRRRLLRRLLLLRRRRRLLRLRLLLLRLRRRLLLRRRRLLLRRLLLRRLRRLRRRRLLLRLLRRRRRRRLLRLLLLRLRLRRRLLLRLRLLRRRRRRLRRLLRLRLLRRRRRRLRRRRLRLLRRLRLLRLRRLRLRRRRRLLRRLRLLRLLLLLLLRLLLLRRLLRLLRLRRRRRLLLLLLRLRRRLLRLRLRRRRRRRLRLRRLLLLLLLRLRLLRLRRLLLRRRLRRLLRRRRRRLLLRLLRLRLLRRLLRLLRRLLRLLRLRRRRRLLRRRLLRLLRLLRLRLRRRLLLRRLLRRRRRLLRLLRRRLLRLLLRLLRLLLRRRLLRRRRRRLLLLLLRRRLRRLLRLLRRLLRLLRLRLRRLRLLRLLRLLRRLLLLRRLLRRLLLLRLRLRLLLLLRRLLRLRLLLLRLLRLRLRLRLRLLLRRRRLLLLLLRRLRRRRRLLRRRLLLRRRLLRRLLRRRLRRLLRLLLRLLRLRLLRLRRRRLRRLRLRRRLLRLLRLLLRRLLLLLLLRRLLLLRLLRRLLLRLRLLLRRRLLLRLLRLRRRLRRRRLLLLRRRRRLRLLRLLLLRRRRRLLLLRLRRLLLRLLRRLLLLLLLLRRLRRRLRLLRLLLRLRRLRLLLLRLRRLLLRLLLRLRRLLLRRLLLRLRLLRRLRRRLLLLLRLLLRRLLLLRLLRLRRRRLLLRLRLRLRLLRLLRRRRLRRLRRRRLLLRLLLRRRLLRRLRLRRRRLLRRLLRLLLRLRLLLRRRLRLLLRRRLRRRRRRRRRLRLRRLLRLRRRRLLLRRLRLRRRRLLLRRRRRRLRLLLRRRRRLRRRLRRRLLRRRLLLLLLLRRRRRRLRRLRLRLLRLLLLLLLRRLRLLRRRRRRLRLRRRLLLRRLLRRRRLRRRLRLRRLLRLRLRLLLLRLLRLRRRLRLRRRRRLRLLLRRLLRRRRRRRRRLRLRRLLLRRRRLLLLRLLRRLRRRRLLLLLRRRLLRRRLLLLLRLRRRLRLLLLLLRRRLRRLRLLLLRRLRRRRRLRRRLLRRLLLRLLLLRLLLLLRLRLRRLRLRLLLLLRRLLRLLLRLLRRLLLLRLRRRRRLRLLRRLRLLLLRLRRLLLRLRLRLRLRRLRRLRRRLLRLLLLLRLLLLLRRRLRRLLLRLRRLLLLLRRLRLLRLLLRLRLRLLRRLRLRRRRLRRRLLLRLRRRLRLLLRLRRRLLRLLLLRLLLRRLRRRRRLRRLRRLLLLLLLRLLLRLRLRLLLLRLRLLRLLLRRLRRRRRLRRRLRLLLLLLRLRLRLLRRLLRLLLRRLRLRRRLRRLLLRRRRLRRLRRRLRLRLLRRRRLLLLLLRRRLLLLRLRLLRRLRLRRLRRRRLLRLLRLRRLLLRLLLRRLLLLLRRLRLRLRRLRRRRRRRLLLRLRRRLLLRRRRLLRRLRRLRLRLLRLLRLRRRLRLRRRRLRRRLLRRLRRLRLLRLRLLRLLRLLRRLLLRLLLRRRLRRRRRRLLRLLLRLRRRRLLLLRLLRLLLLRLLLRLLLRLLLLRLRRLLRRLRLLLRRLRLLRLRLRRRLLRLRRRRRLRLLRLLRLRRLRLRRLRRLRRRLLRLRLLLRLLRRLLRRLLLRRLRLLRRRLLRLLRLLLRLLLRLLRLRLLLLRRRRRRLLLLRRLRRLRRRLRRRLRRRLRLLLRRLLLLRRRLRRLLRLRRLRLRLRLLLRRRLRRRRRLLRLLRLLLRRLLRLLRRRRRLRLLRLRRRLLLRLLLRLRLRRLLLLLRLLRLLLRLRRRLRRRRRLRLLLLRLRRLLRLLLRRLRLLLLRRLRLRLRLRLRRRRLLRRRRLRRLRRRLRRLRRLLRLLLRRLLRLRLLRRLLRRRRRRLRLRRLLLLRRLLRLRRLRRRRLLRRRLRLRRRLLLLLRRLLRLRLLRLLLRRLLRRRLLLLRLRLRRLRLLLLLRLRLRRLRRRLRRRLRLRRLLLLRRRLRLLLLRLRRLLRRRRRRLLLRLLLRLRLRLRLRLRRLLRLLLLLRRRLRLRLLLRRLRLRLLLRRRLRLRRLLRRRRLLRLLRRLLRLRLRRLLRRRRLRLRRLLLLLRLRLLRRRLLLRRLRLLRRRRRRLLLLRLLLLLLRLLRRLRLRLLLRRRRRRLLRLLRLRRRRRRLLLRRRRRRLRRLRRRLRLRLLRLLRLRRRLLLLRRRLLRLRRRRRLLRRRLRRRRRLRLRRLRLRRLRRLRRLLLRLLLRLRRLRRRRLRRLRRRLLLRLLLRLRRLRRLLLLRRRLLRRRLRLRRRLLLLRRLLLLRLRRRRLLLRLRLLRRLLRRLRRRLRLRLRRLLRRRRRLRRLRLLLRRLRLRRRRRRLRRLRLRLRLLRRRRLRLRRRRLRRRRRLRRRRRRLRLLRLRRRLRLRRRLLLRLRRRLRRRLLLRRLLRRLRRLRLLRRRRRLRRRLLRLRLRLRLRLLRRLLRLLLRRRLRLLLRLLRRRLRRRLRRRLRLRRRLLRRRRLRLRLLRLLRLRRLRRLLLRLLLRLLLRRLRLLRLRRRLRRLLRRLRRLRRRRRRRRLLLRRLLLLRLLRRLRRRRLLRLLLLRRLRRRRLLLLLLLLLLRRRLRLRRLRRLLRRRLLRRLRLRLRLRLLLRLRRRLRRRLRLLLLLLRLLRRLLLRLRRLRRLLRRRLRLLRLRLRRRRRLLLLRLRLLLLLRRLLRRRRRLRLLLLRLRLLLRLRRLLLRLRLLRRRRLLLRLLRLRLLLLLLRLLLRRRRRLRRRLLRRLLLRRRLRRLRRRRLLLRRRLLRRLLLLLLLLLLRLLRLLRLRRRRRRRRLRRRRLRLRLRRLLRLRRLRRRRRLRLRRLLLLLLRLLRLLLLRLRRLRLLRLLRRRLLLLLRRRLLLLRRRLRLRRLLLLRLRLLLRLLRLRLLRLLRLLLRRRLRRRLLLLRRLRRRRRLLRRLLLRLLLLLRLLLRRRRLLRRRLRLLRRLLLLLLLLLLRLRRRLLRRRLRRLRLLLLRRRLRLLRRLRLRRRRRRRLLRRLLRLRRRRRRRRLLRLRRLLLRRLRRLRLLRRRRLRLRRRRLRRLLRLRLLRLRRRLLLRRRLRRLRLRLLLLRLRLRRRLLLRRLRLLLLRRLLRLLRRLRRRRRLRRRLLLLLLRLRRLLRLRLLLRRLLRRRRRLRRRRLRRRLRRRRLLLRRLRRLRLLLRRLLRLLLLRRLLRRLRLRRLLLRLRRRLLLLRLLLRLLLRRLRLLRRRLLLRLRRRRLLRRRLRRLLRRRRRRLLRRRLRRLLLLRLLLLLLRRLRLRLLRLLLRRRRRLRRRRLRLLRLLLRRRRRLLRLLLLLRRLLRLLLRRLLLRLLRLRLLRRLRRLLLRRRLLRLLRRLLRLRRRLRRLLLRRRRLRRLRRRLRLLLLLLRLRRRLRRRRLRRLRLLRRLLRLLRRLLLRRLLLRLLRRRLRRLRLRRLLLRRLLRLRRLLLRRRRRLRRRLRLLLLRRRLRLLRLLRLLRLRLRRLRRLRLLRRRRRRLLLLLLRRLRLLLLLLRRLRLLRLLRRLRLLRRLLLRRLLRRRRRLRRRRRLLRLLLRLLRLRLLLRRRLLLLLRRRLLLRRRRLLRLRLLLLLLRRRLLRLLRRRLLRRRLLRRRRRRRRLLRRLRLLRLRRLLLLRLLLRLRLRRLRRLRLRRRLLLRRLRLRLLRLLRLLRRLRLRRRLRLRLRLRRRLRRRLLRRLRLLRRLLLLLLRLRLRRLLLRLRRLRRLRRLRLLLRLLRRLRLLLRRRLRRLLRLLLLLLLLRLLRRLLRLRRLLLRLRLRLRRRLRLLLLLLRLRRRLRRRLRRLRRRLRRLLLLRLRRRRLRRRLRRLLRLRLLRRRLRLLLRRLRLLLRRLLLRLRLRRRLRLLLRRLLLRLRRRLLLRLRRLLRRRLRRRRRLRRRLRRRLRRRRLRLLLLLLLRLLRLRRLLLRLRLRLLLLLRRRRRRRLLLLLLLLRRLRLRRLRLLLLLLRRRRRRLLRLLLRLLLRLRLRLRLRRRRRLLRRRLRLLRLLLLRRRLLLRRLRRLRRLRRRLRRLLLRRRRRRLLRRRRLLLLLLRRLLRLRRLLLRLLRRRLRLRLLLRLRRLLLLLRLLLLLLRLRLLLRRLLRLLRLLLRLRRRLLRLRLRLLRLLRRLLRLLLLLRRLLLRRRRLLRRLRRLRRRRLLLLLLRRLLRRRRLRLLLRLLRLRRRRRLRLLRRLLRLLRRLLLRLLLLLLRRLLLLRLLLRRRRLLLLLLLLLLLRLRLLRLRRRLLLRLRRRLRLLLRLRRRRLLRRLLRLLLRRLRRRRRRRLRRLRRRRRLLLLRRRLRRLLRRLRRLLRLLRRRLRLLLRRRLRLRRRRLRRRLLLLLLLRLRRLLLLRRRRLLLLRLLRRRRLRLRRRRRRRRLLRLRLLLRLLRLRRRLRRRRRRLRRLRRLLRRRRLLRRLLLRLLRRRLLRLLLLLRRLLLRLLRRRRRLLRRRLRRRLLRLRRRLLRLLRLRLRRRRRRRLRLLLLRLRLLRRRRRLRRRRLLRRLRRLRLRRRLRLRLRRRLLLRLRLLLLLLLLLLLRRLRLRLRLRLRLLLRRLRLLLLRRRRRRRRRLLRRRLRRRLRLLLLRLRLLRRRRRRRLRRLRRRLLRRRRLRLRLLRLRLLLLLRLRLRRLLRLLRRRRRLLLLLLLRRRLLRRLRRRRRRLLLLLRRRLRLLLRLLRLRRRRRLLRLLRRRRLRLLLRRRRRRRRRLLLRLRLLRLLRLLRLLRLLRLLRRRRLRLLRLLLLRLLLLRLRLRLLLRLLRRLRLRRLLLRLLRRRLRLRRLRLLLRLRRLRRRLRRLRLLRRLRLLLLRRLRLLLLLLRLLRLRLLRLLRRRLRLLLRLLRRLLRRLRRLRLLLLRLLRRLRRLLLRRRLLRLRRRRLLLRRLLLLRLLRRRRRLLRRLLRRLLRRRLLLLRRRRLRLRRRRLLRRRRRRLRLLLLLRLRRRRLLRRLRRLRRRLRLLLLLRLLRRRLRLRLRLLLLLLRLLRRLLRRRLRLRRLRRRLLRRRRLLRLLLLRRRRLRLLLRRLRRRRRLLRLLLRLRRLLLLLRLLLRRRLLLLRRLLRLLLLRRRRLLRRLLRRRRLRLLRRLLLLLRRRLLLLRRRRRRRLRRLRLLLRLRRRRLRLRRLRLRRLRLRLRLRRLLLLRRLLRLLRRRRLRLRRRRRLLLRLRRRRRRLRRLLLRRLLLRRLLLRLRLRLLLRLLLRLLLLLRLRRRLLLRLLLRRLRLRLRRRLLLLRLLLRLLRLLLRRRRRLRRLRRRRLLLRRLLRRLLLRLLLRLLLRLLRLRLLRLRLRRLLLLRLLRLLLLLLLRLLLLLLLRLLLLLRRLRRRLRRLRLLRLRRLLLRLRLLLLLLLRLLRLRLRLLLLLRRRLRRLLLRLRRLRLLLLLLRLLLLRRLRRRLLLLLRLRRRRRRRLRLRRLRRLLRLRRLLRRRRRLRRLRLLLLLRLLLRRRRRLLRRRRRRLLLLRLLRRLLLRLRLLRLRLLRRRRRLRLRRRRRLRRRRLRRLLLLRRLLRRRRRRLRLRLRLLLLLLLLRRRRLLLLRLRRRLLRRLLRLRRRLRRRLRRRRLLLLRLLLRLRRLRLRLLLLRLRLLLLLLLLLLRRLLRLLRRRRLLRRLRLLLRRRRRLRLLLLLRRLRLLLLRRRRRLLRLLRRLRRLLLLRLRLLLLLLRLLLLRLLRRLRRRRLRRRLLLRRLLRLLLRRLLRLRRLLLRRRLRRLLLLRRLLRLLRRRLRLLLLRRRLLLRLRLLLRRLLLRRLLRRLLLRLRLLRRLRLLLRLRLRLRRRRLRLLLRRRRLRRRLRLLLLLLRRRRLRRRLLRRLRLLRRLLRRRLLLRRLLLRRRRRLLLLRLRRLLLLLRLLLRLRRRLRRLLLRRRRRLLLRRLRRLRLLRLLRRRRLLRLRLLRRRLLLLRRLLLLLLLLRRRLLRLLLLLRLLRLRLLLRLRLLLLLLLRLLRLLRRRLLLLLLLRLRLRLLLRLRLLRRLLLLRLRLRRRRLLRLLRRRRLLLLRRLRLRLRRRRLRRRLRLLLLRRLLLRLLLLLLRLLLRRLLRRLLRRLLLRRLRLRLLLLRLLLRRRRLLLRRLRLLLLRLRRRRLRRRRLRLLLRRLLRLRLLLRLRRLRLRLLRLRLRRRRRRLRLRLLLRLLLLRLRRRLLRLLLRRLRRRLRLRLRLRRRRRRLLLRLRLRRRRLLLRRRLLLLLRRLRLRLRRRLLRLLRLLLLRRRLRLRLLRLLRLLLLRRRLLLLLRLLRRRLRRLLLLRLRLRRRLRRRRRRRLRRRLRRRLLRRLLLLRRRLLLLRLLRRRRLRLLLLRLRRLLLRRRLRRLRRLLLRLLLRRLRLRRRRLRRLRLLRRRRLRLLRRRLRLRRLRLRLRRRLRLLLLLRRLRLLLLLRLLLRRRRLRRLLLLLLRLLRRLLRLLRRLLLLRRRLLRLLLRLLRLLRRRLLLLRLLLLLRLRRRLRLRRLLLRRLRLLRRLRLRLLLRRLRRLRRLLLRLLLLLLLLLRRRRLRRLLRLRLRLRLRRRLRLLRRRRLLLRRRLLRLRRRLLLLLLLLLRLLRLLRRLRLRLLLLLRRRRRRRRRRLLRRLRRLLRLRLRLLLRRRRLLLRLLLRLRRRLLRRLRRLLLLRLLLLRRRRLRRLLRRLLLRRLRRLRRLLLRRLLLLRRRLLLRRLRLRLLRLRRRRRLLRRRLLLLRLRLLLLLLRRLRLLRLLLLLRLRLLRRRRLLRLLLRLLLRRLLLRRRRRLLRRRRRRRLLRRLRRRRRRRLRRLRRLRRRLRRRRLLRLRRLLLRLRRLRRRRLLLRLRRLRRLRLRRRRRRRLRLLLRLLRLLRLLLRLRRLRRLLLLRRLRLLLRLRRRRRLRRLLLLLRRRRRRRRLLLLLLRRLLLLLRLRLRRRRLRLLLRRLLRRLLRLLLLRRLLLRLRLRLLRRRRRRLRRRRRLRRLLLLRLLLRLLRLRLLLLLLRLLRRLLRLLLRRRLRRLRRLLRRRRLLLRRLLLRRLRRRLLLLLRRRRRLRRLLLLRRRRLRLLRLRLLRRRRLLRLLLLLLLLLRLLRLRRRLRRRRLRRRRLRRLLRLRRLLLLLRRRRRLLLLRRRRLLRLLLRLRLLRRRRLLRLLLLLLRRRLRRLLRLLRRRRRRRLRLRLLRLLRLRLLRRLLLLLRLRRRLRRLRLLLLRLRLLRRRLLLLLLRLRRLLLLRRRLLLLRRLLLLRRLLLLRRLLRLRLLRRRRRRLRRLRLRRLRRLRRLRLRLLLRLLRLLLLLLRLLLRRLLRRLLLRRRLRLLRRRLRRRRRLRLRRRLRLLRRLRLRLLLRRRLRRLRLLRLLLLRRLLRRRLLRLRLLLLLLLLLLLLLRRRLRRLLLRRRLRLRRRLLLRLLRLRRRRLRLRLRLRRLLRLRLLRLLRRLRRRLRLLRRRLLRLLLRLLRLRLRLRLRRRLRRRRLLRRLLLLLRLRRRLLRRRRRRRRLLLRLRLLRRRLRLLLLLRLLLLRRRRRRRLLLRLLRLRRRLRLRLLLLRLRRLRRLLLRRLLLRRLRLLLRRRLRLRRLLRLRLLRLLRRLRLRRRRLLLRRLRRLLRRRRRLLRRRLRRRRLLLLLRRLLLLRLLRRLLLRRRLLRRRRRLLRRRRLLLRRRLRRLRLRRRRRLRLLRLLRLLLLLLRRRLRLLLLRRRLRRRRRRLLRLRRLRRLRLRRLRLRRRRRRRRRLRRLLRLLRRLRRRRRLRRLLRLRLLLLLLLRLRRLRLRLRLRLLLRRRLLLRLLLRRRRLRLRLLRLLRLLLRLRRLLLRRRRRLLLLLLRLRLLLRRRRLLLLRRLLLLRRLRRRRLRRRLRRLRLLRRRRRRRRRLRRLLRRLLRRLLLRRLRRLRLLRRLRLRRRLLLLLLLRLLLRRRLLLLRLLLLLLLRRRRRRRRRLLLLLLLLRRRRLRLLRRRLLRLRRLLLLRLLRLRLRLLLRRRRLLRLRRLLRLRLLLLLRRRLRLLLLLLRRLRRRRLLLLRLRRLLRRRRLRLRRRRRRLLRLRRLRRRRLRLLRRLLLRLLRRRRLRLLRLLLLRLLLRLRRRRRRLRRRRRRRLLRLRLLRRLLLRRRRLLLLLLRRRRRRLRLLRRLLRLLRRRLLRRLRLLRLRLLLRRLRLRRRLRLLRLRRLRRLRLLLRLLLLRRRLLRRLRLRRLLLRLLLRRRLLLRLRLLLRLRRLLRRLRRLRRLLRLRLRLRLRRLLRRLLRLLLRLLLLRRLRLLLRLLLLLLLLLRRLLRRRRRLLLLRLRLLRRRLLLLRLRLRRLLRLRLLRRRRLLLLLRRLRLLRLLLRLLRRRRLRLLLRRLLLLLRRLRRLLRLRLRLLRLRRLLLRRLLLLRLLLLRRRLLLRLLLRLLRRRRRRRLRRLLLRRRRLLLRRRLLLLRRRRRRRRLRRLLLLLLRLLLLRRRRLLRLRRLRLRLLRRLRLLRRLLRLRRLLRRRRRRLRRLRLLLRLRRLRLLLRLRRLRRRLRLLLRRLRRRRRLLLLLRRRLRLRRLRRRLLRLRLRLRLRRLLLRLLRRRRLRRLLRRLRRLRLLRLRRRLLRRLRLRRRLRLLRLRRRLLRRLLRRLRRLRLLLLLRRRLLRRRLLLLLLLRLRLRRLLRLRLRRRRRRLLLRLLLRRLRLLLLLRLLLRLLRLLRLLRRLLRRRRLRRLRRRRLLRRLRRLRRLRLRRRLRLRRRLLLLLLRLRRLRRRLRLRRRRLRLLRLRRLLRLLRRLLRLRRRRRLLLRLRLRLRLRRLRRRLLLRRLLRRLLLLLLRRLLRRLRRLRLRRLRLLLRRLLRLRRLLRRRLRLRRRLRRRRRRRRLRRRRRRRRLRRRLLRLLRRLLLRLRRRRLRRLLRLLLRLRLRLLLLRRRLRLRRRLLLLLRLLRRLLRLLRLLRRLLLRRRLRRRRLRLLLRLLLLRRRRRLLLLLRRLLRRRRLRLLRLLLLRRRRLLRRLLRRRRLLLLLLRLRLRLLRLLRRLRRLRRLRLLLLRLRLRLRLRLRRLLRLRLRRLLRLLRRLLRLRRRLLLRLLLRLRLRLLRLLLLRLRRLLLRLLRLLLRLRRRLLRRLRLLRLRRLRLRLLRRRRLLRLRRLRLRLLLLRLRRLLLLLLLRRRRLLLLRLRLRLRLLRRRLRLRRLRRRLLRLLLRLRLRLRLRRLRLRRRRLLLRLRRLLLLRLRLRRLLRRRLLRRRLRLRLLLRLRLLRRLRLLRRRRLRRLLRRLLRLLRLRLLLLRLRLLRRLLLLLRLLLRRRLRLRRLRLLLRRLLRRLLRLLLLLRRLLLLLRRLLLLLLRRLRLLLRLLRRRRLLRLRLLRLRLRRRLRLLLLLRLLLRRLLLRRLRRRRLLLRLLLRLLLLRLRRRRRRLLLLLLRLRRLRLRLLRRRRRLLLLRLRRLLRLRRRRLLRRRRRLRRRLLLLRLLLLRLLRLLLRLLRLLLRRRLLLLRLLRRRLLLLLRRRRRLRLRRRRRRLRRRRRRLRRRRRLLLRLLLRRRRRLLLRLRRRRRRLLRRLLRRRLLRLLLLLLRLLRLLRRLRRRRRRRLRRRLLRRRLRRRRRLRRLRRRRLRLLRLRRLLRRLRLLRRRLLLRRLRRLRRLRRRLRLLLRLLRLRRRLLLLLRLRLLRLRLRLRRLLLLLLRLRRRLRRRRRLRLRRLLRLRLLRLLLRRRLRRLRLLRRRLRRRLLLRRLRLRRLRLRLRRLLLLLRLRRRLLLLLLRRRLLLRRLLRLRRLRLLLRRRLLLLLRRRLRLLRLLLRRLLLRLRLLRLRLLRRRRRLRLRRRLLRRRLRLRLLRLLLRLLRRRLRLRLLRRLRRRLLLRRRRRLRLLRRRRRRRLRLLLRLLRLRRRLLRLRRLRLLRLRRRLRLLLRRRLRRLRRLLRLLLRLLRLLLLLLRRLRLRLRLLRLLRRLLRLRRRRRRRLRRRLLLLLLRRLLLRLRLLRLRRLLRLLLRRRRRLLLLLRLLLLRLLLRRLRRLRRRLRRLRRLLRRLRRRRRLLRLRRRLRRRLLLRLLRRLLRLRRLRRRLLRRLRLLLLLLLRLRRRLLLLRRLRRLLRLRLLRRRRRLRLLRRLRRLLLRLLLLRRLRRRRLRLLRRLRLRRRRLLRRRRLRLRLLLRRRLLRLLRLLLLRLLRRLLRLLRLLRRLLRRLLRLLLLRRLLRRLLRLLRLLRLLRRLRLLRRLRLRRLRLRRLRLLRLRRLLLRRRRLLRRLRRLLRRLLRLRRLLLLRRRLRLRLLRRLRLLRLRLRLLRRLLRLLLRLRLLLLRRRLLRLLLRRLRLLRRLRLRLRRLRLLRRLRLRLRLRRRRLRLLRLRRRLLRRLLRRRLLRRLLLRRLLLLRRLLRLRRRLRRLRRRRLLRLLLLLLLRRLRRRLLLLRRRRRRRLRLLLLRLRLLRRRRLRLRLLRRRRLRRRRLRLLRLRRLRLLLRLLLLLRLRLRRLRLLLLLLLRRLLLLLLLLLRRLLRLRLRLLRRRLLLLRLLRLLLLLLRRLLLRRRLLLLLLRLLRLLLLRLRLLRLLRRLRLRLLLLLRRRRLLRRRLLRRLRRRRLLRRRRLLLLLRRRLRRRLRLLLRLRRLLRRRLLLRLRRLRLLLLRRLLLLLRRRLLLLLRLLRRLLLLRRRLLRLRRLLRLLRRRLRLRLLLLRLRLLLLRLRLLRLLLLRRRRLLLRLLRLRLLLLLRLRRRRRRLLLRLRLLLRLRLRLRLRLLRRLRLLLRLRRLLRLRRLLLLLRRLRLRLLLLRLLRRRLLLLRLRRLLLLLLLRRLRRLLLRLLLRLLRLRRLLRRRLLRLRLRLRRLRRLRRLRRLLLRLRRRRRRRRLLLRRLRLLLLLLRRRLRLLLLRLLRLRLRRRLRRRRRLRRLLRRLLLRRRRRLLLLRRLLLLRRRLRLLRRLLLRLRRRLLLRRRLRLLLRRLLLRLRLLRRRRRLLRLLLRLRRRRLRLRRLLLRRRRLLRLLRLRLRRLRLRRLLLLLLLLRRLLLRRRLRLLLRRLLLRLLLRLRLLRLRRRRLRRRLRLRLRRLRLLRRRLRRLRLRLRLRRRRRRLRLLLRLLLRRLLRLRLLLRRLRLLLLRRRLLLRRRLRRRLRRRRRRLLLLRRLRLRLLLLRLRLLLLRLRLRLLLRLLRLRLLLLLRLRLLRRRRRRLRRLRRRRLRRLLLLRLRRLLLRRRRRRLLRRRRRLLRRRLLRRRRLRLRRRLRRRRLRLLRRRLRRRLRLLRLRLRRRLRLRLRLRRRLRLRRLRRLRRRRLRRLRLRRLLLLRRRRLRRRRRRLLRLRLLLRRLLRRRLRRLRLRLLLLRRRLLRLRLLRRLLLLRLRRRLRLLLLLLLRRRLRRLLRRRLRLLRLRRLLLLRLLLLLLLLRRRRLLRLLRLRRRRRLLRRLLRLRLLRLLLRLRLLLRRRLLRRLRRRRRRLLLRLLLLLLRLRLLLRRRRLRLRLLRRLRLRRRLRRRRLLLRRRLLLRLRLRLLLLRLLLLRLLRLRLRRRRRLLRRLRRLRLLLRRLLRLRRRRLRLRRRLRRRLRRRLRRRRLRRRRRLRRLLRLRRLLLRRLRRLLRRLLRRLLLRLLRRRRLLRRLRLLLRRRLLRLRRRLLRRLRLLLRRRRRLRRRRRLLLLRLLLLRRLLRLLRRRLLRRLLRRLRRRRRRRLLRRRLLLLRRLRLLRRRRLLLRLLRRRLRRLLRLLLLLRLRRRRRRLLRRLRLLLLRLLRLLRRLLRLRLRRRLLLLRRRLRRLRLLRLRLRRLRRRRLRLLRLLRRRRLRLRRLLLRLRRRLLLLRLLRRLRLLRLLLRLLLLLLLRLLLLRLLRRRRRRRLLLLRRRLRLRLLRLLRRLLRRRRLRLRRRLLRRLLLLLRLLRRRLLRLRLRRRLRRLRLLLLLRRLLLLRRRLLRLRRLRLRRRLRLLLLRRLRRLLLRRLLRRRLLLLLLLLRRLLLLLRLRLLRLRRLRRRRLRRLLLRLRLLRLLLRLRLRLRRRRRRRRRRLLRLRLLLLLLLRLRLRLRLLRRRLLLRLRLRRRRRRRLRLRLLRRLLRLLRLLRLLRLRRRLRRLLRLLRRLLLRRLLLRLRLRRRRLLRRLRLRLLRLRRRLRRRLRLRLLLRRRRRRLRLLLRLRRRLLRLRRLLLRRRRLLLLLRRRLLRLLRRLRRRRLLLRLRRLLLRLRRRRRRLRLLRLLLLRRLRRRRRRRLRLRLRRLLRLLLRRLLRLRLLLLLLRRLLRLLLRLLLRRLRRRRRRRLRLRRLLLRLRLRLRRRLLRLLRLRLLRRRLRRLRLRLRRLRRRRRRLLLRRLRRLRLRLRRRLRRRLRLRLLLLRRRLLLRRLLLRRRRLRLLLRLLRLLLLLRLLLRRLRRRLLLLLLLRLLRLRRRRLRLLRRLRLLRRLLRRLLLRLLLRRRLRRLRRLLRLRLLLRLRLLLRLLRRRLRRLLLRLRLLLRRLRLRRRRRRRLRLLRRRRRRLLRRRLRLRRRLLRLLRLLRRRLRLRRLRLRRLLLLLRRRLRRLRRLLLLRLLRLLRRLRRLLLRRLLRLLRRLLRRRRLRLRRLLLRLRRRRRRLRRLRRRRLLLRLRRRRRLLRRRRRRLRLLLRRRLRRLLLRRLLLLRRRRLLLLLRLRLLLRLLLLRRRLLRRLRRRLRRLRRLLLRRRRLLLRRLRLLLLLLRLLRRRRRRLRLRLRRRRLLLRLRLLRRLLLRRRRLLLLLRLLRRLRLRLRLRRLRLRLLLLLLRLRRRRLLRRLLLRRRRLRRRRRLLLLRRRLLRRRRLRRLRRLLRLLRRRRLRRLLLRRLRRLLLRLLLRRLLRLLRRLLRLRLRRLRLRLLRLLLRRLLLRRLLRLRLLLLLLRRRLRLLRRRRLRRLRLLRRLLRRLLLRLLLRLRLRLLRRLLRLRRRRLLLLLLLLLLLLLLLLRLRLLRLRLLRRRLRLLRLLRLLRLLLRRLLLLRLRRRRLLRRRLRRRLLRLLRRRRLRLLLLRRRRLRRLLLRRRLRRLLLLRLRLRRRLLLLLRRLRRLLLLLLLRRLLRLLLRRRRLRRLLLLLRLRRLRLRRRRLRLRLRRRRLRRLRLLLLRRLRRLLLRRLRLRRRRLRRRLRRRRLLLRRLLLRRRRRRLLLLRRLRLRLRLRRLLRLLRRLRRRRRLLRRRLRRLRLRRRLRRLRRLRRRRLRLRLRRLRRRRRRRLRRLLRRLRLRLRRLRRLLRLLRRLLRLLRRLLLLLRRRRLLRRLLLRLLLLLRRLRLLLLRRLLLLLRRRLRLRLLLLLLRLLLLRLRRLRRLLLLLRLRRLRLLRLRLLLLRLLRLRLLRRLLLRLRLRLRRLRRRLRRLRLRLLLRRRLRRLLLRRLLLLRRRRRLRLLRLRLRRRLLRLLLLLRRLRLLLRLLLLRRRLLLLLLLRLRRRLLRLRLLLLLLLRLLLLRLLRRLLRLRLRLRRLLLLRRRRRLRLLRLRRLLLRRRLRLLLLRLRLLRLRLLRLRLRRRRLRRRRLRLRLLRLLLRRLRLLLLRRRLRRLLRLRLRLRRLRRRLRRLLRLRLLLLLLRRLRRRLRLRRLLRRRLRRRLRRRLRLLRLRLLLLLLRLLLRLRRRRRRLLRLLRLLLLLLLRRRLLLRLLRRRLRLRRRRRLRRLRLRLLRLRLLRRLRLRRLLRLRRRRRRRRRRRLLRRRRRLRLLLRLLRLLLRLLLLLRLLLLRRRRRRRLLLLRLLRRRLRLRRLLLLRRLRLRLRRRLRRRRLRRLRLLRLLLRRLRRLLLRLRLLLRLLLLRLRLRRRRRRRLLRRLLLRRLRRRRRLRRRLLLLLRLRRRLLLRLLRLRLRRLRRLRLRLRRLRRLRLLLLLRLLLLLLRRRLRLLRRRLLLLRRLRLRLRLLLRLRLLRRRRRRRLLLRRRLRLLRLLLLRLLRLLRLRRLLLLRLRLRLLRRRLLLLRLRLLLRLRRRRRRLRRRRRRLLRRLRRLLLLRRLLRRLRRRLLRLRRRRRLRLLRRRLRRLRLRLLRLRRLLLLRRRRRLRRRRRRRLRLLLLRRLLLRLRLRRLLLRRRRRRRLRRLLLRRLRLLRLRRLLLLLRRRRRLLLLRRLLRRLRLLRLLLRRLLRRLRRLLRRRLLLRLLRRRLLLRRLLRLLLRRRRRLRLLRLRLRRLRLLLRRLLLRLLRRLRLRLLLLRLRRRLRLLRLLLRRLLLLRRLRRRLLLRLLRRRLRLLRLLLRRRRRRRLRRRLLRRRLLLLRRRRLRRLRRRLRRRRRRLLRRRRLLRLRLRRRRLLRRRRRRRRLLRRLLLRRRLLRLLRRRRRRLLRRRRRRRRRRLRRLLLRLRLLLRRRLRRRLLLRRLLLLLLRRLRLRLRRLRRRLRLRLLRLLRRLRLLRRLLLLRRRLRLRRRLRRRRRLRRLRLRRRRRRRRRLLLRLLRRRLLRLRLRRRRRRLRLLRLRLLLLLLRRRRRRRLRRRLLLLRLRRLLRRRLRLLLLLRLLRLRLRRLRRRLRLRLRRRRRRRRLRRRRLRLLRLRLRRRRLRRLLRLLLRLLRLLLLLRRLLRLRRLLLRRRLRRRRRRLLRRLRLLLLLRRLRLRRRRRLLRLLRLLRRRRLLRLRLRRLRLLLRLRLLLRLLRRRRLRLRRLRLRLLRRRLRLLRLRLRRRRRRRRRLLLRRRLRRRLRRLLLRRRRLRRLRLRRLLRRLRLRLRRLLRLLLRLRLLLLLLLRLRRLLRLRLRRLLLRLLLLRLRLRLLLRRRRRRLRLRLRRRRLLRRRLRLLRLLRRLRRRRRLRRLRLLRLLRLRLLLLRRLRRRRRLLRRLLLRRLRRRRRRRLLLRLRLRRRLRLLRLLRRRRRLRLRLRLLRLRRRRRLRRLRRRRRRRRLLLLRLLRRLRLRRRRRLLLRLRLLLLLLRLLLLRRLRRLLRLLRRLLRRRRLLRRRLRLRRRLRRLLLLLLLLLLLRRLLRLLRRRLLRLRLRLRLLRRLLRRLLRLLLLRLLRRRLRLLLRLLRRRLLLLLRRLLRLRLRLLLRLLRRRRLLLRRLLLRRLLLRRLLLRLRLRLRRRRRLLRRRRLRLRRRRRLLRRRRRLRRRRLRLLRLLLRLRLRRRRRRRRLLRRRLLRLLRRLLLLLLLLLLRRLLLLLLLRLLRLLLLLRRRLLLRLLRLLLLLRRLLRLLLLRRRLRLLRLRRLRLLLLLLLRLLRRLRRLRRLLRRLRRRRRLRRRRLLRLLLLLRRLRLLRLLLRRRRLLRLLLLLRRRRRRLLLRLLRLLLRLLLLLLRRRLRLLLLLRLRRRLLRRRLRLRLRRRLLLLLRRLLLRLRLLLRLRRRRRLRLLRLRRLLRRLRLLLLLRRLRLRLLLRRRLRLLLLRRRRLLLRRLLRLRLRRLRRLRLLRRLLLRRRLLLLLLRRLRLRRRRLLRLLRRLRRLRRRLRRLRLLRRLLLLRRLLLRLRRRLRLRRRLRRLRLLRRLRRRRLLRRLRLRLRLRLLLLRLLRRLRRRRLLLRLLRRRRRRLLLLRLRLRLRRRRLLRRLLLLRLRLRLRLLLRLLRLRRLLLRRRRLLRRRRRRRLRLLLRRLLLLLRRRRLRRLRLLRRRLLLRLLRLRRRLRRLLRLRRLLLLRLRRLLRRRLLRRRLRLRRRRRRLRLRLLLRLRRRRLLRLLRRLLLLRLLLRLLRLLRRRLRLLRLLRRRLLLLRLLRRLRLRLRRLLRRLLLLLLRLRRRRLRRLRRLLRLLLRLLRRRRLLRLRRLLRLRLRRLLRLLLRRLLRLRLRRLLRLLLLRLRLRLRLRLRRLLLLRLRRRLRRLRLRRRLRLLLLRLRLRRLLLRRLLLRLRLRRLLLLRLLLRLRRRLLRLLRRLRLRRLRRLRRLLLRLLLRRRRRRRRLLLRLRLRRRRLRRLRLLRLRLRRRRLRRLRRLLLLRRRLLRRLLLRRLLRLLRLLRRRLLRLLLRRRRRLLLLLRRLLLLLRLRRRRRRLRRRRRLRRLLRRRLLRRRLLLLLRRRRLLRRRRRLLRLRLRLLLLLLLRRRRLLLRRLRRRRLLLRRRLLLRRLLRLLLRLLRLLLLLRLRLLRLRLRRRLLLLLRLLRRLRLRLLLLLRLLLLRRLLLLLRLRLRRRRRRLLRRLRRLLRLLRRLRLRLRLLRLLLLLRRRRRLRRRRRLRRRRRLLLLRRRRRRLRLRRLLLLLLRRRLLLRRRLLRLRLLRLLLLLLRLRLRLLLRLLLLRRLLRLRLRLRRRRLLRLLLLRRLLRLRLRRLRRRLRRLRRRRRLRRRLLRRRLRRRLRLLLRRLLRRRRLLRLLLLLRLRRLLLLRLRLLRRRLRRRLRRRLLLRLLLRRRRLLLLRLRRRLRRRLLRRRRRLLRLLLLLLLLRRRLRRLLRLLLLLRRLLLLRLLRRLRRLRLRRLRLRRLLRRLRRRLRLRRLRRLRLRRRLRLLRLRLLLLRLLLLRRLLRLRLLLLLRLRLLRLRLRLRRLLLRLRRLLLLLRRRRLLLLRLRLRLRRLLLRLLLLLLLLLLLLRLRLRLRRLLLRRRLLLRRLLLRRLRRLRLRRRLLLRRLLRRRRLLRRRLLRLLRLLLLRLRRLLRRRRLLRLRLLRRLRRRRRLRRRRLLRLRLLRRLRRRRRRRRRLLRRRLLLLRLLLLRLLRRRRRRRLLLLRLLRRLLLRRRLLRLLRLRRLLLRRLLLRLRRLLLLLLRRLLLLRRRRLRRLLLLLRLRLLLLRRLLRRRLRRRLLRRRRLRLLRRLRLLLRRLLLLRLRLRLRRRLLRRRRLLLLRRLRLLLLLLLLRRLLLLRRRRLLRRLLLRLRRRLLRLRLRRRLLLRLRLLRLRRLRRRLLRLLRLRRLRLRLLLRRRRRRLRLRRRLLLLRRLLLLRLRLLRRRRLRLLRLRRLRLLLRRLRLLLLLRLRLRLLRRLLLLRLLLRRLRLRRRRRLRLLLRRLLLLRLRLLRRLLRLLLRRLRRLLLRLRLLRRLRRRLLRLRLLRRLRRRRLRLLLLRLLRRRLLLLLLRRRLRRLLLRLRRRRRLLRRRRLLRLLRRLLRRLLLLLRLLLLLLRRLLRLLLLLRLRLRLRLRLLRRRRRRRLRLRRLRRRLLLLLRRLRLLLRLRRLRRLLLRLRLLLLRRRRRLLRLRLRLLRRLRLRRLLRRRRRRRRLLLLLRLRLLLRLRLLLLLRRLLRRLLRLRRLRLRRRLLRRLRLRLLRLRLLRLLLLRLLLRRRRLRLLRLLLRLLLLRLLRRLRRRLRLRLLRLRLLLRRRLLLRRRRLLRRRLLRLRRRRLLLRLRLLLRLLLLLLLRLLRRRRLLLLRRLRRRLLRRLLLLRRRRLRRRRLLLLRLLLRRRLLLRRRRRRLRRRLRRLRLLLRLRRRLRLRRLRRRRLLRLLLRLLRRLRLLLLRLLRRLLRRLLLLLRRRLRRRLLRLLRLLRRRRLRLRRRRLRRLRRRLLLLLLRLLRLRRLRLLLLLRLRLLLRRRLRRLRLRLRRRRLRLLRRLLLRRLLRRRRRRLRRRLLRRRLLLRLLRLRLRRRLLRRRLRLLLLLRRLLRRLLLLRRRLLLLRRRRLLLRRLLRRRLRLLRLRLRLRLLRRLRLRRRLRRLRRLRLLRRLLLRLRRLRLLRRRLRLLRLLLLRRLLRLRLLLRLRLLRLRLRLLRRLLLRRLRLLRLRRRRRLLLLLRRRRRRRRRLLLLRRLLLRRLLRLRLRRRLRLRLLRRRRLRLRLLLRRLRRLLRLLRRLRRRRRRRLRRRLRRRLRLRRRRLRLLRRRLRRLLLLLLRRLLRLRRRLRRLLLLRLLRLRLLLRRRRRLLRLLRRLLRRLLRRLRRRLRRRLLLLLRRLRRRRRRLRLLLLLRLLLRLLLRLRLRLLLLLRLRRRLLRRLLLLLRRRRLLRLLLLLRLLRRLLLRRLRRRRLRLRRLRRRLLLLLLLLRRRLRLRLLLRLLRLLRRLLRLRLLLRRLRLRRLLLLRRRLLLRRRLLRRLRLRRLLLLLRRRLLRLRLRLRLLRRLRLRLLRLRLRLLRRRRRRLRLLLRLLLLLRRRLRRLRLLRRLRLLLLRLLLLRRLLRLRLLRRRRRLRLRLRLRLLRLRRLRRRLLRLLRRRLRRRLLRRRLLRRLRLLRLRRRLRRRRLRRLLLRLRRLRRLLLRLRLRLLRLLLRRRLLLLRRLLLLRRLLLRLRLLRLRRRRRRRLLLLRLRLLLRRLLRRRLLRLRRLRRLLLRLLLRLRRRLLRRRLRLLRRLLLRLRRLLLRLLRRLRLLLRLRRLRRRLRRLLRLLRRRLLRLLLLRLRRLRRLRRRRRLRRLLLLLLRLLRRRRRRRRLRRRRRLRRRRRRRRLRLLLLRLLRLRRRLRRRRLRLRLLRLRRLLRRLLRRLRLLLRLLRLLRLLRRLRRLLLRRLRLLLLRRLRLRRLLRRRRLRRRRRRRLRLRLLRLRRRRLRLLRRRRLRRLRLLLLLRRLLRLRRLRLLRRRLRLLRLLRLRRLLRRRLLLLRRLLLLLRRRRRRLLRRRLLRLLRRRLRRLLRLLLRLLLLLRRLLRLRRRRRRLRRLRRRLLRLRRLRLLRRRRRRLRRLLLRLLLLRLRRLLLLLLRLRLLRRLRRLLRRLLRRLLLLLRRRRRLLRLLRRLLRLRRLRLRLLLRLRRLRRRLRLRLRRRRLRRLLRRRLRLRRLRLLLLLLRRRRRRLRLRLLLRLLRLLLRRLRLRLRRLLLRLLRRRLRRRRRRRRRLLLRRLRLLLLLLRLRRLRRLRRLRLRRLLLLLLRRRRLRLLLLRRRRLRRRRRRLLLRLRLRLRRLLRLRLLLLRLRRLLLLLRRRRRRRRRRLRLRLRRRRRRRLRRLLRRLRLLRLLLLRRRLLRLRRRRLRLLRLRRLRRLRRRLLLRRLLLRLRRLLLLLRLRRRLLLLRLLRLLLLRLLRRRRRLLLLLLLLRLLLRLRLLRRRLLLLRRRRRRLRLLLRRRRLRLLLRRLLRRRLLRLLRLLRRLRRRRRRRLLLRRLRRLRLLLRLRRLLLRLLLLLRRLRRLLLLRRLLLLLLRLLRRRLLLRRLRRRRRLRLRLRLRRLRLRRLLLLLLLLLLRRLLLRRLRRLRLLRLLRLRRLRRLRRRLRLRRRLLLRRLRRLLLRLRLRRLRLRLLLRRLLRRRLLRRRRRRRLRRLRLLRLRLRLLLLRLLRRLLLRRLRLLLRLLRLLLLLRLLLRRLRRLLLRLLLLRLLLRLRLRRLLRLLRRRRRRLRRLRLRLLLRLRRLLLLLLLLLRLRLLLLLRRRRRLRRRRLLLRLRRLLLRLLLRLLRRLRLLRLRRRLRRRLLRLRRLLLRLRLLLLLRRRLLLRLRLLLRRLLLLRRLRRRRLLLRLRRLLRRRLLLRRRRRLRLLLRRRRLRLRRLLRRRLRRRRLLLLRLRLLRRLRLRRRRLRLLRRLLRLRLLRLRLRLRRLRLRLLRRLRLRRRRRLLRLLLLRRRRRLLRRLLLLLRLLLRLLLLLLLRRLLLRLRLRLRLLRLRLRLLRRLLLRRLRRLRLRLLLRRLLRRRLRLLRRRLLLLLLLRLRRLRRLLLLLRRLLRRLRLRRLRLRRLLLRLRLLLLLRLLRRRRLLRLRRLLLRLLLRLRRLLRRLRLRRRLRLLLRLRRRLLRRRRLLRLRLLRLRLLRLRRLRLLRRLLRLLRRLLRLRRLLRRLLLRRLRLRLRRRRLLRLRLRLRLLLLRRRLLLLLRRLLRLRLLLLRRLLRRRRLRLLRLLRLLRRLRLRLRLRRRLLLLRLLRRLRLLRLRRLLRLRLRLRRRRRLLRLRLRLRLRRLLRRRLLLRRRRRRLRRRLLRLLRLLLRLRRLLRRLLRLLLLLLLRRLRRRLRLRRRRRLRRRRLLLRRRRLLRRLLRRLLLLRRRLRLLRLRLRLLRRRRRLLLRLRLRLRLRRLRRLRLRLLRLLLLLRLLRLLLLRRRLRLLLLRRLLRRRLRLRLRRLLLRRRLRRRRLLRLLRRLLLRRLLLLRLLLRLRLLLRLRRLLRRLRLRRRRLLRRLRRRLLRRRLRRRRRLLLLLLLRLLLLRRLRLLRLRLLRLRRRLLRLRLLLLLLRLRRRRRLLRRLLRLLRLLRLRRLRRLRLRRRLLRRRLRLLLRRLLLLLRLRRLRRLLLRLLRRLRLLLRLRRRLRLLRLRLLRRLRRLLLRLLRLRRLLRLLRLRRLLRRRRLRRLRRRRLLLLRLRLLLRRRRLLLRLRLRRLRRLRRRLLRLRLRLRLRRLLRRRRRLLLLLRRRRRLRLRLRLRRRLLRRRLLRRRLRLRRRLRRRRRRLRLRLRRRRLLRLLLLRLLRLLRLRRLLLRRRLLRRRRRRRLLRRRLLRLRLLRLLRLRLLRLRLRRRRRLRRRRLLRLRLLLRRRRLLLRRRRRLRRLLLLLRRLRLRLRLRRRLLLLLLRRLLRLRRRRLLLLLRLLRLLRLLRRRLRLLLRLLRLLRLRRRLRLRLRRLRLRLRLRRRRLRLLLRLLRRLRLLRRLRLRRLLLLRRLLLLLRLLRLLRRRRLLLRRRRLLLLRLRLRRLLLLRLRRRRLLLRLRRLLLLLLRRLLRLRRRRRLRLLLLRRRRLLLRLRRRRLRRRLRRRRLRRRRRRLLLRLRRRLRRRRLRLRLLLRLRLRLLRRRRRLRLRLLRLRLLRLRLRRLRLRLLRLRRLLRRRLLRLLRRRLLLRRRLRLRLLLLLLLLLLLRRRRLLLRRRLLRRRLRLLRLLRRLLRLRRRRRRRLRRLRRLRRRRRRRRRRLLRRLLLRRRRLLRLRRRRRRLLRRRLLRRLLRRRLRLLRRRRLRRRLRLRLRLRRLLRRLRRRRLRLLLLLLRLRRLLLLLLLLRRLLLLLLRLLLLRLRLLRRRLLLLRLLLRRLRLLLLRLLRRRRLLRLLLLRLLRLLRLRRLRLLLLLLRRRLLLRLRRLRRRRRRLRRRLLRLRLRLLLLLLRRLRLLRLLRLLRLRRLRLRLLLLLRRLRLRLLLRLRRRRLLRRRRLLLLRRRRRLLLRRLLRRRRLLLRLRLRLLLRLRRLRRRRLLLLRLRLLRRRLRRRRLRRLLLRLRRLRLRLLRLLLRLRLRLRRLLLLLLLRRLRRLRRRLLRLRRRLLLRLLLRRRRLLLRRLLRRRLLRLRLLLLRRRLLRRLLRLLLRRRLLLLRLRLLRLLRRLLRLRLRRRRLLRLLRRRLRRRLLLRLLRLLRRLRRRRLRLLLRRLRRRLLLRRLLLRLLLRLRRRRLLLLRRRLLRRLLLRLRRRLRRRLRLRRLRRRRLLLRRLLRRRRRLRLLLRRRRRLRRRRLLRRLLLLRLRLRRLLLLLRLLRLLRRLRRLRRLLRRLLRLLLRRLLLRLLLRRRRRLLLLRLLRRLLLLRRLLRLLLLLRLLRRLRLRLRRRLRLRLRLLRRLLRRRRLRRLRRLRLRLLLLRLLLRLRRLLLLRLRRLRLRRRLRRLRLRLRRLRRLLLLRRLLRRLLRLRRRLRRLLLRLLLRLRRLRRRRLRLRRLLRRRRLRLLLRRLRLLRLRRLLRRLLLLRRLLLRLLRLRLLRRLLRRRRLLLRRRRLRLLRLLLLLLLLLRRLLLLLRRRLLLRLRRRRRRLRRLRRLLRRRRRLRLLLRLLRRRLRRLRLRRRLRRRRLRRLRRRLRLLLRRRRRRRLLRRRRLRLLRRLRRRLRLLLLRLLRLRLRRLRLLRLRLRRRLRRRLLRLLRLLRRRLRRLLLRLLRRLLLLLLRRRLRLRLLRLLLLRRLRLLLLLLLRLLRLLRRLLRLRRRLRRRRRLLRRRRLLRLRLLLRRRLLRRRLLLLLRRRRRRRLLRRLRLRLRLRRRRRRLRLLRLRRLRRLLRRLLLRLRLLRLLRLRRLLRLLRLRLLLLRLLLRRLRLRRRRRRLLLLRLRLLLLRLRLLLRLLRRLRRLLLRLRRLRRLLRRRRRLLLLRLRLRRLRLRLLLLLLRRRLRLRRRLLRLRRRRLLRRRRLRLLRRLRLRRRRRRRRRLLLLRRRLLLLLLLLRLLRRLRLLRLLLRRLRRRRLRRLRLRRRRRLLLRLLLLLRLRRRLLLLRLRRRLRRLRLRRLRRRRLRRRLLRRLLRRLRRLLRRLRLRLRLLLRRLLLRLRLRLLLRLLLRLRLRLRLRRRLLLRLRRRRLLLLRRLRRRRLRLRLLLLLLLRLLLRRRLRRLRLLRRLLLLRLLRLRLLLRRRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLRLLRLLLRRRRLLRLLLRLLRRLRLRRLLLLLLLLRRLRLRRRRLRRLRLRLLRRLRLLRRLLLLRRRRLRLLRRLRLRRRRRRRLLLRLLRRLRRRRRRLLLLLRLRLLLRRRLRRLLRLLRLLLRRRLRRLLLRLLLLRLRRLLLRLLRRLRLLLLLLLRLRLRLRRRRLLRRLLLLRLLRRRRLLLLRLRRLRRRRLRLLRRRLLLRRRLLRLLLRRRLLLRLLRRRRRLRRLLLRRLLRRLRRLLRLRRRLRRLRLRRLRRLLRRRRLLLLRLLRLRLRLLRLLRLRLRLRLRRRLRRLLRRRRLRRRLRLRRLRRRRLRRRRLLLLRLLLRLLRLLLRRRLRRRRLLLRLLRRLLLLRLRLRRRRLLLLRLLRLLLRLLLLLLRRLRLRRRRLLRLLLLRLLLRLRLLLLRLRRRRLLRRRLRLLLLRRLRLLLLLLRLLRLLRRRRLLRLRRRLLRRLLLRRRLLRRRLRRLLRRLRRLLRRLLRRRLLLRRRLLRRRRLLRRRRRLLRLRRLRRLLLLLRLRRLRLLRRLLLLLRLRRLRLLRRLRRLRLLLLLLRRRRLRRRRRRRRLLLRLLLRLLLLLRRLRLRRLLLLRLRRRRLLRRRRLRLLLLLRRLLLLLLLLLLLRRRLLLLLRLLRLLLRLLRRLLRRRRRLLRLRRLRRLLRRLRRLLRRLRRLLLRLRLRLLLRLLRRLRLLRLRLLLLLLRLRRLRRLLLLRRLRLRLLRLRRRLRLLLLRRRLLLLLLLLLRLRLLLLLLRRRRLRLRLLRLLRLRLRRRLLRRLLLLLLRRRLRRLRLLLLRRLRRRLLLRLRLLRRLRLRLRLRRRLRLLLLLRRRLLLRRLRRLRLRRLLLLRRRRRLLLRLLRLLLRLLLLRRRLLRLLRRRRLLRLLLLLRLLRLRRLLLLRRRRLRLLRLLLLLRLRRRRLRLRLLLLLLLRRLLRRRLLLRRRLLRLLLLLLRLRRRRRLRLLLLLRRRLRLLRLRRLRRRLLLRRRLRLLLLRLRLRRLRRRRRLRRRRRRRRRRRLRRRRRLRRRLLLRRRRLLRLRLLRRRRRRRRRRRRRLRLLRRLLLRLLRLRLLRLLLRRLRRRLRRRLRLLRRLLRLLRLRRRRRRLLLRRRRLLLRLLRRRLRRRLRRLRLLRRRRLRRRLLRLLLLRRRRRLRLLLLRLLRRLRLLLRRLLRRLRRLLLRRLRLLLRLRRLRLRLRLRLLRLLLLRLLRLLRLLLRLLRRRLRRRRRLLRLRRLRRRLRRRRLRLRLLLRRLRRLLLLRRRLLLRLLRRRLLLLLLRLRLLRLRRRRRLLLRRLLRRLRRRRRRRRLLLLLRLRRLRRLRRRRRLLLLRRLRRRLLLLLRLRLRRRLRRLRLRRRLRRLLRRLRRLRRRLLLRLRRLRRLRRLRRRLRRRLRLRLLLLRRLLLLRLRLRLRRRLRLLLLLLLRRLLRRRRRLRLRRRRRLLRLRLRRRLLLRLRRRLLLLLRRRLLRLLRLRLRRLLRLRRLRRLRRLLRLRRRRRLRRRLRLLLRRRLRLRLRRLLLLLLLLRRLLLRLRLLRRLLLLRLRLRLRLRLLLLLRLRRLRLLRRLLRLRLRLLLRRRRLRRLLRRLLRRRLLRLLRLLRLRRLLLLLRLLLRLLRRRLRRRRLRLRLRRLRRRLLLRLLRRRLLLLRRLRLLLLLRLRLRRLRRLRRRLLLLRLRLLRRLLRRRRRRLLRLLLLLRLLRLLRRLRLRLRLRLLLRRLRLRLRLLLRLLRLRLRRRRLLRRRRRLRRLLRRLRLRRLLRLLLLLLLRLRRLRRLLLRRRRRRLRLRRLLRLLLRLLRLLRRLLRLRLRRRLRLRRRLRRRLRRRLRLRLRLRLLLRRLRLLRRLRRLLLRRLLLRLLRRLRRRLLRLRRRLRRRRLRRRRRLLLLRLLRRRLLLRLLRLRLLLRLRLLRLRRRLLLLRRLLRRRLRRLLRRLLRRRRRLRRRRLLRLLRLLRRRLLRRLLLLRLLLRRLRRRRLRRRRRLRRRRLRLRLLLRRLLLRLRRRLLLRRRLRRRRRLLRLRRLLRLLLRRLRRLLLLLLRRLRLLLRRRRLLRLLRRRLLLRLLLLRLRRLRRRRLRRRRLLLLLLLRLRLRLLLRLRLRLLRLRLRLLLLRRLRLRRRRLLRRRLLRRLRLLRLLRLLLRRLRLRRLLRLRRLLLRLLLRRRLRLRRLRLLRLRRLRRLRRLRLLRRRRRLRLRRLRLLRRRLLRLLRRLLRLLRLRLRLRRLLRRRLLLLLRRLRLLLRLRRRLLRRRLLLLRRLLRLRRRRRLRLRLRLRLLRRRRRLRLRLRRRRRRRRRLLRLLRLRRLLLRLRLRLLLLLLRRLLRRRLLLRRRLLLLRLLLRRLLLRRLLRLLRRRRRRRRRLRLLRRLLLLLLRRRRLRRRLRRRRLRRRRLRLRLLLLRLLLRRLLRRRLLRRLLRLRRLRLRRLLRLLLRRLLLLLRRLRRRRLRRLLLLRLRLRLRRRLRRLRRLRLRLLLRLLLLRLLRLLLLRRLLRLLLRLRLRLRLLLRLRLRLRRRRLLLRLRLRLLLLRRRRRRRRRRRRLRRLRLRRRRLLLRLRLRRRRRRLLLLRLRLRRLRRRLLRRRLRRRLRRRRRRRRRRLRLLRLLRLLLRRRRLRLLRLRRLLRRRLRLRRRLRRLLLRLLRLRLRLLLRLRRLRLRLLRRLLLLRRLRRRLLRLLLRLLRLLLLRRLRLRRRLLLRRLLLLRLLLRLLLRRRLRRRRLRRLLLLLRLRRRLLRRLRLRLRLLRRLRRLRRLRRLLLRRRLLRLRLLLRRLRRLLRLRLLRLLLRRRLLRLRRRLLLRRLLLRRLLRLLRRLRLRRLLRLRRRRRLLRLLRLRLRLRLRLLLLLRRRRLRRLRRRRLRRRRLRRRRLRLLRRRLLRRLRRLLLLRRLRLLLRRRLRLRRRLLLRLLLRRLLLRLLLRRRLLRLLLLRLLRRLLLLRLRRRLRLLRLRLRRRRRLRLRLLRLLLLRRRLLRLRRRRRLRLRLRLLRRRRRRRRRLLLLLLRLRLRLRRLRLLRRLLRLRRLRRRLRLRRLRLLRRLRRLRRLLRRRLLRRRLLRLRRLLLRLLRRRRLRRLLRRRRRLRLRLRLRRRRRRLLLLLRRRRLRRRLRLLRRLLLRLRLRLRRLRRRRLRRLRRRLRLLLRLLLRLLRLLLRLLLLLLLRRLLRRRRLRLLRLRLRLRLLRRLRLRLRRRRLRLLLLLRRLRLRLRRRLLLRLLRRLRLLLLLLRRRLRLLLRRRRRRLLRRRRLRLRLLRLRLRLLRLLRLLLRRLRLLLLRLRRLRRRLLRRRLLRLRLRLLRRRLLRLLRRRRRLLRLRLRLLRRRRRLRLLLLRLLRLRRRLLLRRLRRLLLRRRLRLLLLLRLRRRLRRRRRLLRRLRRLLRLRLRLLRLRRRLLLLLLLLRRLRLRRLLLRLRRLLRLRRRLLLLLRLRLRRRLLLLLRRRRRRRLLLRLLLRRLLRRLLRRRRRRRLLLRRLLLRRLLRRRRLRLLRLRRLRLLLRLLRLLLRLRLLRRLRRRLLRRLRRLRLRRRRRRRRLRLLLRLRRRRLLLRRRLLRLRLRRLLRRRRLLRLLLLRRRRLLRRLRRRRRRRRLLLRLLLRRRRRRLRRLRRLLLRLLRRLRLLRLRLRLLRRRRRRLRRLLLRLRLLRRRRRRRRLRLLRLLRRLLRLLRLRRLRRRRLLRLRLRRRLRRLLRRLLRRLLRRLRLLRLRRLRLLRLRLLLLRRLRRLRRRRLRLLLLLRRRRRLLLLLLRLLRRLRLLRLLLRRRLRRLLLLRLRRLRLLLLRLRRRRRLLRLLLLLRRLLLLLRLRLRRLLLRLLLRLRRLLLRLLRLLLRLLLLRRRRRLRLRRLLLLLLLRLRLRRLRLRRRLLLRLRRLRRLRRRLLRLLLLLLLRLLLRRRRRLLLLLLRRLLLLLRRLLLLRLRRRLRLRLRRRLRLRRLRLRLLLRRRRLLLLRRLRRLRRLRLRLRRRLLLLRRLRLRRRRLRLRRLRRRLLLRLRLRLRRRLLLLRRRLRRLRLRRRRRRLRLRRRRRLLLLRLLLRRRLLRRRLRLLRRRLRLRRRLRRLRLRRRLLRRLRRLLLLLLLLLRLLLLLLRRRRLLLLRLLLLLRLRLLRRRRRRLLRLLRLRRRLRLLLLLLLLLLLRRLRLRRLRLLRLRRRRLRLLLRRRLLLRLRRRLLLRLRRLRLLLRLLLLRRRRRRLRLRLLLRLLLRLRLRRLLRRRLLRLRRLLRRLLLRRLRLRRRRLRRRRLLRLRLRRLRRRRLLLRRLLLRRLRLLLLLRLRLLRLRRRLLRRLLLLLLRRLRRLRLRLRRRLLRLLRRRRLLLLRRLLLRRLRLRRLLLLRRLRRRRLLLLRLLRLLLRRRLLRRLRRLRRRLLRLLLLLRRLLLRRLRLRLLLLRRRRRRLRRLRLLLRLRLLLLRRRRRRLRLRLLRRLLLRRRLRRRLRRLRLLLRLLRLRLLRLRRRRLLLLLLLLRLRLLLLLLRRLRRLRLLRLRRLLLLRLLLLLRLLRLLRLRRRLLLLLRLRRLLRLRLRLRRLRRRLLRLRLLLRRRLRLRLRRRLRLRLRLRLLLRRLRRRRRRRRRRRRLRLLRRRLRLRLRRLLLLLLLRRRLLLRRRRLLLRRLLLLRRLLRLRRLRRRRRLRLRRRLRRRLLLRLLLRLLRRLLRRLLRRLRRLLLLLLRLRRRRRRLLLLRLLRLRRLRLLLRRRRRRLRLLLLRLLLRLLLLRLRLLLRRRRRRLLLRLLRLLLRRLRRRLRRRLRLLLLRRRRRRLRRLLRRLLLLLLLLLRLRLRRLRRRRRLLRLLRLLLRLRLRRLLRRRRRRLRRLLLLLRLRLLRRLLLLRRRRLLLRLRRLRRLLRLLRLLRLLLRRLRLLLLLRRLRLRLRRRLLLRRRLRRLRLLLRLRRLRRLRRLLRRRLLRLLRLRRRRLLRLLRLLLRRRRRRLLRRRLRRRRRLRLRLRRRRLLRLRRRRLLRLLLLLRRRRRRRLRRRRLRLLRLLLLRLRRLLRLLLLRRRLLRRRLRRRRLLLLLLRRLLLLLRLRRLLLRLLLLRRLLRLLRRRLRLRLRRLRLRRRRLRLRLLLLRRLRRRRRRRRRRLLLLRLRLRLRLRLRLRLRLLRLRRRLLRRRRRLRRRRLRRRRRLRLRRLRRLRRLLLLRLLLRRLRLRLLLRRRLRRRRRRRLRLRRLRLRLRLRLLRRLLLRRLRRLLLLLLLRLRRLLRRLRRRRLRLLLRRLRRRLRRRRLLRLLRLRLLRRLLRLLLRRLLLRRLRLLRRLRRLRRLLRLLLRLRRRRRRRRRRLRRLLRLRRRRRLRLRRLLRLRLLLRLRLRLLLLRLLLLRLRLRLRLRRLLRLLRLRLLRRLRLRLRLLLLRRLRLRLRRRLLLRRRLRRRLRLLLRRRLRRLLLLRRRLRLLRLLLLRRRRLLLLRLRLRLLLRRLLLRRRLLLRLLLRLRRLLRLRRLLLLRRLLRRLRLLLRLLRLRRLRLRLRLLRLRLRRLLRLRLLRLLLRLRLRRLRRRLLRLRRRRLRRLRRLLLLLLRRLLRLRLLRRLRLRRRLRRLRRRLRRRRLLLLRLRLRRRRLRRRRLRLLLLLLLRRLLLRLRLLRLLRRLRRLLLRLLRRRLLLLRLLLRLLRLLRLRLRRLLLLLRLLRLLRRRLRLRLRLRRRLLLLRRLLRLRRRLRLLLRRLLLLLRLLLRRLRLRRLRLRLLRRLLLRLLLLLLRLRLLRRRLRLRLLRLLLRRLRLRLLRLRLRRRRRRLLLLRRRRRLRRRRLRRRRLRRRLLLLRLLRRRRLLRLLRLRLRRRRLRRLLRLRRLRLRRRLLLLRRLRRLRRLLLLLRLLRRRLLLRRRRRLLLRRRLLRLLRRLRRRRRLRLRLLLLLLRLLLRRLRRLLLRRLLRLLRRLRRRLLLRLLLLRRLLLLRLRLLRLLLRRLLLLLRLRRLLRRLRRRLLLLRLRLRLRLRRRLLRLLLRRLRLLRRRRRLRRLRRRLLRRRLRRRRRRRRRLLLRRRRLLLRLLLLLLLLLRRLRLLLLRLLLRRRRRLRRRRLRLRLRLLRRLLRLLLLLLRLLRRLRLLLRLLRLRLLRRRLRRRRRRLLLRLRLLRLLLRLLRLLLRRRRLRRRRRRLRLLLRRRRLLRLLRRLRRRLLLRLLRLLRLLRRLLLLLRRRLLRRRRLRLLLRLLRRLRLRRLRLRRLLRLRLRLLRLRLRRRLRLRRRLLRRLRRLLRLLRLRLLRRLRLLRLRRLLLRRRRRLRLRLRRLRLLRLLRRRLLLLLLLRLLRLRRRLRLRLLRRRRLLLRRRRRLLLLLLLRLRLRLLLRRLLLLRLLLRLLLRLRRLLRLLRLRLRLLLRLRRRRRRRRRRRRLRRLRRRRRRLRLLLRLLRLRLLLRLRLLLRLRRLRLRRLRLRLLLLLRRLRLRLLRLLRLLRLLRRRRRLLLRLLLRRRRLLRLRRRLRLLRRRLLRRLLRRLRRLLLRLRRLLRRRRRLLLLRLRLRRRLRRRRRLRLLLRLLLRLLRLRLRLRLLRLRLLLLRLRLLLLRRLRLLLLLRRLRLRLRRRRRRLRRRLRLLRRRRLLRRRRRLRLRRLRRLRLLLRRLRLRLRLLRLLRRRLLRRLRLLRLLRLRLRRLLLLRRRRRLLLLRRLLRLRLRRLRLLLLRRRLRLRRRLLLLLLRLRRRLRLLLRLLLLLRLRLLLLLRRRRLRLRLLRLLLRRRRLLRRLRLRRLRRLLRRRRLLRLLLRLRRRRRLRLRRRRRRRRLLRLLRLLLLLRRLRRLLRRRRRLLRLLLRLLRRLRLLRRLRLLLLRRLLRLRLLRRRLLLRRLLLLLRRLLRRLLLLLRLRRLLLLLLRLLLRLRLRLRLLRRLRRLRLLRRRRRRRLLRRLRLRRLRRRLLRRLRRLLRLRRLRRRRLLLLRRRRRRRLLRLRRRRLRRLRRLRLLRRRLLRRRRRRRRLLRRLLRRLLRLRRRLRLLLLLRLLLLLLLRRLRLLLRRRLLRLLRLRRLRRLRRLRLLRLRLRLRRLLLRRRLRRLRRLLRLLLLRLLRRRRRRLLRLRRRRRRLLLLRRLLRLRLRRRLLLLLLLLLRRRRLRRRRLLRRLRLLRRLRRRLRLRRLRLLLLRRRRLLLLRLLRRRRRRRRRRLLRLLLRRLRLLLRLLLRRRRLRLRRRRLRRLLRLRRRRRLRRLLLLRLLRRLLRRLLLLLRRLRLRLLRRLRRLLRLRLRLLLLRLRRRLLRLLRLRLRRLRRRLRRLLLLRLRLLRRLRLRRRLLLRRLLRRLRLRLRLRLRLLRRLLLRLRLLLLLRLLLLLRLLRLRLRRRRLLLLRLLLLRLLRRRLLRLRRLLLRRLLRRRRLRLRRLRRRRRRRRRRLLLRRLRLLRRLRLRLRLLRLRLLLRLRLLLLLRLRLLRRLLRRRRLLRRLRRRRRLRRRRRRRLLLLLRLRLRLLRRLRRLLLRRLLLRLLLRLRRRLLRRRLRRRRRRRLLLLRLLRLLRLLRLRLLLRLLRRRRLLLRRLLLLLRLLLRLRLRRLLRRLRLLRLRRLRLRLLRRLLRLRRLRLLLRLRRLRLLRRLLRLLRLLRLRLRRRLRRRLLLLRLLLLRRLLLLRLRLRLLRRRLRRRLLRRRRLRLLLRRLLRRLLLLRLLRLLLRLLLLRLLLRRLRLLLLLRLRRRLLLRLLLLRLLRRLLLLRRRRLLLRRRRRLRLLRRRRLLLLLLRLRRRRLLRRLRRLLRLRRLRLLLLLLRLLRRLRRRLLLLLLRLLRRLRRRRLRRRRLLLLLLRLRRLRRLRLLRLRRRRRRLRRLLRRRLLLLLLLLRLLLLLLLLLLLRRRRLLLRRLLRRLLLRRRRRLRLLLLLRRLRLLRRLLLLLRLLLLLRRRRRRRLLRRLLRRLLRRRRRLRLRLLRRRRLRLLLRRRLLRRLRRLRRLLRRLRRRRRRLRRRRLRLRRRLRRLLRLLLRRLRLRRLLLRLRLRLLLRRLLLLLLLLRLRRRRLLRLLLRRLRLRRLRLLLLLRLLLRRLRRLLRLRLRLRRLRLRRRLRRRLLRRLLRRLLLRLLLLLLLRRLLRRRLRLRLLRLRLRLLLRLLLRRRLLLLLRLRLLLLRLLLRLLRLRLLRLRRLLLRLRRLLRRLLRLLRRRLRLRLLLRRRLRRRRLRLRLRRRLLLLLRLLLRRRLLLRLRLLLLLLRRRRLLLRLRLLRRLRRLRRLLRRRRRLLRLRLLRLLLRRRRLRRRLLRRRRRLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRRRRLRLRLLLLLRLRRRLLRLRRLLLLLRRRRRRRLLLLRLLLRRLLRLLLRRLRRLRRLLRRRRLLLLRLLRLLRLRLLRLLLLRRRLLRLLLLLLLRRRRRRLLRLRLLLLLRLLRRLRRRRRLLLLRLRLRRLRLRRRRLLRRLLRRLRRLRLLRRRLLRLRLRLLLLRLLLRRRRRRRLLRLRRRRLLRLLLLLLLLLRLLLLRRLLRRRLRRRRLLRLRRRRLRLLLLRRRRRLRLRLLLLRLRLRLLLRLLRLRLRLLLRLRLLLRRRLRLRRRRLRLLLRRLRLRRRLRLLLLLLRRRLLLRLLLRRLLLLRLLLRLRLLRRRLLRRRLRRLRLRLLRRLLLLLRRLRRLRRRLRLRLRLRRRRLRLLRLRRRRLLRLRRRLLLLRLLLLRRLLLLRRRRLLRLLLRRLRLLLLRRLLLLLRLRRLLRLRLLRRRLRRLLRLLLRRLLRLLLRRLLRRRLLLRRLLRRLLLRRLRLLRRLLLRLLRRRRLLLRRRLLLRRLLRRLRRRRRLLLLRRLRLRLLLLLRRLLRRRLLRRLLRRLRLLRLRRRRLRRRRLLRRRRLLLLLLLLLLLRRRLRRRRRRRLRRLLRRLLRLLLLLRRLRLLLLLRRRRLLRRRRRLRRRLRLRLLRRRRLRRLLRRLLRLLRRRLRLRLRLRRLRRLLLLRLLLRRRRRLLRRRLRLLLRRLLLRLLRLRRRRLRLRRLRLRLRLLLRRLLLLLLLLRRLRLLLRLRRRRLLRLRRLRLRLRLRLRRRRRRRLLLRLRRRLLRRLLLLRRLRRLLRLLRRRRLLLLLRRRRRLLLRRRLRRLLRLLRLLRLRLRRRRLLRLRRLRLLLRRRLLLLLLRLRLLRLRRLLRLLLRLLLRLRRLRRLRRLRLRRRRRRLRRRRLRRLRLLRRLLRLRRRRLLLRRLLLLLRLRLLRLLRLRLLLRRLLLLRRLRRRLRLRRLLLRRLRRRRRLRLLLLLRRLRRRRRLLLRLRLLLLLRLLLRRRRRLLLRRLRLRLRLLRRLLRLRLLLLLLLLLLLRRLLLLRLLLLLRLLRLLRRRLLRLLLLLLRLRRRRLRLLRLRLRRLLRLRLRLLLRRLRLLLLLLLLLRRRLLRRLRRLLLLLLLLRRRLLLRRRLLRLLLLRLRLRLRLLRRLLLLRLRRRLLRRLRLRLLLRRRRRRLRRRLLLRRRLRLRLLRLLRLRLLRLRLLLRLRRLRRRRLLRLLLRRLLRRLRRLRRRRLRRLLRRLLLLRRLRRRRLLLLRRLRRLRRRRRLLRLLRLRRLLLRLRRRRLRRLLRRLRLRLRLLLRRRRLRRLRLLLLLRRLLRLLLRLRRRRLLLLLRRLLLLLRRRRRLLRLRLLRLRRRRRRRRRRLLLLRLRLLLLRRLRLLLRLLRLRRLRLLRLLLLLRLLLRLLLRLRLRRLRRLRRRRRRRRRLLLLLLLRRRRRLLRRRLLLLLLLLLLLLLRRLLLRLLLRLRLRLLLRRLRLRLLRRLRRLRLLLLLRLRRRRLLRLLRLLRLRLLLRRLRLLRRRRLLRLLLRLLLLRRLLRRLRRRRRRRLRRRRLRRLLLRRRLRLLLRRRRRLLRLRRRRLLRRLRLRRLLLRLRLLRRLLRLLRRRRRRRLRLLRLLRRRRRRLRLLRLLRLRLLLRLLLLRLLRLLLRRLRLLLLRRRRRLLRLLLLLLLLLRLLRLRRLLLRRRRLRLRRRLRRLLLLLRLRLRRRRRLRRLRRLLRRLLRLRLLRLLLLLRLRRRRRLRRLRLLRRLLRRLLLLLRLLLRLRRLRRLRRLRRRRRRRLRLLLRLRRRLLLLLRRLRLLRLLLLRRRRLRRLLRLRRLRLLLLLRLLLRRRLLLLLLLRRRLRLRRRLLLRRRRLRLRRLRLLRRLLRRLLRLLLRRLRLLRRLLRLRRLRLLRRRRLRLRLRRRLRRRLRLRRRRLLRRLLLLLRLRRLLRRRLLRLLRLLLRRRLLRLRLRLLRRLRRLLLLRRRRRLRLRRLRRRLRRLRLRLLLLRLRLLRRLLRRRLLLRRRRLRLLLRRRLLRLLLLLLLRLLRRLRLRRRRLLLRRLRRRLLRRRRLRRRRLRRRRLLLLLRRLLRRRLRRLRLLLRRLLLRRRRLLRRLRLLLRRRLRLLRRRRRRRLRRLRLLRLLLLLLRRRLLLRLLRRRRRRRLRRLLRRLRLRRLRLRRLRLRRRRRRRRRLLRLLRLLRRLRRLRLLRRRRRLLLLRLLLLRLRRLLLRRRRRLLRRRRRLRLRLRLLRRLRLRRRRLLRLLRRRRRLLLRRRRRRRRLLLRLRLLLRLLRLLLRLRLRRLLLLLRLRLRLRLLLLLLLRRRRRRRRRLRRLRLRLRRRRLLLRRRRLLRRRLLLRRRRLLRLLLRRLLLRRRRRLLRLLLLLLRRRRRRRRRRRRLLLLRLLLRRLLLLLRLLLLLLRLRRLRRRRLRRLLLLRRLRLLRLLRLRRLRLLLRRLRRRRLRLLRLLRLRRLRRLRLRLRRLLLRRRLRLRRRRLRLLLLRRLRRRLLRRLLRLLLRRRRRLRLRLLRRLLLRLLLRLLRRRRRLRRRRRRRLLRLLLLLLLLRLRRRRLLLLLRRRRRRLLLLRRLRRLLRRRLLRLLRRRLLLLLLLRLLLRLRLRLLRLRRLRRLRRLLRLLRLRRRRLRRLLLLRLRLRLLLRRRRLLRLRLRLRLRLLLRRLRRRRLLRRRRLRLRLLRRLRRLLRRLRRRLLLRRLLLLLRLLLLLRLLLRRLRRRLLRLLLLRRRLRRRRRLRLRLRRRRLLRLRLRRRLRLLLLLRRLRRLLLLRRLLRRRRLLLLLRRLRLRRRRLRLLLRRRLLLLRRRLLRRRLLRLLRLLLLRRRLRRLLLLLLLRRLRRRRLRLRLLLRRRLRLRRLLLLLLRLLRRLRLRRLLLLLLRLLLLRLRRLLRLRRLRLLRLRLLLLLRRLLRLRRLRRRRRRRLRRRRLLRRLRRLRLLLLLRRRRRRLRLLLRRLRLRLLLLLLLRLRLLRRRRRRRLRLRRLRLLRRRLLLRLLRRLLLLLLRRRLRRLRLRRLLRRLRRLLRRLRRLRLLLLLRRLLLRRLRRLRRLRLRLLLRRRLLRRLLLLLRRLRRLLLRRLRRRLRRLRRRLLLRRLLLLLLRRRRRRLLLRLLRRLRRLLRRLRRLRLRLLRLRRLRRLRRLLRRRRLLRRLLRRRRLRLRLRRRRRLLRRLRLRRRRLRRLRLRLRLRLRRRLLLLRRRRRRLLRLLLLLRRLLLRRRLLLRRLLRRLLLRLLRRLRRRLRRLRLRRLRLLLLRLLRLRLLLRRLRRLRRRLLRRRRRRRLLRRRRLRRLLRRRLRLRRRLLLRRRLRRLRLLLRLLLLRRRRLLLLLRLRRLRRRRLLLLLRRRRLRLLRRRLRRLLRRRRRRRRLLRLLLRLRRLRRRLRLLRLRRRRLRLLRRRLRRRLRLLRRRLLRRRLRLRRLLRLLLRRRRRLRRRLLRRRRLRRLRLLLLRRRLRLRLRLRRLRRLLLLRLLRLLLLRRRLRRRLLLRRLLRLRLLLLRRLLRRLRRRLRLRRRLLLRLRRRLLLRLLLLLLLLLRLRLLRRLRLLLLRRRLLRLRLLLLRRRLLLLLLRLRRRLLLLLRLLLRLLLRRLLLRRRRRRRLLLLLLRLLRLRLRRLRRRRRRRLLRLRRLLLLLLRLRLLLRRRLLRRLLLLRLLLRLRLLRRLRLRLRRRRLRRLRLLLRLRLLLLLRLRRRLLRRLLLLLLLLLRLRLLRRRLLLLRRRRLRRLLRLLLLRRRRRLLLRRLLLRRRRRLRLLLRLRRRRRRLLLRLLRLRRRRLLRLLLLLRLLLRRLLRRRLRRRRLRRRRRLRLRLLRLRLRRRRRLLRRLRRRLRRLLRRRRLRLLLLLRLRRLLRLRRRRLRLLRRRLRLRLRLRLLRLLRLLLRRLRRRRRLRRRRRLLLRLLRRRLRLLRRRRRLLRLRRLRRRLRLRLRRLLRLRLLLLRLLLRRRLRLLLRLRRRLRLLLRRLRRRRLRRRLLRLLLLLRLLRLLRRRRRRRLRRRLRLRLRRRRLRLRRLRRRLLRLLLLLRLLLRLRRRRRRLRLRLRRLLRRLRRRLLRLRLLLRLLRRRLLLLRLLRLLLRLRLRRLLLLRRRRRRLLLRRRRLRLRRLLRLRLLRLLLLRRLRRLRLLRRRLRRRLLRRRRRLLRLRLRLLRLLLLLLLRRRLRLLLRRRLLLLRRLLRLLRLRLRRLRRLRLLLRLRLLLLRLLLRRLLRLLRLRRLRLRRLRRLRRLLRRRLRRRLLLRLLLLLLRRLRRRLRLLLLRRRRLRRLRRRRLRRRLRRRLRRRRLRLLRRLLRLRRRLLRLRRLRLRLLLRRLRLLLLLRLRRLRRLRLLRLRLLRLLRLLLRRLRLRRRLRRLLRRLLRRRLLRLRRLLLRRLRRLRRRLRRRLRRLRLRRRRLLLLLLRRRRLLRLLRLLLRLLLRLLLRLRRRLLRRRRLLLRLLRRLRLLRLRLRLRRRLLLRLLLLLRRLRRLRRRLLRRLRRLLLLLRLRRLRLLLRRRLRRRLRLRLLRRRRRLRRLRRRLRLLLRLLLLLRLRRRRLRLLRRLRRRLLRLRRRRLLRLRLRLRLRLLLLRRLLLLRLLRLLLRLLRLLRRLRRRLLRRLRLRRLLRRLLLLLLRLRLLRRRRLLRRLRLLRLLLLRRLLLRLRLLLRRRRRLLRRLRLRRLRRRLLRRLLLRRRRLRLRLLRLRRRRRLRLRLLRLLLRLLLRLRLLRRRRLLLRLRRRRLRLLRRLLLLLLRRRLRRRLRLRLRLRLRLLRRLRRRRRLLLRLRLRRRLLRLRLRRRLLLRLRLLRRLLLLRRLRRLLRRLRLRLLRRLLLLRLRLLRRRRRLRLRRLLLRRRLLRLRRLLLLLLRRRRLRRRRRRLRRLLRLRLRRRLLLLLLRRLRRLRLLLLLLRRRLLLLLLRLLRLLLRLRLRRLRRLRLLLRRRRLLLRRLRLLLLLRRLLLRLLLLLRLRLLRLRLLRLLRLLRRRLRRRLRLLRLLLLRLLRLLLRRRLRRRLRLLRLLRRRRLLLRRLLLRLRLLLRRRRLLRRRRLRLLLLRRRLRLRRLLRRLLRLLLRLRLRLLRRLLLLLRLLRLRRRLLRLRLLLLLLRLLRLRLRLRRLLLLRLRLLLLRLLLLLRLLLLLLRLRRLRLLLRLRLLLRRRLRLLLRLLLRRRLLRRLLRLLRLRRLLLLLRLLLRRLRLRLRLRLRRLLRRLRRRLLLRLRRRLRRLLLRLLLRLLLRLRLLLRRLLLLRLRLRRLRRLRLLRLLRRRLRRRLRRRLLRLRRLRLLLRLLRRLLRLLRLLLLLLLLRRRLLRRRRLRRLLRLLLLRRLRRRRLLRLLLLRRRRRRRRRRLLLRLRLLRLLRRLLLRRLLRLRLRLRLRRRLRLLLRLLLRLRRRRRRLRRLLRRRLRLLRLLRRLLLRLRRLRLRLLLLLRRRRLRLRRRRRLLRRLLLLLRLRRRRLRLRRRLRLLRRRLRLRRLLLLRRRLRRLRLRRRRRRLRRRLLLLLRLLLRRLLRRRLLLRLLRLLLLRRRLLLRRLLRRRRRRRRRRLRRLRRLRLLLLLLLLRLLLLRLRLRLLRRLRLLRLLLLLRLRLLRRRRRRLRRLRRRRLRLLRLRRLRRLLLRRRRRLLLRRRRLLLRLRLLRRRRLRLRRRLRRLRLRRLRRLRRRLLLRLLLRRRRLLRLLLLLRRLLRRRLRRRRRLRRRLLLLRRLLLRLRRLLRRRRRRRRRRLRLLLRRLLLRLLRLRRRRLLLRLRRLLRLRLLLLLLLRRLLRRLRLLLLLLLLRRLRLLRRRLLRLLRLRRLLLLRLRLLLLRLLRRLRLRRLRLLLRRRLLLRLLRLRLRRRRLRLRLLLRRRLLRLRRRRLLRRLRRLLRLLLLLRLLLRRRRRRLRLLRRLRLRRRLLRRLLLLLRLLLLRLLLRLLLLRRRLLRLLRLRRRLLRRLRRRRLLRRLLRLRLLRRRLRLLLRRRRLRRRLRRRLLRLRRLLLRRRLRLLLLRRLLLRLLRRLLLLLLRRLLLRLLRRRRLRRRRRRLLRLRLRRLRRRLLLLLRLLLLRLRRLRRRLLLLLRRLRRRRRLLRRLRRRLLRRRLRRLRLRRLLRLLRRRLLLRRLRRLLRRLRLLLRLLRRRLLLLRLLRLLLRLRRRRRRLRLLLRLLLLRLLRLRRLLRRLRRLLRRRLLRRRLRRLLLRLLRLRLLRRRLLRRLRLLRRRLLLLLRLLLRLRRRRLLLRLRRLRRLRRLRLRLLRLLRLRRLLLLLLRRRRRRLLRLRRRRRRLLRLRRLRRLLRLRRLLRRRLLRRLLLLLRLLLLLRRLRRRLRRLRLRRRLLLRRRRRLLLRRRLLLLRRLRLRRRRRRLLLRRLRRLLLRRLLLRRLLLLLLLLRRLLRLRRLRLLRRRRLRRRLRLRLLRLLRLRLLLRRRLLRLRLRRLRRLRRLLRLRLLLRLRLRLRLLLRLLLRRLLRLRRLLRRRRRRLRLRLLRRRLRLLRLLRLLRLRRRLRRLLRLRRRLLLRLLRRLRRRRRRRRLRRLLRRLRLLRRRLRLRLRLLLRLRRRRRRLRLLLRLLLRLLRLLLRLLRRRRLRLLLLRLLLRLLRRLRLRRLLLRLRRRLLRLRRRLLRRRLRLRLLLRLRRRLLRRRLRLLLRRRLRLLRRLLLRLLLLLRLLLRLLLRLLLLRLRRRRRRRLRRLRLLRRRLRLRLRRRRRLLLLLLLRRRRRRRRLLRLRLLRLRRRRRRLLLLLLRRLRRRLRRRLRLRLRLRLLLLLRRLLLRLRRLRRRRLLLRRRLLRLLRLLRLLLRLLRRRLLLLLLRRLLLLRRRRRRLLRRLRLLRRRLRRLLLRLRLRRRLRLLRRRRRLRRRRRRLRLRRRLLRRLRRLRRRLRLLLRRLRLRLRRLRRLLRRLRRRRRLLRRRLLLLRRLLRLLRLLLLRRRRRRLLRRLLLLRLRRRLRRLRLLLLLRLRRLLRRLRRLLRRRLRRRRRRLLRRRRLRRRLLLLRRRRRRRRRRRLRLRRLRLLLRRRLRLLLRLRRRLRLLLLRRLLRRLRRRLLRLLLLLLLRLLRLLLLLRRRRLLLRLLRRLLRLLRRLRRLLLRLRRRLLLRLRLLLLRLLLRRRRRRRLRLLRRRRLLLLRRRRLRRLLLLRLRLLLLLLLLRRLRLRRRLRRLRLLLRLLLLLLRLLRLLRRLLLLRRLLRRRLRRLLLRRLRRRRRLLRRRLRRLLLLLRRLLLRLLLRRLRLLLRRLRRLRLRLLLLLLLRLRRRRLRLRRLLLLLRLLLLRRLLRLLRLRLLLRLRLRLLLRRRLRLRRRRRRRRRRRLLRLRLRLRLRLRRRLLRLRRRRLLLLLLLLLRRLLLRLLLRLRRRRLRLRRLLLLLLLRLLRLLLRRLLLLRLRLRRLRLRRRRRLRLRLLRRLRRLLLLLRRRRRRRLLLRRLLRLLLLLLRRRRRLLLRLRRRLRRLRLLLLLRRLRRLLLLRLRRRLLLLLLLLLRRRLRLRRLRRLRRLRRLRRLRRLLLLRLRRLRRRRLRRRRLRLRLRRRLRRLLRLRLLRRRLRRLLLRLRLLRLRRRLRLLRLLLRLLRLRRLLRLRRRRLLRLRRRRRRLRRLRLRRLRRLLLRLRRRLRRLLRRLLRLLRLRRRRLRRLLRLLRRRLLLRRLRLLLLRRRLLRRRRLRRLLLLLRRLLRRLLRRLLLRRRRLLLLRLRLLLLRRLLLLLLRLRRRRRLRLLLLRRLLRLLRLLLRLRRRRRLRRLLLRLRLRLRRRRRRLRRLLRRLLLRLRLLRLLLRRLLLLRRLRRRRLLLLRLRRRLLRLLLLLRRLRRRLRLLRRRRRLRRRLLLRRRRLLRRLRRRRLLLLRRLLRRLLLLRLRRLLRRRRRLLLRRRRLLLLLLLRLLRLRRRLRLLLLRLRLLRLRLLRLRLRLRLLRRRRLLRRLRRLLLLRLRLLLLLRRRLRLLLLLLRLLRRRLLRRRLLRRRLRLRLRRRLRRRLRRRRRLRLLLRRRLRRRLLRLRLRLLLRRRRLRRRLRRLRRRLLLLLRLLRLLLLRRRLLRRLLRRRLRRRLRRRLRRLRLRRLRLRLLRRRRLRRLRRRRRRRLRRRRRRRLRRRRRLLRLLLRLLRLRRLRLLRRRLRLRRRRRRRLRRLRLRLRRRRRLLLRLLRRRLRLLRLRRRRRRLRRRRLLRLLLRRRRRLRLLLLLLLRLRLLRLLRRLRLLRRLLLLLRLLRLRRRRRLRRRLLLLLRRLLLLLLRRRRLRRLLRRRLRLRRLRLRRLLLLLRLRLLLLLRLLLLRLLRRRRLLRRLLLLLLRLRLRLRRRRRRRRLLLLRRRRLRLLLRRLLRRLRLLLRLLLRLLLLRRRRLRRRLRLLRLRLRRRRLRLRRRRRRRRRRLLRRLRRLLLLRRLLRLRRRLLLLLRLRRRRRLLRLRRRRLLLLLRRLRRLLRLLRRRRLRLRRRRRRLRRRRLRRLLRLLLLRLLLRRRLLRRLRRRLLRRLRLLRRRLLLRLLRRRRLLRRLRRLLLRLRRRRLLLRRRLRLRRRLLRRRLLRRLLRRRLRLRRLLRLRRRLRLRLRLLLLRLRRRLLLLRLLLRLRRRRRRLLLLRLLLRRLLRLRRLLRRLLLRRRLLRRRLLLLLRRRRLRLLRRRRRLRRRLRLLLRLLRRRLLLLLRRRLLRLLRLRRLRRLLLLRRLRLRRLLLRRRRLLRRRRRRRRLLLRRLRRRRRLRRLRLRRRLRLRRRRRRRLRRLRRLLLRRRRRRRLRLRLRRRLRLRRLLRRRRLRLRLLLLRRLRRLLLLRRRRLLRLRLRLLLLRLLLRLRRRRLLRRRLRRRRRRLRRRLLRRLLRRLLRRRLLRLRLRRRRLRRRLLLLRRRLLRLRRRRLRLLLLRLLLLRLRRRLLRRLRLRRRLRLLRLRLRRLRLRLLLLLLRLRLRRRLRRRRLRLLLRRLRRRLLRLLLRLRLRLRLLLLLLRRRLRLRLLLLRRRLLLRRRRRLLRLRLRLLLRRLRRLRRRRLLLRLRLRRLRRLRRRRLLLRRRRRLRRLLLRLLRRRRLRLRLLLRLLLLLLLRLLLRLLLRRLLRRRRLLLRRRRLRRLLLLRLRRRRLRLLRRRLLLRLLRLLRRRLRRRLLRLRLLLLRLLRLRRLLLLRLRRLLLRLRLLRLRLRLLLRLRRRRRLLRLRRRRRLRRRLLLLRLLRRRRRRLRRLLRRLRRLLRRRRLLLRRLRRRLRRLRRLLLRRRRLRRRRRLRLLLRLRLLRRRLLRLRRLLRLRLRRRLLRLLRLLRRRLRRRRRRRRRLLLLRLLRRLRLRLRLRLLLRLRRLLLLRRRLLLRRLRLLLRRRRRRRRRLRRLRRLLRLRLRRRRRLLLLLLLLLLRRLLRLLRRLRLRLRRRLLLLRRRLRRRLRLLLRRLLRLLRRRRLRRRRLLLLRLLRRLLRRRLLRLLRLLRRRLLRRRRLLLRRRLLRLRLRRLRLLLLLRRLLLRRRRLRLRRRRRRLLRLRRLRRRRRLRLRRLLLLRRLRRRLRRRLLRRRLLLLLRRLLLLLLLRRLLRLLLLLLLRLLRLLRLLLRLLLLRRLRLLRRRLRLLRLLLLRRRLRLLRLLRLRLLLLLLLRLRRRLRRLRRLRRRLRLLRLLRRRRLLRLRRRLRLLLLLRLLRRRRRLLLLLLLLRRRRRRLLRRRRRLRLRLLLLRLRRRLLRRLLRRLRRRRLLRRRLRLRLRRLLLLLLRLLLLLRLLRRRRLRRRLRRLRLRRRRRRLRRLLRRLRRRLLLRLLRLLRRLLLLRRRLLRRRLLRLLLRRRRRLLLLLRLLRRRRLLLLRLRRLRLRRLLLLRRLRRRRRRRRRLRRLRLLLRLLLLRLLLLRLLRRLRLLRRRRRLLLLLRRRRLLLLRRLRRRLRLRRLLLLRRLRRRRRRLLLRLLRRLRRLLLLLLLRLRLRRLRRLRLRRLLRRRRRLRLLLRLLRLRRRRLRLRRLLLRRRRRRLRLLRRRRLLLRRRRLLRRRRLLRRRRLLRRLRLRRLLLLLLRLLRLRLLRLLRLLRLRLRRRLRRLRRRRRRLRRRLLRRLLRRRLLLRLRRLLLRLLLLLRLRLLLRLRRLLRLRLRRRLLLRLLRLRRLRRRRLLRRLLLRRLRLRRRRRRRRRRRRRLLLRLLRRRLLLRLRLLLRRRLRRLRLLLLRLRLRLRLLRRLRLRRLRRLLRLLLRLRRLLLRRLRRRLRRLRLRLRLRLLLRLLLLRRLLRRRRRLRLLLRRLLLLLLLLRRRLRLRRLLLRLRRRRRLRRRRLLLLLLLRRRLRRLRLLLRLRLRRRRLRLLRLLRRRLLRRRLLRLRRRLLLRLRLLRRLRLRRLRRLLRLRLLLLRRRLLRLLRRLLLLLRRLLLRLLLLRRRRRLLRRRRLRRLLRRRLLLRRLLLLLRRLLLLRRRLLLRLLRLRLLLLLRLRRLRRLRRRRRRLLLRLRRRRLLLRLLLLLLRRLRLLRLLRLRLLRLRLLLLLLLLLRLLRRLRRLLRLLLLLRLLRRLRLRRRRRRRLRLLRLRLRLRLRRRLLLRRRLRRRLLLLRLRLRRLRRLRRRLRLLRRRLLLLLRRRRRRLRLRRRLLLLRRRRLLRRRRLLRLLLLRLLLRLLRLRRLLLLLLLLLRLLRRLLRRLLRRRLLRLLRLRRLLRLRLLLRRRRRRRLRRRLLLRRRRLRRRRRRRLLLLLLLLLRRRRRRRRLLLLRLRRLLLRRLRLLRRRRLRRLRLRLRRRLLLLRRLRLLRRLRLRRRRRLLLRLRRRRRRLLRLLLLRRRRLRLLRRLLLLRLRLLLLLLRRLRLLRLLLLRLRRLLRRRLRRLLLLRLRRLRRRRLRRRLRLLLLLLRLLLLLLLRRLRLRRLLRRRLLLLRRRRRRLLLLLLRLRRLLRRLRRLLLRRLLRLRRLRLRRRLLRLRLLLRLRRLRLLRLLRLRRRLRRRRLLLRRLLRLRLLRRRLRRRLLLRRRLRLRRRLRLLRRLLRLLRLLRRLRLRLRLRLLRRLLRRLRRRLRRRRLLRLRRRLRRRRRRRRRLLRRLLLLLRRRRLRLRRLLLRRRRLRLRLLRRLRLRRLLLLRRRRRLLRLRRLRRRLRRLLLLRLRRRLLRRRRRLLRLLRRLRLRLRRLRLLRRRLLRRRRLRRRRLLLRRRLRRRLRRLLLLLLLRLLRRRLLLLRRRLLLRRRRLLLLLLLLRLLRRRRRRLRRRRLLLLRRLRLLRLRLRRLLRLRRLLRRLRLLRRLLLLLLRLLRLRRRLRLLRLRRRLRLLRLLLRLRRRLLRLLLLLRRRRRLLLRLRLLRLLLRRLRLRLRLRLLRRRLRRLLLLRLLRRLLRLLRLRRLRLLLRRLLRLRLLLRLRRLRLLLRRLLRRLLRLLRLRRRRRLLLRRLLLRRRRRRRLRLRLLRRLRLRLLLLLLRRRLRRRLLRLRRRRRLRRRLRRLRRLRRLLRRLLLLRLLRLLLLRRLLRLLRLLRLRLLLRLRLLLRRRRRRLRLLRLLLRLRLLLLRLRRLRLLRRLRRLLRRLRLLLLLRRRLRLRLRLRLLRLLLRRRLLRRLLRRRRRRLLRRLLRLLRLRLLRLRRRLLRRLRLLRRLLLRLRLLLRLLLLLLLLRLLLLLLLLRLLLRRLRRLLRRRLRLLLLRLLRRLRRRLRLRLRRRRLLLRLRLLLRRRRRLRRLLRRLRRLRRLLRRRLLLRLLLLRLRRRLRRRRLLLLLRRRRRLLRRLLLLRLRRLRRRRLLLLRRLLRRLLLLRRRRRRLRLRLRRLRRLLRLLRLLRLRRRRLRLRLRLRLRLLRRLRLRLLRRLRRLLRRLRLLLRRRLRRRLRLRLRRLRRRRLRLLRRRLRRLRRRLRLLLRRLLRLRRLRLLRLRLRRLLLLRRLRLLRLRLRRRRLRLLRRRRRRRLLLLRRRRLRLRLRLRRLLLRLRLLRLLLRRLRRRLRLRLRLRLLRLRLLLLRRRLRLLRRRRLRLRLLRRLLLRRLLLRLRLRRRLRLRRLLRLRRLLLLRLLRRLLRRLRRLRLRRRRLRLRRLLRRRRRLRRRLLLRLRLLRLRRRLLRRLLRRLRRRRRLLRRRRRLLRRRRRRLLRLRRRLRRLLLLRRLRLRRLRLRLLLRLRRRRRLRRRLLRRRLLRLLLLRRRLRRRLRRRRLRLLLLLLRRRRRRLRLLRLRLRRLLLLLRRRRLRLLRRLRLLLLRRLLLLLRLLLRRRRLRRRRLRRLRRRLRRLRRRLLLRRRRLRRLLLRRRRRLLLLLRLRLLLLLLRLLLLLLRLLLLLRRRLRRRLLLLLRRRLRLLLLLLRRLLRRLLLRRLRRRRRRLRRLRRLLRLLLLLLLRLLLRRLLLRLLLLLRLLRLLLLRLRRLRLLRRLLRLRRLLLRRRLLRLLRLLRLLLRLRRRLRRLRLLLRRRRRLRLRRLRLRLRLLRRRRRRLRLLLRLLLLLRLRLLRRLRLRRLRRRLLLRLLRLRRLLLRLLLRRRLLRLRLLRLRLRLLRRRRRLRLLLRRRRRRLLLRRRLLRRLRLLRLRRRLLLRRRRRLLLRLRRLRRRLLRRRLRLRRLRLRRLLLLLRLRLLLRRLLLRLRLRRLRRRLRRLLLRLRLRRLLRLLLRRRLLLLLRLRRLLLLLLLRLRRRLRRLRLLLRRLRLLRLRRLRLLLRLRRRLLLRLLRLLRRLRRRLRRLRRRRRRLLRLRLRLRRLRRLLRRLRLLLLLLLRLLLRRRRRRLLRRRLRLRRLRLLRRLRRRLLLLLRRRRRLRRRRLRRRLLRLLRLLLRLLRLLRRLLRLLLLLRRLRLLLRLLLRRRLRRLLRRLRLLRLLLRRLLRLRRRRRRRLRLLLRRRRLLRLLRRLRLRRLLLLLRLRRLLRLLRRRLRRRRLLRLLLLRLRRLLRLRLLLLRRLLLLRLRLRRRLLLRRLRRLRRRRLRRLLRRLRRLRRLLRRLLRRLRRRRLLRRLLRRLRRLRRLRRLLRLRRLLRLRLLRLRLLRLRRLRLLRRRLLLLRRLLRLLRRLLRRLRLLRRRRLLLRLRLRRLLRLRRLRLRLRRLLRRLRRRLRLRRRRLLLRRLRRRLLRLRRLLRLRLRLLRLRRLLRLRLRLRLLLLRLRRLRLLLRRLLRRLLLRRLLRRRLLRRRRLLRRLRLLLRLLRLLLLRRLRRRRRRRLLRLLLRRRRLLLLLLLRLRRRRLRLRRLLLLRLRLRRLLLLRLLLLRLRRLRLLRLRRRLRRRRRLRLRLLRLRRRRRRRLLRRRRRRRRRLLRRLRLRLRRLLLRRRRLRRLRRRRRRLLRRRLLLRRRRRRLRRLRRRRLRLRRLRRLLRLRLRRRRRLLLLRRLLLRRLLRLLLLRRLLLLRRRRRLLLRLLLRLRRRLRLLRRLLLRRRLRLLRLRRRRLLRRRRRLLLRRRRRLRRLLRRRRLLLRRLRLLRRLRRLLLRLRLRRRRLRLRRRRLRLRRLRRRRLLLLRRRLRRLRLRRRRRLRLLLLLLRRRLRLRRRLRLRLRLRLRRLLRLRRRLRLLRRLRLLRRRRRLLRLRLRRRRLRRLLLRRRRLRLLRRRRRRRLLRLLRRRLRRRLRRLRLLRRLLLRRLRLRLRLLRLLRLLRLLRRRLRLLLLLLLLRRRLLRLRRRRRRLLLRLRRRRLRRLRLRLLLRLLLLLRLLRRLLRRRLLLLLRRRRLLRRRRLLLRLRRLLRRRLRLLLRRRLLLRLRRRLLRRRLRLRRLLLLLRRLRRRLRLLLLRLRLLRRRLLLLRRLRRLRLRLLRLRLLRRRRRRRRLLRRRLLLRLRRRLLRRRLRRRLRLRRLRLLLLRLLLRLRLRLLRLRRLLLRLLRLRLRLRLLLLLLRLRRRLRRRLLRRLRLRRRLLRLRRRRLLLRRRLLLRLLLRLLLLLLRRRRLLRLRLRRRRLRLRRRRLRLRLRRRLRRLRLRRRRRLRLRRLLLLLLRLLRLLLLRLLRRRRLRLLRRRLLLLLLRRLLLLLRRLLLRRLLLLRLRLLLRLLLLRLRRLLLRLLLRLRRLRLRLLLRLRLRLRLLLRLRLLRLLRLLLLRLLRLRLLRRRRLLLLRLLLLLLRRLRLRRRLLRRLLLRLLRLRLRRRRLLLRRLRLRRLLRRRRLRLLLRLRRRRRRRLLLRLLRRLLLRLRRLRLLRRRRLRRRRRRRRLLLLRRLRRLRLLLLLRRLLRRLRLRRLRRRLRLRRRLLLRRLLRLLLLLLRRRLRRRRRRLRLRRRLLLLRLRLRRLLRLRLLLRLLLLRRRLLLRRRLRLRLRRRRLRRRRLRRLRLRLLLLLRRLLRLLRLRRRLLRRLRLLLLRLRLLLRLLLRLLLRLLLLRLLLLLRLLRRLRLLRRRLLRLLRRLLRRLLRRRLRRLLLLRRLLRLRRRLLLRRLRLLLRRLLRLRRRLLLLLRLLLLLRRRRLRRRRLLRRLRRLLLRRLLRRLLRLLLLLLLRRLLLRRRRLLRLRRLLLLRRRLRRLLLRLLRRLRRRRRLRLLLLLLRRLLRLRRRRLRRLRRLLRRLRLRLLLRRRRLLLRLLRLRRLRLRLLRLLLLRLRRLRRLLLLRLRLLRRRLRLLLRRRRLRRLLRLRRLRRRLRRRRRRRLRRRRLRRLLLLLLLRRRRLLLRLRLRRLRRLLRRLLLLRLRLLLRRLLRRRRRLRRLLLRRLRLRLLLRLLRLRRRRRLLRRRRLLLRRLRLLRLRLLLRLRRRRLLRLLRRRLLRRLLLRRRRRRRRLLRRRRRLRLRRLRLLRLLLLRLLRRRLRLRRLRRRLRLRLRLLLLLLLLLLRRLRLRRRRRRRLRLRLRLRRLLLRRRLRLRLLLLLLLRLRLRRLLRRLRRLRRLRRLRLLLRLLRRLRRLLRRRLLRRRLRLRLLLLRRLLRLRLRRLRLLLRLLLRLRLRRRLLLLLLRLRRRLRLLLRRLRLLRRRLLLLRRRRRLLLRRLRRLLRLLLLRRRLRLLRRRLRLLLLLLRLRRLRRRRLLRLLLLLLLRLRLRLLRRLRRRLLRRLRLRRRRRRLLRRLRRRLRRRLLRLLLLLLLRLRLLRRRLRLRLRLLLRRLRRLRLRRLLLRLLRLRLRLLRLLLLLLRRRLLRLLRLRLRLLLRLLLRLRLRRRRLLLRRRLLRRRLLLLRLRRRLRRLRRRRRLRRRLLRLLLRRRRRRRLRRLRLLLLRLRRLLRLRRLLRRLLRRRLRRRLLLRLLRLLRRLRLRRRLRLRRRLRRLLLRLLRRRLRLRRRLLRLRLLLLLLLRLRRLLLLLLRRLLLRLRLLLRRLRRLRRLLLRLRLLRLRLLRRRRRLLLRLLRLLRRRRLRRLRRLLRLLRRRLLRRLRRLLRRLLLLRLRLLRRRLRLLLLLLRLLRLLLLRRRLRLLLLLRRLLLLLLRLRRRLLLRLLRRRLLRRRRLLLLRRRRRLRLRRRLRRRRLLLRRLLRLLLRLLRLLRRRLLLLRRRLLRLRRRRRRLRRLLLLLLRLRLRLLLLRRRLRLRRLLRRRLLLLRRRRRLRRLLRLRLRLRLLRLRLRRRRRRLRLLLLRRLLRRRLLLLRLLLLLRRRRLLLRRLLLLRLLRLLRRLRRLLLLRLLRRRLLRLLRRRLRRRLLRRLRRLLRRLRLRLLRLRLRRLRRRLLRRRLLRRLRLRRRRRRLLLRLRRLLLLRLLRLRRLLRRLLRRRLRRRLRLRLRRLLRRLRLLLLRRRRRRRRRRRRRRRRLRLRRLRLRRLLLRLRRLRRLRRLRRRLLRRRRLRLLLLRRLLLRLLLRRLRRLLLLRLRRRRLLLLRLLRRRLLLRLLRRRRLRLRLLLRRRRRLLRLLRRRRRRRLLRRLRRRLLLLRLLRRRRRLRLLRLRLLLLRLRLRLLLLRLLRLRRRRLLRLLRRRLLRLRLLLLRLLLRLLLLRRRLLRRRLLLLLLRRRRLLRLRLRLRLLRRLRRLLRLLLLLRRLLLRLLRLRLLLRLLRLLRLLLLRLRLRLLRLLLLLLLRLLRRLLRLRLRLLRLLRRLRRLLRRLRRLLRRRRRLLLLRRLLRRRLRRRRRLLRLRRRRLLRRRRRLLLRLRLRRRRRRLRRRRLRLLRLLRRRRRLRLLRLRRLRLRRRRLRRLRLRRLLRRRLRLRLRLLRLLLRLLRLRLRRRLLLRLLRRRLLRRRRLLLLLRLRRLRLRLLLRRLRRRRRLLRLRRRLRRRRLLLRRRRRRRLRLLLRRLRLRRRRRRRLRRRRLRRLLRRLRLRLRLLRRRRLLLLLRLRRLRLLRRRLLLRLRRRRLRLRRLRLRRLRLRLLLLRLLLLRLRLRRLRRRLLRLRRRRLLLRLLRRLRLRLRLLRLLLRLLRRLRLRRRRRRLLRLLLRLRLLRRLLLRLLLRLLLRLRRLRLRRRRRRLRRRLRLLLLLLRRLRRLRRRRRRRLLLRRRLRRLLLRLRLLLLLRLLRLRLRRLRLRRLLRLRLLRRLRLLLLLLLLLLLRRLLLLLRLRRRLRRLRRRLRRRRRLRRRRLLLLLLLRRRRLRRLLLRLRLLRRRRLLRLRLRLLLRLLLLRLLRLRRLRRRLLRLLRRRLRLRRRLRRRRLRLRLLLLLLLRRLLRRRLLRLLLLLRLLLRRRRRLRLLLRRRLRRLRLRLLRLLRLRLRLLRLLRLRRRRRLRRRRRRLLLRLRRLLLRRRRLLRLRLRLRRRLRLRRLLLLLLLRRRLLLRLRRLRRRRLRRLRRLRLLRRRRLRLRLRRLLLRRRRLRLRRRLRLLLLLLRLLLLLLRRLLRLLRRRRLLRRLLRLLLRRLRLLLLLRLRRLLLRLLRLRLRRLRLLRRRRLLLLLRLLLLLLLRLRRRRLLRRRLRLRLLRRRLLLLLLLRLLRRRLLRLRRLRLLRRRRRLLLLLRRRRLLRRLLRLRRLRRRLLRRLLRLLRRLLLRRRLRRLLLRRRLLRRLRRRLLLLLRLRRLRLRLLRLRRRLLRRRLRRLLRLRLRRRRLRLLLRLRRLRRRLLRRRRLLRLLLRRRLRRLLLRLRRLRRRLLLLLLLRLLLRRLLLRRRRLLLLRLLRLLLRLLLLLLRRLLLLRRLRLRLLLLRRLLLLLLLLRRLLRRRLLLRRLRRLLLLLLRRLLLLLLLLLLRLLRRRLRLRRRLLLRLLLRRRLLRRRRRRLLRLRLRLLRLLLRLRLRRLRRLLRLRRLLRRRRLLLRLRLLLRLLLLLRLLRLRLLLLLLLLLRRRLRRLLLRRLRLRLLLLLLRLRRLRLRRRRRRLLLLLLLRLLLRRRRLRLLRRLLLRLRRRRRLRRLRLRLLRLLLRLRLRLLLLLLLLRLLLLRLRRLRLRLLLLRLLRRLRRRLRRLRRRRRLLRRLRLLRRRLLLRLLLLLLRRLLRLRRRRRLLRLRLLLLLRRLRRLRRLLLLRRLRLRLLRLRRRLRLRRRLRRLLLLRLRLLRLRLRRLLLRLRRLRLRLLLLLLLLLRRRLLLRLLLRLLRRRLLLLRLLRLRLLRRLLRLRLRLLRRLRRRLRLRRRRRRRLRLLRRLRLRLLRRRLRRRRLRLRLRRRLLLLLLRLRLRLLLLRRLLLRLRRLRRLLRLLLLLRLLRLRRLRRLRLRRRRLLRLLLLLRRLLRRRLLRLLLLLLLRRRLRLRLLLRLRRLRRLLLLLRLRLRLRRLRLLLLLRLLRLLLLLLLLRRRRLRRLLRLRLLLLLRRRLRLRRRRRRLRRRRLLRLLRRLRRLLRRLLLLRRLLLRLRLLLRLLRRRRRRRRRRRLLRRLRRLLLRRLRLRLRLRRLLRRLLRRLRRRRLRRLLLRLRRRLRRLLLRRRRRLLRRLRLRLRRRLRRLLLLRRRLLRRRLLRRRLLRRRLRLRLRLLLLLRRLLLLRLRLLLLLRRLLLLLRLLLLRLRRLRRRLRLRLLLLLLLLRRLLLRRLRRLLRRRRRRRRRRLLRRRRRRRLRRLRRRRRLLLRRRLRRLRRRRRLLRRLRRRRLLLRLRRLRLLRLRRRRRRRLRRLLRLLRLLRRLLRLLLLLRLLLLRRLRRRRRLLRLRRLRRRLLLLRRLRRRRRLLLLLLRRRLRRLRRRLRRRRRRLLLRLRRRRRLRLLLRRLLLRLRLRLLLRRRRRLLRRRLRLRRRLRLLLLLRLRRLRLLRRLLRLRRRRRLLRLRLRRRLLLRLRRRRLLLLRRRLLRRLRLRLLRLLRLRRLLRRRLLLRRRRRRLLRLRLLLLRRLRRLLRLLRLLLRLLRLRRLLRRRRLLRRRLRLLLRLRLLLRLLRLRRLLRLLLLRRLLRLRLRLRLRRRRLRRLLRLLLLRRRLRRLLLLLLRRRRLRLRLRLLLLRRLLRRRRLRLRLRLRRRLRRLRLLRRRLLLLRRLLLLLLLRLRRRLLRRRRRLLLLRLLRLRRLLLRRRLRRLRLLLRLLRRLRLLRRRRLRLLRRLLLRRLLLRLRLLLLLLRLRLRRRLRLLLLRRLRRLLRRRRLRRRLRRLRRLLLRLRRLRRLLLRRRRLRRLLRLRLRLLRRLLRRRRRRLRLLLLRLLRLLRRLRRRLRRLLLLRRLRLLRRLRLRLLRRLRRRLLRRLRLRLLRRLRRRRLRLRLRLRLRLLRRRRLRLLLRLLRLRLLLRLRRRRLRLRLLRRRLLRRRLRLRLLRRRRLRRRLRLLLRRLRRLLRLRLLRLLRLLRRRLRRRLLLLLLLLRRRLRLRLLLLRLLRLRRLRLRLLLLRLLRLLRRRRLLLRRLLRRRLLRRLRRLRRLLLRRLRRRLLLLLRRRRRLLRRRRRLRLLLLLLRLLLLLRLLRRLLLRRLLLRRRRRLLLLRRLLLLLRRLRLRLRRRRRRRLLLLRRRLLRLLLLRRRLLLRRRLLRRLRRRLRRLRRRRRLRLRRLRLRLLLRRRRRLRRLLRLRLRRRRRLRRRRLLRRRRRLRLRLLLLLLRRLLRLLRRLRRLLRLRLRLRRLRRRRRLLLLLRLLLLLRLLLLLRRRRLLLLLLRLRLLRRRRRRLLLRRRLLLRRLRLRRLRRRRRRLRLRLRRRLRRRRLLRRLRLRLRLLLLRRLRRRRLLRRLRLRLLRLLLRLLRLLLLLRLLLRRLLLRLLLRLRRRLLRRLLLLRRLRRRRRLRLLRRRRLRLRRLLLRLLLRLLLRRRLRRRLLLLRRRRLRLLLRLLLRRLLLLLRRLRRRRRRRRLLLRLLRRLRRRRRLLRRRRLRRLLRLLRLRLLRLRLLRRLLRLLLRLRLLRLLRLRLLLRLRRLRLRRRRLRRRRLLRRLRLRRRRRLRLRRLRLRLRLLRRRLRLLRRRRRLLLLRRRRLRLRLRLLRRRLRRRRRRRRRRRRLRLRLRLLRRRLLLRRRLLRRRLLRLLRLRLLLRRRLLRRLLLLRRLLLRRLRRLRRRRLRLLRRLLLLRRLRLRRLLRLLLLLRLLLLRRLRLRRLLRLLLLLLLLLRRLLLRRRRLRRRRLRRLLLLLLLRRRRLRRLLRRRLLLRRLRRLRLLRRRLLRRRLRLLRRRRRRLLRRRRLLLLRLLRRRRRLRLRRRRLLRRLLLRLLLRRLLLLRLRRLLRLRRRLLRRRRLRLRLRLLLRRLLLLRRRRLLRLRRRRRRRRLLRRRRLLLLRRLLRRRLRLLLRRLRLRLLLRRRLRLRRLRLLRLLLRRLRRLRLLRLRLRRRLLLLLLRLRLLLRRRRLLRRRRLRLRRLLLLRLRRLRLLRLRRRLLRLRRRRRLRLRLRRLLRRRRLRRRLLRLRLLLLLRLRRRLLRRRRLRLRRLLRRLRRRLLRLLRRRLRLRRLLRLLLRRLRLRRLLRLLLLRLRRRRLRRLLLRRRRRRLLLRLLRRRLRLLLLLRRLLLLRRLRRLLRRLLRRRRRLRRRRRRLLRRLRRRRRLRLRLRLRLRRLLLLLLLRLRLLRLLLRRRRRLLRLRRRLRLLRLLRRRLRLRRRRLLLLLRRLRLRLRRLLRLRLLRRLLLLLLLLRRRRRLRLRRRLRLRRRRRLLRRLLRRLRLLRLRLLLRRLLRLRLRRLRLRRLRRRRLRRRLLLLRLRRLRRRLRRRRLRRLLRLLLRLRLRRLRLRRRLLLRRRLLLLRRLLLRRLRLLLLRRRLRLRRRLRRRRRRRLRRLLLLRRRRLLRLLLRRLLRRRRLLLLRLLLLRRRRLRRRLLLRRRLLLLLLRLLLRLLRLRRRLRLLLRLRLLRLLLLRRLRRRLRRLLRLRRRRLRRLLRRLLRRRRRLLLRLLLRRLRRLRRLLLLRLRLLLLRLLRLLLRRRRRRLRRLRLLRLRRRRRLRLRRRLLLRLLRLRLRLLLLRLRRLLRRRLLRRLLLLLLRLLLRRLLLRRRLRRLRLRLLLRRLLLRLRRRRRLLRRLLRRRRLLLRRRRLLLLRRRLLRRLLLRLRRLRLRLRLRRLLRLRLLLRLLRLLRLRRLLRRRLRLLRLRRLLLRLRRLRRRRLLRRLRLRRRLRLRRLRLRLRRLLRRRLLRLRRLRLLLLLRRRRRLLLLLLLLLRRRRLLRRRLLRRLRLRLLLRLRLRRLLLLRLRLRRRLLRLLRRLRRLLRLLLLLLLRLLLRLLLRLRLLLLRLRRLLLRLLRRRRRRLLRRLRLLLRLLRRRRLRRLRLRRRLLLLLRRLRRLLRRLLRRLLRLLLRLLLRRRRRLLRLLLLLLRLRRRRRLRRRLRRRLRLRLRRRRRLRLLLRRLLRRRRRLLLLRRLRRRRRLRRLLRRRLLRLLLLRLRLLRLLLRRRRRRRRLLLRLRLRRRLRRLRRLLRRLRLRRRLLRLRLLRRRRLLLRRRLLLRRLLRLRLLRRRRRLLLRRLRLRLRLRRLLRLRLRRLRLRLRRLLLLLLRLRRRLRRRRRLLLRLLRLRRLLRLRRRRLRRRRLLRRLRLRRLLLLLRLRLRLRLRRLRLLRLLLRRLRRLLLRLLLRRLLLRRLLRLRRLRLLLRLLLLRLLRRRLRLLRLLRRRLRLRLRRLRRRLLLRRRRLLRRRRLLRRRLRLRRLRLLLLLLLRRRRLRLRRRLLRRLLLRRLRLLRLLRRRLRRRLRLLLRRLLLRLRRLLRRRLRLLRRRLRRLLRLRRRLRLLRLLLRLLRRLRRLLLRRLRRRRLRLLRLLRLLLLLRLLRRRRRRLRRLLLLLLLLRLLLLLRLLLLLLLLRLRRRRLRRLRLLLRLLLLRLRLRRLRLLRRLLRRLLRLRRRLRRLRRLRRLLRLLRRRLLRLRRRRLLRLRLLRRLLLLRLLLLLLLRLRLRRLRLLLLRLRRLLLLRLLRLRRRRRLLRRLRLLRLRRLLLRLRRLRRLRLLRRLLLRRRRLLRRRRRLLLLLLRRLLLRRLRRLLLRLLRRLRRRLRRRRRLLRRLRLLLLLLRLLRLLLRRLRLLRLRRLLLLLLRLLRRRLRRRRLRLLRRRRRRLRLRRLLRLLRRLLRRLLRRRRRLLLLLRRLRRLLRRLRLLRLRLRRRLRLLRLLLRLRLRLLLLRLLRRLLLRLRLLRLRRRRRRLLLLLLRLRLRRRLRRLRRRLLRLRLRLLRRRLRRLLLRLLLLLLLLLRRRLLRLRRRRRRLRLLRLLRLLRLRLLRRRRRRLLLLRLRRRRLLLLRLLLLLLRRRLRLRLRLLRRLRLRRRRLRLLRRRRRLLLLLLLLLLRLRLRLLLLLLLRLLRRLLRLRRLRRRRLLLRRLRLLLLRLRRLRLLRLLRLLLRRRLLRRRLRLLRRRRRLRLLLRRRRLRRLRRRRLRRLLLLLRRRRRRRRLRRRLRLRRLLLRRRRLLLLLLRLRRRLLLLRLRRRLLRRLLLRRLRRLRRLLRLLLLLLLRRRLLRLLRLRRRLRLLRRRLRRRRRLLRLLRRRRLLRRRRRRLRRLLLRRRLLRLLLLLRLRLRLRLLRLRLLRRRRRRRRRRLLRRRLLRLLRLRRLRRLRLLRLLRLLLRLRLLLRRRLLRLLRRRLRLRLLRLRLRRRLLRRLLLRRLLLLLLLRLLRLRRLRLRLRRRRLRRLLRRRLLRLRRRLRRLRRRRRLRRRLLRLLRRRLRRRRLRRRLRLRLLRRLRRLLLLLLRLLRLRLRRRLRLLRRRRRRRRRLRLRRRRRLLLLLRLLLLRRRLRLLRRRLRRRLRRLLRLRRLRLLLRLLLRRLRLLRRRLRLRRRRRLLLRRRLRLRRRLLRRRRLLRLLLLRRRLRLLRRLLLRRRLLLLLRLRRRLLLLRLRLLRRLLLRLLLLRRRRLRLRRLLRLRLLLLRLRRLLRRLRLRRLRLRLRLLRLRLRRLLRLRLLLLLRRLRRRRLLLLLRRLLRRRRRLRRRLRRRRRRRLLRRRLRLRLRLRRLRLRLRRLLRRRLLRLLRLRLRRRLLRRLLLRLRRLLLRRRRRRRLRLLRLLRRRRRLLRRLLRLRLLRLRLLRRRLRLRRRRRLRRLLLLRRLRLLRRRLRRRLRLLRRLLRLRLLLRLRRRLRLLLRRLLLLRRLRLRRLRLRRLRLLRLRRLLRRLRRLLRRLRLLRRLLRRRLLRLRLRLLLLRRLRLRLRLRRRRLLLRRRRRLLRRLRLRRRRLLRRLLLLRLRRLRRLRRLLRLRLRLRLLLRRRRLRRLLRLRRLRLLRRLRLRLRLLLLLRRLRLRLRLRLLRRLLLRRRLLLLLLRLLLRRLRRLRRRLRLLRRLLRRLRRRRRRRLLRLLLRLRLLLLLRLLLLRRRLLLLRRLLRRLLRRRRLLLRLRRLRLRLRRLLLLLRRRLRLRLRLRLLRLLRLRLRRLRRRRRLRRLRRRRLLLRLRRRRLLRRLLLRLRLRLLRRRLLLRLLLLRRLRRLLRRRLLRRRRLRRRLRLRRRLRLLRRLLRLRLLLLRRLLRLLLRRLLLRLLLLLRRRRRRRLRRRRLLRLRRLRLRRLRLLLRRLRLRRRRRRLRLLLLLRRLLRRLRRLRRLRLLRLLRLRLLLRRLLLRLRRRLLRRRRRLRLLRLLRRRLRRLLRLRRRLRLLLRLRRLRLRRLLRLLRRRLRRLRLLRRLRRLRLLRRLLLLRLLRLLLLRRRRLRLRRRLLLLRRRLRLRLLRLLRLLLRRLRLRLRLRLLRRLLLLLRRRRRLLLLLRLRLRLRLLLRRLLLRRLLLRLRLLLRLLLLLLRLRLRLLLLRRLRRRRLRRLRRLRLLRRRLLLRRLLLLLLLRRLLLRRLRLRRLRRLRLRRLRLRLLLLLRLLLLRRLRLRRRLLLLRRRLLLLLRLLRRRRRLLRLRLRLRLLLRRRRRRLLRRLRLLLLRRRRRLRRLRRLRRLLLRLRRRLRRLRRLRLLLRLRLRLLRLRLRLRLLLLRLRRRLRRLLRLRRLLRLRLLRRRRLLRRRRRLRRLRRLLLLRRRLLLLRRRRLRLRLLRRRRLRLLLLRRRLRLLRRRRRRLLRRLRLLLLLRLRRRRLLLLRRRLRLLLLRLLLRLLLLRLLLLLLRRRLRLLLRLLLLRLRLRRRLRLRLRRLLLLLRLRLRRLRLRRLRLRLLRLRLRRLRLLRRLLLRRLRRLLLRRRLLLRLRLRRRRRRRRRRRLLLLRRRLLLRRLLLRLRRLRRLLRRLRLLLLLLLRLLRLLRLLLLLLLLLLRRLLRRRLLLLRRLRLLLLLLRRLLLRRLLRRLLLRLRRLLLLRLLLRLRLRLRLLRRLLRLLLLRLRRRRRRLRLLRRRRRRRRLLRRRRRRLRRRRLRLRRLLLRRRRLRRRLLRLRRRRLRRLLLLRRLRRRRLRRLRRLRLLRLRRRRRRLLLRRRLRLLRLLLLLLRLLLRRLRLRLRRRRRRLLRLRRLRRLRRLRLLRLRLRRRRRLLRLRLRRRLRLLLLRRLLLLRRRRLLLLLRRRLLRRLLLLRRRLRLRLRRRLRLLRLLLLRRRRLRLRRLLLRLLLLRLLRRRLRLLRLRLRRLRRRLRLRLRLLRRRRRRRLLRLLRLLLRRLRLLLRRRLRRRLLLLRRRLLRRLLLRRLRLRRRRLLLRRLLRRLRRRLLLRRRRLRLRRLRRLLRRLRLRLLLLRRLRRLLLRLLLRRRLRRLRRLLRLLLLRLRRRLLRLLLRRRLLRRRLRRRLRLLLLRRRRLLLRRLLRRRLRLLLRLLLRLRLLRLLLLRRRLLRRLLLLLRLRRRLLLLLRLLLLRRLLRRRRLRLRLLRRRRRLRRLRRLLRLLRLLRRLLRRLRRRLLRRRLRRRLLLLLRRRRLRRLLRRRRLLRRLRRRRRLRRLLRLRLRLLLRLRLRLRRLLRRLLLLRLLRLLRLRLRRRRLRRRLRLLRRRRLRLLRLRLLLRLLRLRLRLLRLLRRRRLLRRLLRRLRLLLRLLRRRLRRRLRLLRLLLLRLRLLRRLLLLRLRRRLLRLRRLRLLRRLLRRRRLLRRRLRRLRLRRLLRRLLLLRRRLLLLRLRRLRRRRRRRRRLLRRRRRLLLRRRLRLLLLLLRLLRLLRRLLLLLRLRRRLRRLLLRLLRLRLLLRLLLLRLLRLLLRLRRRLLLLLLLRRLLLLRLRRLLRLLLRLRRRRLRRLRLRLLRLRRLRLRLLLRLLLRRLRRLRRLLLRLLRRRLRRLLRRRRRRLLLRLRLRRLRRRRLLRLRRRRRRRLRRLRRLLRRLRLLLRLLLLLRRLLLLRRLRLRRRLLLRRLLLRRRRRLLLLLLLRRLLRLRLRLRLLLLLLRLRRLRLLRLLRRLLRRRLRLRRLRRLRLLRRLRRLRLRRRRLRRRLLRLRLLLLLLRRRRLRLRRRRLRLRRRLRRLLRLLRRRLRLLRLLRRLLLLLRRRRLRLRLLRLRLRRRRRRLLLRLRLLLRRLRLLLLRRLLLLRLRRLLRLRLLLLLLLLLRRRRLLLRRRRRRRRLRRLLRLRRLRRRLLRLLLLRLLRLRLLLLLRRRLRRRRRLRLLLRRRRLRLLLRLLRLRLLRLLLLRLLLRRLLRRLLRLLRRLLRLRLRLRRRLLRRRLRLRLRRRLRRRLRLRLRLRLLLRRRLRLLLLRRRRLLRLLLLRLRLRRRRRRRLRRRLLLRLLRLRRLLRRRRLRRLRLRRRLLLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRLRRLRRRLLLLRRLRRRLRRLLRLRLLRRRRRRRRLLRLRLLLLRLLRLRLRRLLRLRRLLRRRRLLLLRLRRLLRLRLLLLLLLRRRLRRLLRLLLLLLRRRRRLRLRRRLLLRLLRRLRRLRRRLLLRLLRRRLRRRRLRLLRRRLRRLLRLRRRRRRRLRLRLRLLLLRRLLRRRRLRRLLLLRRRRLRLLRLLLLRLRRLLLRRRLLLRRLRRRLLLRRRLRRLLLLLRLLRRRLLRRLLRLLRRLRLLLRLLRLRLLRLLRRLLLLRRRRLRRLRLRLRRLRRLRLRLRLRLLLRLLRRLLLLRLLLRLRLLRLLLLRLLLLRRRRLRRRLRRLRRRLLLRLLLLRRRLRRLLRRRRLRLRLLLLRRRRLRRLRRRLRRRRRRLLRLRLLLLRRLRRRRLRRRLRLRRRRLRLLLLRRLLLRLRRRRLLRLRRRRRRLRRLRRLLLLRRLRLLLRRLLRRRLLLRRLLLRLLRRLLRLLRRLLRRLLLRRRLLLRRLLLLRRLLLLLRRLRLLRLLRRRRRLRLLRLRRLLRRRRRLRLLRLRRLLRLLRLRRRRRRLLLLRLLLLLLLLRRRLRRRLRRRRRLLRLRLLRRRRLRLLLLRRLLLLRLRRRRRLLRRRRRRRRRRRLLLRRRRRLRRLRRRLRRLLRRLLLLLRRLRLLRLLRRLLRLLRRLLRLLRRRLRLRLRRRLRRLLRLRRLRLRRRRRRLRLLRLLRRRRLLRLRLRRLRLLLRLRRRRLLLRRRRRRRRRLRLRRRRRRLLLLRLRLRRLRRLRLRLLLRRLLRRRRRRLLLRLLRLRRRRLLRLLLRRRLRLRRLLRLRLRLRLLLRLRRRRRLLLRRRLLRLLRLRLLRRRRLLLLLRRRLRRLRRRLRRRRLLLRRLRRLLLLRRLRRRRRLRRLRLLRRRRLLLLRLRRLRRRRRLRLLLLRLRLRRRRRRRLLRRLLLRRRLLLRRLRRRRRRLRLLLLLRLRRRRRLLLRLRRLRLLRLLLRRRLLLRLRRRRLRLRLLRLLLLLRLLLLLLLLLLLRLLLLLRLLLRRRLLLLRRLRLRRLLLLLLLLLLLLLRLRRLLRRRLRRLRLRRLRRRLLRLLLRLLLRLRRLLRRLRRLRLLLLLLRRRLLLLRRRLRRLLLRLLLRLLRLRRLLLLRLLLRRLRRRRLLLLLRLRRRRLRRLLRLRRRLLRRLLRLLRRRLLRLRRRLRLLRLRLRLRLRRLRRRRLRRLRRLRRRLRRLLLRLLLLLRRLRLLRLLLRLLLLRLRLRRRLLRLLRRRRLLLRRRLRRLLLRRRRRRLRLRRLRLLLLLRRRLLRRLLRLLLLLLLLRRRRRLRLLRLLRLLLLLRRRRLLRLLLRRRRRLRLRLLLRLLRLRLLLRLLRRLLRLLRLLLRRRLRLLRLLRLLRLLLRLLLRLRLRRRRLLRRRRLRLRLRLLLRLRRRRRRRLLRRLLLLLRLRLLLLLRRLRLRLLLRRRLRLLLRRRRRLLLRRLRRLRLRLLRRLRLLRLLRLLRRLRLLLLLRLLLRLRRRLLLRLRLRLLRRRRRRRRLLRRRLRLRRLLRRRRLRLRLRLRLRRRRRLRLLRLRRLLRRLRLRLRRRLLLLRLLRRLLRRLLLRRLRRLRRLRLLRRRRRLRRRLRRLLLRLLLLRLRLRLLRLLLRRRLRRLLLRRRRLLRLRRRRRLRLRLLRLLRLLLRRRRLRLRRLLRRLLLLLLRRLRRRRRLRRLRRLLRLRLRLRLRRRLLRLRLRLRRRLRRLRLRLLLLRRLLLLLRLLRRLLRLRLLRRLRRRRRRRLRLLRLLRRRLLLLLLRLRLLRRLRRRLRRLRRLLRRLRLRLLLRLRLLLRLLLRLLLRLRLRLRLRRRLLRLRRLLRLLRRRLLRRRLRRLLRLLLRRLRLLLRLLLLRLLLLLRRRRLRRLLLRRRLRRLRLRRRLRLRRLRLLLRRRRLLRRLLLRLLRRLLRRLLLLLRLLLLRRLRRLRRLLLRRLLRRRRLRRRLLRLLLLRLLLLLRLLLLRLRLRRRLLRRRLRLLLRRRLLLRLLLLLRRLRLLRRLRRRLLRLLRRRRRRLLRLRRRLLLLRRLRRLLLRRRLRRRRLRLLRLLLLRLLLLRRRRRRRLRLRLRRRLRLRLRRLRLRLRRRRLLRLRLLLLRRLLLRRLLRLRRLRRLRRRLLRLRLLRRLRLLRRRLRRRLLLRLRLLRLRRLRLLRLLRLLRLRRLLLLLRLRLLRLRRLLLRRLRRLLRRLRRLRLRLRLLRRLLLRRRRRLLRLRRRLRLLLRRLLLRRRRLLRRLRLLLLLRLRLRLRLRRLLLLLRLRLRLLLLLLLLLRRLRRLRLLRRRLRLRLRRRRRRLLRRLLLRRRLLLRRRRLRRRLLRRRLLRRLRRLLLLLLLLLRLRRLLRRRRRRLLLLRLLLRLLLLRLLLLRLRLRRRRLRRRLLRRLLLRRLLRRLRLLRLRLLRRLRRRLLRRRRRLLRLLLLRLLRRRRLRLRLRLLLRLLRLLRLRLRRRLRRRRLRRLRRRRLLRRLRRRLRLRLRLRRRLRLRLRLLLLRRRLRLRLRRRRLLLLLLLLLLLLRLLRLRLLLLRRRLRLRLLLLLLRRRRLRLRLLRLLLRRLLLRLLLRLLLLLLLLLLRLRRLRRLRRRLLLLRLRRLRLLRRLLLRLRLLLRLLRRRLRRLRLRLRRRLRLLRLRLRRLLRRRRLLRLLLRRLRRRLRRLRRRRLLRLRLLLRRRLLRRRRLRRRLRRRLLLRLLLLRLLRRRRRLRLLLRRLLRLRLRLRRLLRLLRLLRLLRRRLLLRRLRLRRRLLRLLRRLRLRRLRRRLLLRRLRLLLRRRLLRRRLLRRLRRLLRLRLLRRLRLLLLLRRLRRLRLRLRLRLRRRRRLLLLRLLRLLLLRLLLLRLLLLRLRRLLLRRLLRLLRRRRLLRLRRRLLLRLRLLLRRRLRRRLLRRRLRRRLLLRRLRRRRLRRLLRRRRLRLLLRLRRLRLRLLLLLRLRLRRLRRRRLLLRRLRLLLLLRLRLRLRRLLLLLLLLLRRRRRRLRLRLRLLRLRRLLRRLRLLRLLLRLRLLRLRRLLRLLRLLRRLLLRRLLLRRLRLLRRRLRRLLLLRLLRRLLLLLRLRLRLRLLLLLLRRRRRLLLLRLLLRLRRLLRRRLRLRLRLLRLLLLRLLRLLLRLRRRLRRRLRRLRRRLRRRRRRRLLRRLLLLRLRRLRLRLRLRRLLRLRLRLLLLRLRRRRRLLRLRLRLLLRRRLRRLLRLRRRRRRLLLRLRRRLLLLLLRRLLLLRLRLRRLRLRLRRLRRLRRRLLRLRRRRLRLLRLLLRRLLLRRLRLRLRRLLLRRLRRLLLLLRRLRLRLRRLLLLLRLRRRRLRRLRLLLRRRLLRLLRRRLLLRLRRRRRLRLLLRLLLLLRRLLRLLRRLRLRLRRLRLLLRRRRRRRRLLRLRLLRRRLRLLRRLRLLLRRRRRLRLRLLLRRRRRLLLLLLLRRRLRRRLLRRLLRRLLLLLLLRRRLLRRRLLRRLLLLRLRRLRLLRLRRRLRRLRRRLRLRRLLRLLLRRLLRLLRLRLLLLLLLLRLRRRLRLLLLRRRLLLRRLRLRLLRRLLLLRRLRRRRLLLLRRLLRLLLLLLLLRRRLRRRLLLLLLRLLRLLRRRLRRLLRLRRLRLRLRRLLLLLLRLLRRRLRLRRLLLLLLLLRLRRLRRLLRRLRRLRLLRLLLLRRLRLRLLLRLLRRLLRRLLRRLLRLRRLRLLRLRRLRLRRRRLLRLLRLLLLRLRRRRRLLLLLRRRRRRLRRLLRLRRLRRRLLLRLLRRRRLRLLRLRRRRLRLLLLLRRLRRRRRLLRRRRRLRLRLLRRRLRRRLRLLRRRLRRLRRRLRRRRLLLLLRLRLLRRRRRRRLRLRLLRLRLLLRRRLRLLRLLRLLLRRLRRRRRRRLRRRLLLLLRRRRRRLLRRRRRLLRRRRLRLLLRLRLRLLLRLRLLRLRLRRRLLLLRRRRLLRLLRLLRLRLRLLLRRRRLLRLRLLLLRLRLLRLLLRRRLRLRLRLLLRRRRLLLRLLRLRLLLLLLRLRLLLLLRRRRLRRRLLLRRLLLRLRRLLLRLRLLLRLLRLRLLLRRLLRLLRRRRRRRRRLRRRRRRLLLLRRRRLRRRRRLRLRRLLLLLLRRLRRLRLLLRLRRRRRRRRRRRLLRLRLLRLRRLRLLLLRLRRRLLLRRRLRLLLRRRLRLLRLRRRLRRRRLLLLLLRLRLRRRLRRRLRLRLLRRLLLRRLRLLRRLLRRRLLRLRLLLLRLLLLRRLRLRLLRLLLLRRRLLRRRLLRLRRRRRLRLRRLRLLLRRLLRRRRRRLLRLLRLRLRLLLRRLRRLLLLRRRRLLRRRLLRLRLLRRRRLLRLLLLRRRRLRRLRRRLLLRRLLRLLRLLLRRLRRRRRLLRRRLLRLRLRRRRLLLLLLRLLRLRRRLRLRRRRLLLLLLRLRLRRLLRRRLLLRLLLRLLRLRRRLRRLRLRRLRLLLLRRRRRRRRLRLRRRRRRLLRLLRLRRLRLLRRRRLRRRRRLRRLRRLRLLLRRRRRLRLLRRLRLRLRLLRLLLRRLRLRRRLLLRLRLRLLLRLRLRLRLRRRLLRLLLLLLLLLLLLRLRRLLLRLRLRLLRRRRRRRLLLRRRLLLLRRRLLRRRRLLRRLRLLRLLLLLRLRLLLRLLLRRRLRRRLRRLLRRLLRRLLRLLRRRRRRLRLLLLLLRRRRLRRLRLLRLRRRLLLLLLRLRRRRLRRRLRRRRLRLRRRLLLLLLRRRLRRLRRRLLRLLLRLLLRLRRRRLLLLLLRLLRRLLRRRRRRRRRLRLRLLRLLLLLRRLRRLRRRLRLRLLRRLLLLLLRLLRRRRRLRLRRLLRRRRLLLLRRRLRLLRLLRRLRRLRRLRRRLLRLRRRRRLLRLRLRLLLRRRLLLRLLRLRRRLRLLRLLRLLRRLLLRRLRRLRLLLLRRLRRLRRRLLLLLLRRLLLRLLLLLRLRLRLLLLRRLRLLLLRRLRRRRRLLLLLLLRLLLLRLRRLRRRRLRLLRRLRRRRLLLRRLLLRLLLLRRRRRRLLRRRRRLRLLRRRLRRRRLLRRLRRLLLRLRLRLLRLRLLLLRLRLRRRRLLRLLLLLLLLLLRRRRLRLRLRLRLRLRLRLRRLRLLLRRLLLLLRLLLLRLLLLLRLRLLRLLRLLRRRRLRRRLLRLRLRRRLLLRLLLLLLLRLRLLRLRLRLRLRRLLRRRLLRLLRRRRRRRLRLLRRLLRLLLLRLRRRLLRLLLRLLLLRRLRRLRLRRLLRRLRRRLLRRRLLRLRRLLRLLRLLRRLRRRLRLLLLLLLLLLRLLRRLRLLLLLRLRLLRRLRLRRRLRLRLRRRRLRRRRLRLRLRLRLLRRLRRLRLRRLLRLRLRLRRRRLLRLRLRLLLRRRLLLRLLLRLRRRLLLRLLRRRRLLLRLRRLRRRRLLLLRRRRLRLRLRRRLLRRRLLLRRRLRRRLRLLRRLRLLRRRRLLRRLLRLRRRLRRLRLLRLRLRLRRLRLRLLRRLRLRRLRRRLRLRLLRLLLRRLRLLLLRLLRLLRRRRRRLLRRLRLRRLLRLRLLLRLLRLLLRLLLLRRRRLRLRLLLLRLLLLRLRRRRRRRLLRRRLRLRRLRRLLRLLRRRLRRLLLRRRRLRRRLRRLRRLRLRLLRRRRRLRRLRRLLLRLRLRLRLLLRRRRLLRRLRLLLRLRRRLLRRRRRLRRRLLRLRLLRLRLRRLLRRRLRRRRRRLRLRRLLLRLRLRRLRRRLLRLRLRRLRLRLLLLLLRRRRLLLLLRLLLLRLLLLRLLLRRRRLRRLLLLRRLRRLRLRLLLLRLLRRLRLLRLRLLLRRRRLLRLLRLLRRRRRLRRLLLRRRLLLLLRRRLLLRRLRRLLRLLLLLRLRLRRRRRRLRRRLLRLLRRRLLRRLRRLLRLLLRRRLRRRRLLRRRRLRLRRLRRRLLRRRRRLRLLRRLLRLLLRRRRLRLRLRLRLLLRRLRRRLLRLRRLLLLLRLLRLLLRRLLLRLLLLLLLLLRRRLLLLRRRLRRRRRRRRRLLRLRRRRLRRRLLLLLRLLLLRLRLRLRRLLRRLRRRRRRLRRLLRLRRRLRRLRLRRLLLRLLLLLLRRRLRLRRLRRRLRRLRRRLLLLRLLLLLLRLRRRLLLLRRLRRLLRLLLRRRLRRLRRLRRLLRRRRRLLLRRLLLLRLRRRLRRLLRLRLLRLRLLRRLRLRLRRLRLRLLLRLRLLLRRLLRLLRRLRRLRLRRLLRLRRLRLLRRRLLLLLRLRLRLLRLRRLRRLLLRRRRRRRLRRLRLLLRLRLRRLLLLRRRLLLLLRRRRRRRLRLRLRRRLLRRRRLRRRLRRRLRLLRRLRRLRLRLRRRLRLLLLLLLLLLLLRLLRLLLLLLRLRRRLRRLRLRRRLRLRRRLRLLRLRLLRLRLRRRRRLLRLRLRRLRRLRRLRRLLLLLRRRLRRRLLLLRRLRLLLRLRRLLLRRLLRRLLRLLRRRLRLLRRLLLLLRRRRLRLRLLLRLLLLLRLRRRLRRRLRRLRLRLRLRRLRLRRRRLRLRRRRLLRLRRRRRLLRLRLRLLLLLLRLLLRLRRLLLLRRLLLLLRLRLLRLLRLRRRLLRLRLRLRRLRRLLLRRLLRLRRLRRLRLRLLRRRRLLLLLRRRRLLRRLRLRLLRLRRRRLLLRLRLLLRRRRRRLRLLLRLRRRLRRRRRLRLRRRRRLLLLRLRLRRLRRRLLLLRRLLRLRLLRLLRRLLLLRRLRRRLRLLLLLRLRLLLLLLLLRRLRRLRRRRRLLRLLRRLLLLLRRLRRRLRRLLRLRRLLRLRRRRLLRRLRLRRLLLRRRLLRRRRRLLRRLLRRRRRLRLLRRRRRRLRRRLRLRLRLRRLLRLLRLRRLLLLLLLRRLLRLRLLRLLLRRLLRLLRRLRLLRLLLLRRRRLLLLLLLRRLRLLLLRLLRLLRLRRLLLRRLLLLLLLLRRLLRRLLRRLRLLLRLRRRRRLRRRRRRRLLRLRRRLLLRRLRRLRLLRLLRLLRLRRLRLRLRLLRRRLLLRLLRLLRRLRRRRLRRLLLLLLRRLRLLLLLLRRRRLLRRLRLRLLLRRRRRRRRRLLLLRLLLLRRLLRLRRLLRLLLRLRLLRLRRRRLLLLRRRRLRRLLLLLLLLLLRRLRRRLLRLRRRLRRRLLLLRLRLLLLRLLRRLRLLLLLRLLRRRRLRRLLRRLLRRRRRLLRLRLRRLLRLLRRLRLRLRRRRLRLLLRRLRRLRLRLLRLLLRLLRRRRLRLRRLLRLRLLLRRRLLRRLLRLRLRLRLRLRRLLRRRLRLRRRRRLRRRRRLRRLRLRLLLLRRRRLRRRRLRRLLLRRLRLLRRRLLRRLLLLRLRLLRLLLLLLLLLLRRRLLRLRRLLRLRLRLRRLRLRRRLRLRRRRRLRLRRLLRRLLLLRRLLRLLLLLRLLLLLLLRRRRRLRLRLRRLLRLLRRRLLRRRLRRRLRLLLRRLLLRLLLLLLLRRRRLRRLRRLRRLRLRRRLRRLLLLRRRLLRRRRRLRRRLRLRLLRRLLRLRRLRLLRLRLRRLLRRLRLLRLRRRLRLLRLRRLLRRLRRLRRLRLRLLLRLLLRRRRLRRRRLLRRRRLRLRLRRLLLRLLLRRLLLLRLRRRLLRRLLRRRRLRRLRRRLRRRRLRRRLLRLRRRRRLRLLLRRRLRRRRLRRLLRRRRLLLLRRRLLLLLRLRRLLLLRRRRRRLRLLLLRRLLRLLRRLRLLRLRRRRRRLRRLLRLLLRRRRRRLRRLLRLLLLRLLLLRRRRRRLRLLRLLRLRRLRLLLLLLRLLRRLLLRRRRRRRRLRRRRRRRRRRRLLLLRRRLLRRLLRRRLLLLLRLRRRRRLLRLRRLLRRRRRLRRRRRLLLLLLLRRLLRRLLRRLLLLLRLRLRRLLLLRLRRRLLLRRLLRLLRLLRRLLRLLLLLLRLLLLRLRLLLRLLRRLRRRLLRLRLLRRRLRLRLRRRLLRRRRRRRRLRLLLLRRLRRRLLRLRLLRLRRRRRLRRRLLRLLRRLRLRLRLLRLRLLLRLLLRRLLRRLLRRRLRRRRRRRLLRRLLLRLRLRRLRLRLRRRLRRRLLLRRRRRLRLRRRRLRRRLRRLRLRRLRLLRRRLRLLRRLLRRLRRLLLRLRLRRRLLLRLLLLRLRLRLLLRRRRRLRRRLLLRRRLRLRRRRRRLLLLRRRLRLRRLLRLLRLLRRLLLLLRRLRLRRLRRRLLLLRLLLRRLLLLLRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLLLLRLRLRRRRRLRLLLRRLRLLRRRRRLLLLLLLRRRRLRRRLLRRLRRRLLRLLRLLRRLLLLRRRRLRRLRRLRLRRLRRRRLLLRRLRRRRRRRLLLLLLRRLRLRRRRRLRRLLRLLLLLRRRRLRLRLLRLRLLLLRRLLRRLLRLLRLRRLLLRRLRLRLRRRRLRRRLLLLLLLRRLRLLLLRRLRRRRRRRRRLRRRRLLRRLLLRLLLLRRLRLLLLRLRRRRLLLLLRLRLRRRRLRLRLRRRLRRLRLRLRRRLRLRRRLLLRLRLLLLRLRRRLLRLRLLLRLRRRRRRLLLRRRLRRRLLRRRRLRRRLRLRRLLLRRLLLRLLRLRLRRLLRRRRRLLRLLRLLLRLRLRLRLLLLRLRRLRLLLLRRLRLLLRRRRLRRRRLLRRRRLLLLRRLRRRLLRLRRRRLLRRRRRLRLLRRLRLRRLLLRLLRRLRRRLLRRLRRRLLRRLLLRRRLLRRLLRRRLLRLRRLLRRRLRRLLLLRRRLLLRRRLLRRLLRLLLLLRRRRLLRLRLRRRRRLLRRLLLRRLLRRLLRLRRLRLLLLRLLLLRRLLLLRRRRRRRRRRRLLLRLLLLLLLRLLRRLLRRLRRRRRLLRLRRRRRLLLLRRLLLLLRLLLRLRLRRLLLLRLLRRLLRRLRRLLLRLRLRLRLLRLLRRRRLRRRLLLLLRRLLLRLRRRLLRRRLRRLRLLLLRLRLLRLRLRLRRRLLRRRRRRRRLLRLRRRLRLLLLRRLRLLRLRLRLRLRLLLLLLLRRRLRLLLRRLLRRRRLLRLLRRLRRLLLLRRRRRLLLLLRRRLLLRLLRRLRRLRRLRLRLLLLRRLRLLRLRRRLLLRRRRRRLRLRRLRLLRRLRRRLRRRLRLLRLLRLLRLRLLLLLLRLLLLRLLRLRRLLRRLRLLLLRRRLLRRRRRLRLRRLRRLRLRRRLLRRRRLLRLLLRLRLLRRRLLRLLLLLRLRRRRRLLRLLLLLRRRLRLRRRRRLRRRLLLLLRRRLLRLRLRLRRLLRRLRLRRRRRRRRRRRLLRRRRLRRRRRLRRLRRLLLRRLRRRRRRLRLLLLRLRRLRLRLLRRLRLRLRRRLLRLRRRRRRRRRLLLRRLLRLLRRRRRRRRLLLRRRLLLRRLRRRRLRLRLRLRRLLRRRRLRLLLRRLLRLRLRRRLLLLLLRLLLRRRLLLRLRLRRLRRLRLRRLRLRRRLRLLRLLLLRRLRRRLLRRLLRLLRLLLLRLLRRLLRRRRLLRLLLLRRRRLLRLLRLLLLLRRLRRLRLLRRRLRLLLLRLLRRLLRLRLRLRRRLLLLRLLRLRRRRRLLRRLRRRLRLLLLRRRRRLLRRRRRLLLLLRRLRLRRLRLLLLLLLLLLRRRRLRLRRRRLLRLRRRLRRLRLLRLRRLRRRRRLRRRLRRRLRLRLLRLLRLLLLLLLLLRRRRRRRLLLLLRRLLLRRRRRRRRRRRRRLLRRRLRRRLRLRLRRRLLRLRLRRLLRLLRLRRRRRLRLLLLRRLRRLRRLRLRRRLLRLRRLLLLRRLRRRLRRRRLLRRLLRLLLLLLLRLLLLRLLRRRLLLRLRRRLLLLLRRLRLLLLRRLLRLRLLRRRLRLRRLLRRLRRLLLLLLLRLRRLRRLLLLLLRLRRLRRLRLRRRLRRRRLRRLRRRLLRLRRRRLLLLLRRLRRRRRRRRRLRRLRLLRRRLLLLRLRLLLRLLRRRRRLRLRLLLLLRLLRLLRRLLRRLRLRRLRRRRRLRLLLLLRLLRLRRLLRRLLRRRRRLRRRLRLLRLLRLLRLLLLLLLRLRRRLRLLLRRRRRLLRLRRLRRRRLLLLRLLRRLRLLRLRRRRRLRRRLLLRRRRRRRLLLRLRLLLRRRLLLLRLRLLRLRRLLRRLLRRLRRRLLRLRRLLRRLRLLRLRRLLLLRLRLRLLLRLLLRLRLLLLRRLLRRRRRLRLLRRLLLRRLRRLRRRLLLRRLRLRLRRLLRLLRRRRLLLLLRLRLLRLLLRLLRLRLRRRRLRLRRLLRRLLLRRRLLLLRLRRRLLLRRLRRRRRRRLRRLLRLRLLLLRRRLLRLLLRRLLLLRLLLLRLLLLRRRRRLLRRLLLRLLRLRRRLLRRRLLLLRRLLRLRRRLLLRLRRLLLLLLLRLLRLRRLRRRRRRLLLRRRLRRLLLLLLLRLLRRLLRLRLLRLRLLRLRLLLLLLLLLRRLRRLRRLLRLLRLRRLLLLLRRRRLRRRRLRLLRRRLLLLLRRLLLLLRLRLRLRRLLRLRLLLLRRLRRLLLLLRRRLLLLLLLLRRRLRLRRRLRRLRRRLRLRLLRRRRRLRLRLRLRRRRRRRLLLLLLLLLRLLRLRLRLLLLRRRLLLLRRLLLRRRLLLLRRLRRRLLRRRLLLLLRRLRRRRRRLLLLLLLLLLLLRRRRLRRRLLRRRRRLRRRRRRLRLLRLLLLRLLRRRRLLRLRRLRRLRLLRLRRRLLRLLLLRLRRLRRLRLLRLLRLRLRLLRRRLLLRLRLLLLRLRRRRLLRLLLRRLLRRLRRRLLLLLRLRLRRLLRRRLRRRLRRLLLLLRLLLLLLLRRLRRRRRRRRLRLLLLRRRRRLLLLLLRRRRLLRLLRRLLLRRLRRLLLRRRRRRRLRRRLRLRLRRLRLLRLLRLLRRLRRLRLLLLRLLRRRRLRLRLRRRLLLLRRLRLRLRLRLRRRLLRLLLLRRLLLLRLRLRRLLRLLRRLLRLLLRRRLLRRRRRLRRRRRLRRRLLRLLLRRLRRRRLLLRLLLLLRLRLRLLLLRRLRLRLLLRLRRRRRLLRLLRRRRLLRRLLLLRRRRRLLRLRLLLLRLRRRLLLRRRRLLLRRLLLRRLRRLRRRRLLLRLLRRRRRRRLLRLLLLRLRLRRRLLLRLRLLRRRRRRLRRLLRLRLLRRRRRRLRRRRLRLLRRLRLLRLRRLRLRRRRRLLRRLRLLRLLLLLLLRLLLLRRLLRLLRLRRRRRLLLLLLRLRRRLLRLRLRRRRRRRLRLRRLLLLLLLRLRLLRLRRLLLRRRLRRLLRRRRRRLLLRLLRLRLLRRLLRLLRRLLRLLRLRRRRRLLRRRLLRLLRLLRLRLRRRLLLRRLLRRRRRLLRLLRRRLLRLLLRLLRLLLRRRLLRRRRRRLLLLLLRRRLRRLLRLLRRLLRLLRLRLRRLRLLRLLRLLRRLLLLRRLLRRLLLLRLRLRLLLLLRRLLRLRLLLLRLLRLRLRLRLRLLLRRRRLLLLLLRRLRRRRRLLRRRLLLRRRLLRRLLRRRLRRLLRLLLRLLRLRLLRLRRRRLRRLRLRRRLLRLLRLLLRRLLLLLLLRRLLLLRLLRRLLLRLRLLLRRRLLLRLLRLRRRLRRRRLLLLRRRRRLRLLRLLLLRRRRRLLLLRLRRLLLRLLRRLLLLLLLLRRLRRRLRLLRLLLRLRRLRLLLLRLRRLLLRLLLRLRRLLLRRLLLRLRLLRRLRRRLLLLLRLLLRRLLLLRLLRLRRRRLLLRLRLRLRLLRLLRRRRLRRLRRRRLLLRLLLRRRLLRRLRLRRRRLLRRLLRLLLRLRLLLRRRLRLLLRRRLRRRRRRRRRLRLRRLLRLRRRRLLLRRLRLRRRRLLLRRRRRRLRLLLRRRRRLRRRLRRRLLRRRLLLLLLLRRRRRRLRRLRLRLLRLLLLLLLRRLRLLRRRRRRLRLRRRLLLRRLLRRRRLRRRLRLRRLLRLRLRLLLLRLLRLRRRLRLRRRRRLRLLLRRLLRRRRRRRRRLRLRRLLLRRRRLLLLRLLRRLRRRRLLLLLRRRLLRRRLLLLLRLRRRLRLLLLLLRRRLRRLRLLLLRRLRRRRRLRRRLLRRLLLRLLLLRLLLLLRLRLRRLRLRLLLLLRRLLRLLLRLLRRLLLLRLRRRRRLRLLRR
